summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-07-11 09:21:42 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-07-11 09:21:42 -0300
commit68bbd16e228ad453736f552dc2b15c3be76cd1db (patch)
treec7016052989d601ccbe8753d14b1380a44e480fd
parente99d7c51671fbbbc61348296a23ebc335c2693e9 (diff)
parentb44e3e7f16abe5e4cb428571db65d300b7cc44be (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community/mingw32-pthreads/PKGBUILD community/tesseract/PKGBUILD extra/xorg-server/PKGBUILD
-rw-r--r--artistic/blender-spacenav-libre/PKGBUILD81
-rw-r--r--artistic/blender-spacenav-libre/blender.install13
-rw-r--r--artistic/blender-spacenav-libre/ffmpeg-0.11.patch434
-rw-r--r--artistic/libspnav/Makefile.in.diff19
-rw-r--r--artistic/libspnav/PKGBUILD24
-rw-r--r--artistic/spnavcfg/PKGBUILD20
-rw-r--r--community-staging/bitcoin/PKGBUILD60
-rw-r--r--community-staging/bitcoin/bitcoin-qt.install11
-rw-r--r--community-staging/freeorion/PKGBUILD105
-rw-r--r--community-staging/freeorion/freeorion.install13
-rw-r--r--community-staging/freeorion/freeorion.sh143
-rw-r--r--community-staging/gigi/PKGBUILD80
-rw-r--r--community-staging/schroot/PKGBUILD71
-rw-r--r--community-staging/schroot/arch32-config11
-rw-r--r--community-staging/schroot/arch32-copyfiles7
-rw-r--r--community-staging/schroot/arch32-example10
-rw-r--r--community-staging/schroot/arch32-mount12
-rw-r--r--community-staging/schroot/arch32-nssdatabases6
-rw-r--r--community-staging/schroot/pam.d.schroot.patch15
-rw-r--r--community/ejabberd/PKGBUILD13
-rw-r--r--community/ejabberd/ejabberd2
-rw-r--r--community/ejabberd/ejabberd.install3
-rw-r--r--community/gtkdatabox/PKGBUILD13
-rw-r--r--community/isomaster/PKGBUILD13
-rw-r--r--community/isomaster/isomaster-1.3.9-asneeded.patch14
-rw-r--r--community/klavaro/PKGBUILD4
-rw-r--r--community/leptonica/PKGBUILD20
-rw-r--r--community/lrzip/PKGBUILD8
-rw-r--r--community/mingw32-pthreads/PKGBUILD25
-rw-r--r--community/minidlna/PKGBUILD13
-rw-r--r--community/minidlna/ffmpeg-compat.patch50
-rw-r--r--community/nsd/PKGBUILD8
-rw-r--r--community/tesseract/PKGBUILD7
-rw-r--r--core/dialog/PKGBUILD6
-rw-r--r--extra/mpg123/PKGBUILD8
-rw-r--r--extra/xorg-server/PKGBUILD11
-rw-r--r--libre/blender-libre/PKGBUILD74
-rw-r--r--libre/blender-libre/ffmpeg-0.11.patch532
38 files changed, 1553 insertions, 406 deletions
diff --git a/artistic/blender-spacenav-libre/PKGBUILD b/artistic/blender-spacenav-libre/PKGBUILD
new file mode 100644
index 000000000..2c11b4d30
--- /dev/null
+++ b/artistic/blender-spacenav-libre/PKGBUILD
@@ -0,0 +1,81 @@
+# $Id$
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=blender
+pkgname=blender-spacenav-libre
+pkgver=2.63a
+pkgrel=2.1
+epoch=4
+pkgdesc="A fully integrated 3D graphics creation suite, compiled with spacenav (without nonfree cuda-toolkit support)"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+url="http://www.blender.org"
+depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils'
+ 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew'
+ 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada'
+ 'openimageio' 'libsndfile' 'jack' 'libspnav')
+makedepends=('cmake' 'boost')
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}" "${_pkgname}-libre")
+provides=("${_pkgname}=${pkgver}" "${_pkgname}-libre=${pkgver}")
+options=(!strip)
+install=${_pkgname}.install
+source=(http://download.${_pkgname}.org/source/${_pkgname}-${pkgver}.tar.gz ffmpeg-0.11.patch)
+md5sums=('31a60b3ce5466d965cb7e2648995e092' '9e5649403e51654615d30b10bc460217')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch
+ sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h
+ sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c
+
+ mkdir build
+ cd build
+
+ [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD=OFF"
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DWITH_INSTALL_PORTABLE=OFF \
+ -DWITH_PYTHON_INSTALL=OFF \
+ -DWITH_OPENCOLLADA=ON \
+ -DOPENIMAGEIO_ROOT_DIR=/usr \
+ -DWITH_GAMEENGINE=ON \
+ -DWITH_JACK=ON \
+ -DWITH_PLAYER=ON \
+ -DWITH_BUILTIN_GLEW=OFF \
+ -DWITH_CODEC_FFMPEG=ON \
+ -DWITH_CODEC_SNDFILE=ON \
+ -DWITH_CYCLES=ON \
+ -DWITH_CYCLES_CUDA_BINARIES=OFF \
+ -DWITH_FFTW3=ON \
+ -DWITH_MOD_OCEANSIM=ON \
+ -DPYTHON_VERSION=3.2 \
+ -DPYTHON_LIBPATH=/usr/lib \
+ -DPYTHON_LIBRARY=python3.2mu \
+ -DPYTHON_INCLUDE_DIRS=/usr/include/python3.2mu \
+ $ENABLESSE2
+
+ make $MAKEFLAGS
+
+# cp -rf "${srcdir}/${_pkgname}-${pkgver}"/release/plugins/* \
+# "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/
+# cd "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi
+# chmod 755 bmake
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+ python -m compileall "${pkgdir}/usr/share/blender"
+
+# install plugins
+# install -d -m755 "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture}
+# cp "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/sequence/*.so \
+# "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/
+# cp "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/texture/*.so \
+# "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/
+}
diff --git a/artistic/blender-spacenav-libre/blender.install b/artistic/blender-spacenav-libre/blender.install
new file mode 100644
index 000000000..724bfce00
--- /dev/null
+++ b/artistic/blender-spacenav-libre/blender.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/artistic/blender-spacenav-libre/ffmpeg-0.11.patch b/artistic/blender-spacenav-libre/ffmpeg-0.11.patch
new file mode 100644
index 000000000..45144140c
--- /dev/null
+++ b/artistic/blender-spacenav-libre/ffmpeg-0.11.patch
@@ -0,0 +1,434 @@
+diff -Naur blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
+--- blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2012-05-10 11:45:40.000000000 -0300
++++ blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2012-07-10 18:12:55.727129720 -0300
+@@ -143,23 +143,23 @@
+
+ switch(m_codecCtx->sample_fmt)
+ {
+- case SAMPLE_FMT_U8:
++ case AV_SAMPLE_FMT_U8:
+ m_convert = AUD_convert_u8_float;
+ m_specs.format = AUD_FORMAT_U8;
+ break;
+- case SAMPLE_FMT_S16:
++ case AV_SAMPLE_FMT_S16:
+ m_convert = AUD_convert_s16_float;
+ m_specs.format = AUD_FORMAT_S16;
+ break;
+- case SAMPLE_FMT_S32:
++ case AV_SAMPLE_FMT_S32:
+ m_convert = AUD_convert_s32_float;
+ m_specs.format = AUD_FORMAT_S32;
+ break;
+- case SAMPLE_FMT_FLT:
++ case AV_SAMPLE_FMT_FLT:
+ m_convert = AUD_convert_copy<float>;
+ m_specs.format = AUD_FORMAT_FLOAT32;
+ break;
+- case SAMPLE_FMT_DBL:
++ case AV_SAMPLE_FMT_DBL:
+ m_convert = AUD_convert_double_float;
+ m_specs.format = AUD_FORMAT_FLOAT64;
+ break;
+@@ -189,7 +189,7 @@
+ }
+ catch(AUD_Exception&)
+ {
+- av_close_input_file(m_formatCtx);
++ avformat_close_input(&m_formatCtx);
+ throw;
+ }
+ }
+@@ -227,7 +227,7 @@
+ }
+ catch(AUD_Exception&)
+ {
+- av_close_input_stream(m_formatCtx);
++ avformat_close_input(&m_formatCtx);
+ av_free(m_aviocontext);
+ throw;
+ }
+@@ -239,7 +239,7 @@
+
+ if(m_aviocontext)
+ {
+- av_close_input_stream(m_formatCtx);
++ avformat_close_input(&m_formatCtx);
+ av_free(m_aviocontext);
+ }
+ else
+diff -Naur blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
+--- blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2012-05-10 11:45:40.000000000 -0300
++++ blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2012-07-10 18:14:55.893790273 -0300
+@@ -133,23 +133,23 @@
+ {
+ case AUD_FORMAT_U8:
+ m_convert = AUD_convert_float_u8;
+- m_codecCtx->sample_fmt = SAMPLE_FMT_U8;
++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_U8;
+ break;
+ case AUD_FORMAT_S16:
+ m_convert = AUD_convert_float_s16;
+- m_codecCtx->sample_fmt = SAMPLE_FMT_S16;
++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_S16;
+ break;
+ case AUD_FORMAT_S32:
+ m_convert = AUD_convert_float_s32;
+- m_codecCtx->sample_fmt = SAMPLE_FMT_S32;
++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_S32;
+ break;
+ case AUD_FORMAT_FLOAT32:
+ m_convert = AUD_convert_copy<float>;
+- m_codecCtx->sample_fmt = SAMPLE_FMT_FLT;
++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_FLT;
+ break;
+ case AUD_FORMAT_FLOAT64:
+ m_convert = AUD_convert_float_double;
+- m_codecCtx->sample_fmt = SAMPLE_FMT_DBL;
++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_DBL;
+ break;
+ default:
+ AUD_THROW(AUD_ERROR_FFMPEG, format_error);
+diff -Naur blender-2.63a.orig/intern/ffmpeg/ffmpeg_compat.h blender-2.63a/intern/ffmpeg/ffmpeg_compat.h
+--- blender-2.63a.orig/intern/ffmpeg/ffmpeg_compat.h 2012-05-10 11:46:17.000000000 -0300
++++ blender-2.63a/intern/ffmpeg/ffmpeg_compat.h 2012-07-10 18:17:04.823783714 -0300
+@@ -76,6 +76,10 @@
+ #define FFMPEG_FFV1_ALPHA_SUPPORTED
+ #endif
+
++#if ((LIBAVFORMAT_VERSION_MAJOR < 53) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR < 24)) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR < 24) && (LIBAVFORMAT_VERSION_MICRO < 2)))
++#define avformat_close_input(x) av_close_input_file(*(x))
++#endif
++
+ #ifndef FFMPEG_HAVE_AVIO
+ #define AVIO_FLAG_WRITE URL_WRONLY
+ #define avio_open url_fopen
+diff -Naur blender-2.63a.orig/source/blender/blenkernel/intern/writeffmpeg.c blender-2.63a/source/blender/blenkernel/intern/writeffmpeg.c
+--- blender-2.63a.orig/source/blender/blenkernel/intern/writeffmpeg.c 2012-05-10 11:50:20.000000000 -0300
++++ blender-2.63a/source/blender/blenkernel/intern/writeffmpeg.c 2012-07-10 18:27:00.213753426 -0300
+@@ -36,6 +36,7 @@
+ #include <libavformat/avformat.h>
+ #include <libavcodec/avcodec.h>
+ #include <libavutil/rational.h>
++#include <libavutil/samplefmt.h>
+ #include <libswscale/swscale.h>
+ #include <libavcodec/opt.h>
+
+@@ -612,7 +613,7 @@
+
+ c->sample_rate = rd->ffcodecdata.audio_mixrate;
+ c->bit_rate = ffmpeg_audio_bitrate*1000;
+- c->sample_fmt = SAMPLE_FMT_S16;
++ c->sample_fmt = AV_SAMPLE_FMT_S16;
+ c->channels = rd->ffcodecdata.audio_channels;
+ codec = avcodec_find_encoder(c->codec_id);
+ if (!codec) {
+@@ -654,11 +655,21 @@
+ }
+ /* essential functions -- start, append, end */
+
++static void ffmpeg_dict_set_int(AVDictionary **dict, const char *key, int value)
++{
++ char buffer[32];
++
++ BLI_snprintf(buffer, sizeof(buffer), "%d", value);
++
++ av_dict_set(dict, key, buffer, 0);
++}
++
+ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, ReportList *reports)
+ {
+ /* Handle to the output file */
+ AVFormatContext* of;
+ AVOutputFormat* fmt;
++ AVDictionary *opts = NULL;
+ char name[256];
+ const char ** exts;
+
+@@ -704,13 +715,14 @@
+ of->oformat = fmt;
+ of->packet_size= rd->ffcodecdata.mux_packet_size;
+ if (ffmpeg_audio_codec != CODEC_ID_NONE) {
+- of->mux_rate = rd->ffcodecdata.mux_rate;
++ ffmpeg_dict_set_int(&opts, "muxrate", rd->ffcodecdata.mux_rate);
+ }
+ else {
+- of->mux_rate = 0;
++ av_dict_set(&opts, "muxrate", "0", 0);
+ }
+
+- of->preload = (int)(0.5*AV_TIME_BASE);
++ ffmpeg_dict_set_int(&opts, "preload", (int)(0.5*AV_TIME_BASE));
++
+ of->max_delay = (int)(0.7*AV_TIME_BASE);
+
+ fmt->audio_codec = ffmpeg_audio_codec;
+@@ -773,6 +785,7 @@
+ fmt->audio_codec = CODEC_ID_PCM_S16LE;
+ if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) {
+ BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!");
++ av_dict_free(&opts);
+ return 0;
+ }
+ }
+@@ -782,6 +795,7 @@
+ printf("alloc video stream %p\n", video_stream);
+ if (!video_stream) {
+ BKE_report(reports, RPT_ERROR, "Error initializing video stream.");
++ av_dict_free(&opts);
+ return 0;
+ }
+ }
+@@ -790,27 +804,27 @@
+ audio_stream = alloc_audio_stream(rd, fmt->audio_codec, of);
+ if (!audio_stream) {
+ BKE_report(reports, RPT_ERROR, "Error initializing audio stream.");
++ av_dict_free(&opts);
+ return 0;
+ }
+ }
+- if (av_set_parameters(of, NULL) < 0) {
+- BKE_report(reports, RPT_ERROR, "Error setting output parameters.");
+- return 0;
+- }
+ if (!(fmt->flags & AVFMT_NOFILE)) {
+ if (avio_open(&of->pb, name, AVIO_FLAG_WRITE) < 0) {
+ BKE_report(reports, RPT_ERROR, "Could not open file for writing.");
++ av_dict_free(&opts);
+ return 0;
+ }
+ }
+
+- if (av_write_header(of) < 0) {
++ if (avformat_write_header(of, NULL) < 0) {
+ BKE_report(reports, RPT_ERROR, "Could not initialize streams. Probably unsupported codec combination.");
++ av_dict_free(&opts);
+ return 0;
+ }
+
+ outfile = of;
+ av_dump_format(of, 0, name, 1);
++ av_dict_free(&opts);
+
+ return 1;
+ }
+diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/anim_movie.c blender-2.63a/source/blender/imbuf/intern/anim_movie.c
+--- blender-2.63a.orig/source/blender/imbuf/intern/anim_movie.c 2012-05-10 11:50:59.000000000 -0300
++++ blender-2.63a/source/blender/imbuf/intern/anim_movie.c 2012-07-10 18:30:19.413743294 -0300
+@@ -436,7 +436,7 @@
+ int i, videoStream;
+
+ AVCodec *pCodec;
+- AVFormatContext *pFormatCtx;
++ AVFormatContext *pFormatCtx = NULL;
+ AVCodecContext *pCodecCtx;
+ int frs_num;
+ double frs_den;
+@@ -455,7 +455,7 @@
+
+ do_init_ffmpeg();
+
+- if (av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL)!=0) {
++ if (avformat_open_input(&pFormatCtx, anim->name, NULL, NULL)!=0) {
+ return -1;
+ }
+
+@@ -990,7 +990,8 @@
+ ret = av_seek_frame(anim->pFormatCtx,
+ -1,
+ pos, AVSEEK_FLAG_BYTE);
+- av_update_cur_dts(anim->pFormatCtx, v_st, dts);
++ // XXX: need double verification
++ // av_update_cur_dts(anim->pFormatCtx, v_st, dts);
+ }
+ else {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/indexer.c blender-2.63a/source/blender/imbuf/intern/indexer.c
+--- blender-2.63a.orig/source/blender/imbuf/intern/indexer.c 2012-05-10 11:50:59.000000000 -0300
++++ blender-2.63a/source/blender/imbuf/intern/indexer.c 2012-07-10 18:38:25.737051891 -0300
+@@ -533,13 +533,6 @@
+ rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER;
+ }
+
+- if (av_set_parameters(rv->of, NULL) < 0) {
+- fprintf(stderr, "Couldn't set output parameters? "
+- "Proxy not built!\n");
+- av_free(rv->of);
+- return 0;
+- }
+-
+ if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
+ fprintf(stderr, "Couldn't open outputfile! "
+ "Proxy not built!\n");
+@@ -576,7 +569,12 @@
+ NULL, NULL, NULL);
+ }
+
+- av_write_header(rv->of);
++ if (avformat_write_header(rv->of, NULL) < 0) {
++ fprintf(stderr, "Couldn't set output parameters? "
++ "Proxy not built!\n");
++ av_free(rv->of);
++ return 0;
++ }
+
+ return rv;
+ }
+@@ -739,7 +737,7 @@
+ memset(context->proxy_ctx, 0, sizeof(context->proxy_ctx));
+ memset(context->indexer, 0, sizeof(context->indexer));
+
+- if (av_open_input_file(&context->iFormatCtx, anim->name, NULL, 0, NULL) != 0) {
++ if (avformat_open_input(&context->iFormatCtx, anim->name, NULL, NULL) != 0) {
+ MEM_freeN(context);
+ return NULL;
+ }
+diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/util.c blender-2.63a/source/blender/imbuf/intern/util.c
+--- blender-2.63a.orig/source/blender/imbuf/intern/util.c 2012-05-10 11:50:59.000000000 -0300
++++ blender-2.63a/source/blender/imbuf/intern/util.c 2012-07-10 18:40:49.950377886 -0300
+@@ -243,7 +243,7 @@
+
+ static int isffmpeg (const char *filename)
+ {
+- AVFormatContext *pFormatCtx;
++ AVFormatContext *pFormatCtx = NULL;
+ unsigned int i;
+ int videoStream;
+ AVCodec *pCodec;
+@@ -261,7 +261,7 @@
+ BLI_testextensie(filename, ".cin") ||
+ BLI_testextensie(filename, ".wav")) return 0;
+
+- if (av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL)!=0) {
++ if (avformat_open_input(&pFormatCtx, filename, NULL, NULL)!=0) {
+ if (UTIL_DEBUG) fprintf(stderr, "isffmpeg: av_open_input_file failed\n");
+ return 0;
+ }
+diff -Naur blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.cpp blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.cpp
+--- blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2012-05-10 11:48:50.000000000 -0300
++++ blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2012-07-10 18:56:03.696998071 -0300
+@@ -162,14 +162,14 @@
+ }
+
+
+-int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams)
++int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVDictionary **formatParams)
+ {
+- AVFormatContext *formatCtx;
++ AVFormatContext *formatCtx = NULL;
+ int i, videoStream;
+ AVCodec *codec;
+ AVCodecContext *codecCtx;
+
+- if (av_open_input_file(&formatCtx, filename, inputFormat, 0, formatParams)!=0)
++ if (avformat_open_input(&formatCtx, filename, inputFormat, formatParams)!=0)
+ return -1;
+
+ if (av_find_stream_info(formatCtx)<0)
+@@ -545,11 +545,7 @@
+ // but it is really not desirable to seek on http file, so force streaming.
+ // It would be good to find this information from the context but there are no simple indication
+ !strncmp(filename, "http://", 7) ||
+-#ifdef FFMPEG_PB_IS_POINTER
+- (m_formatCtx->pb && m_formatCtx->pb->is_streamed)
+-#else
+- m_formatCtx->pb.is_streamed
+-#endif
++ (m_formatCtx->pb && !m_formatCtx->pb->seekable)
+ )
+ {
+ // the file is in fact a streaming source, treat as cam to prevent seeking
+@@ -586,13 +582,11 @@
+ {
+ // open camera source
+ AVInputFormat *inputFormat;
+- AVFormatParameters formatParams;
+- AVRational frameRate;
++ AVDictionary *formatParams = NULL;
+ char *p, filename[28], rateStr[20];
+
+ do_init_ffmpeg();
+
+- memset(&formatParams, 0, sizeof(formatParams));
+ #ifdef WIN32
+ // video capture on windows only through Video For Windows driver
+ inputFormat = av_find_input_format("vfwcap");
+@@ -622,7 +616,13 @@
+ sprintf(filename, "/dev/dv1394/%d", camIdx);
+ } else
+ {
+- inputFormat = av_find_input_format("video4linux");
++ const char *formats[] = {"video4linux2,v4l2", "video4linux2", "video4linux"};
++ int i, formatsCount = sizeof(formats) / sizeof(char*);
++ for (i = 0; i < formatsCount; i++) {
++ inputFormat = av_find_input_format(formats[i]);
++ if (inputFormat)
++ break;
++ }
+ sprintf(filename, "/dev/video%d", camIdx);
+ }
+ if (!inputFormat)
+@@ -636,20 +636,22 @@
+ if ((p = strchr(filename, ':')) != 0)
+ *p = 0;
+ }
+- if (file && (p = strchr(file, ':')) != NULL)
+- formatParams.standard = p+1;
++ if (file && (p = strchr(file, ':')) != NULL) {
++ av_dict_set(&formatParams, "standard", p+1, 0);
++ }
+ #endif
+ //frame rate
+ if (m_captRate <= 0.f)
+ m_captRate = defFrameRate;
+ sprintf(rateStr, "%f", m_captRate);
+- av_parse_video_rate(&frameRate, rateStr);
+- // populate format parameters
+- // need to specify the time base = inverse of rate
+- formatParams.time_base.num = frameRate.den;
+- formatParams.time_base.den = frameRate.num;
+- formatParams.width = m_captWidth;
+- formatParams.height = m_captHeight;
++
++ av_dict_set(&formatParams, "framerate", rateStr, 0);
++
++ if (m_captWidth > 0 && m_captHeight > 0) {
++ char video_size[64];
++ BLI_snprintf(video_size, sizeof(video_size), "%dx%d", m_captWidth, m_captHeight);
++ av_dict_set(&formatParams, "video_size", video_size, 0);
++ }
+
+ if (openStream(filename, inputFormat, &formatParams) != 0)
+ return;
+@@ -664,6 +666,8 @@
+ // no need to thread if the system has a single core
+ m_isThreaded = true;
+ }
++
++ av_dict_free(&formatParams);
+ }
+
+ // play video
+diff -Naur blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.h blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.h
+--- blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.h 2012-05-10 11:48:50.000000000 -0300
++++ blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.h 2012-07-10 18:57:21.710327435 -0300
+@@ -46,10 +46,6 @@
+ # define FFMPEG_CODEC_IS_POINTER 1
+ #endif
+
+-#if LIBAVFORMAT_VERSION_INT >= (52 << 16)
+-# define FFMPEG_PB_IS_POINTER 1
+-#endif
+-
+ #ifdef FFMPEG_CODEC_IS_POINTER
+ static inline AVCodecContext* get_codec_from_stream(AVStream* stream)
+ {
+@@ -172,7 +168,7 @@
+ double actFrameRate (void) { return m_frameRate * m_baseFrameRate; }
+
+ /// common function to video file and capture
+- int openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams);
++ int openStream(const char *filename, AVInputFormat *inputFormat, AVDictionary **formatParams);
+
+ /// check if a frame is available and load it in pFrame, return true if a frame could be retrieved
+ AVFrame* grabFrame(long frame);
diff --git a/artistic/libspnav/Makefile.in.diff b/artistic/libspnav/Makefile.in.diff
new file mode 100644
index 000000000..4c93b9cb6
--- /dev/null
+++ b/artistic/libspnav/Makefile.in.diff
@@ -0,0 +1,19 @@
+--- Makefile.in.orig 2009-04-18 00:12:45.000000000 +0200
++++ Makefile.in 2009-04-18 00:16:06.000000000 +0200
+@@ -4,6 +4,7 @@
+ lib_a = libspnav.a
+ soname = libspnav.so.0
+ lib_so = $(soname).1
++linkname = libspnav.so
+
+ CC = gcc
+ AR = ar
+@@ -34,6 +35,8 @@
+ install: $(lib_a) $(lib_so)
+ cp $(lib_a) $(PREFIX)/$(libdir)/$(lib_a)
+ cp $(lib_so) $(PREFIX)/$(libdir)/$(lib_so)
++ ln -s $(lib_so) $(linkname)
++ cp -d $(linkname) $(PREFIX)/$(libdir)/$(linkname)
+ for h in $(hdr); do cp -p $(srcdir)/$$h $(PREFIX)/include/; done
+
+ .PHONY: uninstall
diff --git a/artistic/libspnav/PKGBUILD b/artistic/libspnav/PKGBUILD
new file mode 100644
index 000000000..da0272ed7
--- /dev/null
+++ b/artistic/libspnav/PKGBUILD
@@ -0,0 +1,24 @@
+# Contributor: Jan Hambrecht <jaham at gmx dot net>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+pkgname=libspnav
+pkgver=0.2.2
+pkgrel=3
+pkgdesc="The spacenav project provides a free, compatible alternative, to the proprietary 3Dconnexion device driver and SDK, for their 3D input devices (called 'space navigator', 'space pilot', 'space traveller', etc)."
+arch=('i686' 'x86_64' 'mips64el')
+url="http://spacenav.sourceforge.net/"
+license=('GPL')
+depends=('libx11')
+source=(http://downloads.sourceforge.net/spacenav/$pkgname-$pkgver.tar.gz Makefile.in.diff)
+md5sums=('b85a0f4ab711e2d4f73a40e2e371f5ae'
+ 'f9122ad4ca823e45bfa0538187df6270')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p0 < $srcdir/Makefile.in.diff
+ ./configure --prefix=$pkgdir/usr --disable-debug
+ make || return 1
+ install -d $pkgdir/usr/lib
+ install -d $pkgdir/usr/include
+ make DESTDIR=$pkgdir install || return 1
+}
diff --git a/artistic/spnavcfg/PKGBUILD b/artistic/spnavcfg/PKGBUILD
new file mode 100644
index 000000000..df9027bc5
--- /dev/null
+++ b/artistic/spnavcfg/PKGBUILD
@@ -0,0 +1,20 @@
+# Contributor: Jan Hambrecht <jaham at gmx dot net>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+pkgname=spnavcfg
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="The spacenav project provides a free, compatible alternative, to the proprietary 3Dconnexion device driver and SDK, for their 3D input devices (called 'space navigator', 'space pilot', 'space traveller', etc)."
+arch=('i686' 'x86_64' 'mips64el')
+url="http://spacenav.sourceforge.net/"
+license=('GPL')
+depends=('gtk2')
+source=(http://downloads.sourceforge.net/spacenav/$pkgname-$pkgver.tar.gz)
+md5sums=('d20cf09515d1e39fd04877a00a2023b5')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=$pkgdir/usr
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+}
diff --git a/community-staging/bitcoin/PKGBUILD b/community-staging/bitcoin/PKGBUILD
new file mode 100644
index 000000000..4f7bab48f
--- /dev/null
+++ b/community-staging/bitcoin/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 73543 2012-07-09 12:27:15Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: shahid <helllamer@gmail.com>
+
+pkgbase=bitcoin
+pkgname=('bitcoin-daemon' 'bitcoin-qt')
+pkgver=0.6.3
+_commit=bbe1084
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://www.bitcoin.org/"
+makedepends=('boost' 'automoc4' 'miniupnpc')
+conflicts=('bitcoin' 'bitcoin-bin' 'bitcoin-git')
+replaces=('bitcoin' 'bitcoin-bin' 'bitcoin-git')
+license=('MIT')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/bitcoin/$pkgbase/tarball/v$pkgver")
+sha256sums=('3f1a0df5d713c9e4f54f00a8f3f75c6828041afd826e16976b00229de0aecb70')
+
+build() {
+ cd "$srcdir/bitcoin-$pkgbase-$_commit"
+
+ # and make qt gui
+ qmake
+ make
+
+ # make bitcoind
+ make -f makefile.unix -C src CXXFLAGS="$CXXFLAGS" USE_UPNP=1
+}
+
+
+package_bitcoin-qt() {
+ pkgdesc="Bitcoin is a peer-to-peer network based digital currency - QT"
+ depends=(boost-libs qt miniupnpc)
+ install=bitcoin-qt.install
+
+ cd "$srcdir/bitcoin-$pkgbase-$_commit"
+ install -Dm755 bitcoin-qt "$pkgdir"/usr/bin/bitcoin-qt
+ install -Dm644 contrib/debian/bitcoin-qt.desktop \
+ "$pkgdir"/usr/share/applications/bitcoin.desktop
+ install -Dm644 share/pixmaps/bitcoin80.xpm \
+ "$pkgdir"/usr/share/pixmaps/bitcoin80.xpm
+
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+package_bitcoin-daemon() {
+ pkgdesc="Bitcoin is a peer-to-peer network based digital currency - daemon"
+ depends=(boost-libs miniupnpc openssl)
+
+ cd "$srcdir/bitcoin-$pkgbase-$_commit"
+ install -Dm755 src/bitcoind "$pkgdir"/usr/bin/bitcoind
+ install -Dm644 contrib/debian/examples/bitcoin.conf \
+ "$pkgdir/usr/share/doc/$pkgname/examples/bitcoin.conf"
+ install -Dm644 contrib/debian/manpages/bitcoind.1 \
+ "$pkgdir"/usr/share/man/man1/bitcoind.1
+ install -Dm644 contrib/debian/manpages/bitcoin.conf.5 \
+ "$pkgdir"/usr/share/man/man5/bitcoin.conf.5
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
diff --git a/community-staging/bitcoin/bitcoin-qt.install b/community-staging/bitcoin/bitcoin-qt.install
new file mode 100644
index 000000000..f98ba7338
--- /dev/null
+++ b/community-staging/bitcoin/bitcoin-qt.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-staging/freeorion/PKGBUILD b/community-staging/freeorion/PKGBUILD
new file mode 100644
index 000000000..3ebe1af79
--- /dev/null
+++ b/community-staging/freeorion/PKGBUILD
@@ -0,0 +1,105 @@
+# $Id: PKGBUILD 73567 2012-07-09 23:46:20Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: guini <sidtrun@googlemail.com>
+# Contributor: Forrest Loomis <cybercyst _ at _ gmail dot com>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: fana-m <geminin@gmx.net>
+
+pkgname=freeorion
+pkgver=0.4
+_fixedrevision=4635
+pkgrel=6
+pkgdesc="Turn-based galactic conquest game inspired by Master of Orion"
+arch=('x86_64' 'i686')
+url="http://www.freeorion.org/"
+license=('GPL')
+if [ "$CARCH" == "x86_64" ]
+then
+ depends=('lib32-nvidia-cg-toolkit')
+else
+ depends=('nvidia-cg-toolkit')
+fi
+depends=('bullet' 'freealut' 'libvorbis' 'python2' 'gigi' 'desktop-file-utils')
+makedepends=('boost>=1.49.0' 'ogre' 'sdl' 'gigi>=0.8.0-11' 'graphviz' 'libogg'
+ 'desktop-file-utils' 'setconf' 'clang' 'cmake' 'gendesk' 'subversion')
+options=('!strip' '!emptydirs')
+install=$pkgname.install
+source=("$pkgname.sh"
+ "$pkgname.png::https://a.fsdn.com/con/icons/fr/freeorion@sf.net/FO_Icon_256x256.png")
+sha256sums=('111532e460aec847ff455ee67dd64f46e2fa5ceba39a0349d25a84b69c646eaf'
+ 'a6a253eed31b77b00bf4f721f4b1c6bbd95505b9e4b38b736101e551dd12ff5f')
+
+build() {
+ cd "$srcdir"
+ gendesk -n
+
+ msg2 "Checking out svn revision $_fixedrevision..."
+ if [[ -d "$pkgname/.svn" ]]; then
+ (cd "$pkgname" && svn up -r "$_fixedrevision")
+ else
+ svn co \
+ https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion/ \
+ --config-dir ./ -r "$_fixedrevision" "$pkgname"
+ fi
+
+ msg2 "Setting up build directory..."
+ rm -rf "$srcdir/$pkgname-build"
+ cp -r "$srcdir/$pkgname" "$srcdir/$pkgname-build"
+ cd "$srcdir/$pkgname-build"
+
+ msg2 "Generating makefiles..."
+ cmake -G "Unix Makefiles"
+
+ msg2 "GLU fix..."
+ setconf CMakeCache.txt CMAKE_CXX_FLAGS:STRING "'-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -lGL -lGLU '"
+
+ msg2 "Boost fix..."
+ sed -i 's:TIME_UTC:TIME_UTC_:' util/MultiplayerCommon.cpp
+
+ msg2 "Compiling..."
+ make -j1
+
+ msg2 "OGRE fix..."
+ sed -i 's:PluginFolder=.:PluginFolder=/usr/lib/OGRE/:g' \
+ "$srcdir/$pkgname-build/ogre_plugins.cfg"
+}
+
+package() {
+ cd "$srcdir/$pkgname-build"
+
+ msg2 "Packaging documentation..."
+ install -Dm644 loki_setup/README.txt \
+ "$pkgdir/usr/share/doc/$pkgname/README.txt"
+
+ msg2 "Packaging binaries..."
+ install -Dm 755 "$srcdir/$pkgname.sh" "$pkgdir/usr/bin/freeorion"
+ install -Dm 755 freeorion "$pkgdir/usr/bin/freeorion.elf"
+ install -Dm 755 freeorionca "$pkgdir/usr/bin/freeorionca"
+ install -Dm 755 freeoriond "$pkgdir/usr/bin/freeoriond"
+
+ msg2 "Packaging data..."
+ mkdir -p "$pkgdir/usr/share/$pkgname" "$pkgdir/usr/lib/$pkgname"
+ cp -r default "$pkgdir/usr/share/$pkgname"
+ install -Dm 644 OISInput.cfg "$pkgdir/usr/share/OISInput.cfg"
+
+ msg2 "Packaging license..."
+ install -Dm 644 default/COPYING \
+ "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ cd "$srcdir"
+
+ msg2 "Packaging icon and shortcut..."
+ install -Dm 644 "$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/freeorion.png"
+ install -Dm 644 "$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/freeorion.desktop"
+
+ msg2 "Packaging OGRE plugins configuration..."
+ install -Dm 644 "$srcdir/$pkgname-build/ogre_plugins.cfg" \
+ "$pkgdir/usr/share/freeorion/ogre_plugins.cfg"
+
+ msg2 "Cleaning up..."
+ find "$pkgdir" -name ".svn" -print0 | xargs -0 rm -rf
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-staging/freeorion/freeorion.install b/community-staging/freeorion/freeorion.install
new file mode 100644
index 000000000..ad97d7bab
--- /dev/null
+++ b/community-staging/freeorion/freeorion.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-staging/freeorion/freeorion.sh b/community-staging/freeorion/freeorion.sh
new file mode 100644
index 000000000..d80623ab2
--- /dev/null
+++ b/community-staging/freeorion/freeorion.sh
@@ -0,0 +1,143 @@
+#!/bin/sh
+#
+# written by Markus Sinner, http://psitronic.de
+#
+# Nightly builds on.
+# http://freeorion.psitronic.de/download/nightly/
+#
+# This is a wrapper-script for starting FreeOrion on
+# ix86 (and maybe x64) Linux Systems.
+# This script will CD into application and set some
+# enviroment variables.
+
+# ---- commandline PARAMETERS and ENVIROMENT variables -----
+# This script supports parameters, that will be evaluated
+# BEFORE freeorion binary is called and will be removed,
+# because the binary won't support them.
+# Currently only one parameter at a time is supported!
+# Parameters other than these will be appended as command
+# line parameters to the call of the freeorion binary.
+#
+# --strace
+# This starts freeorion using the "strace" utility.
+# Generates a strace logifle /tmp/freeorion.trace.
+# Make sure it is installed on your system!
+# --gdb
+# Runs freeorion in a gdb instance, passes the original
+# parameters through the --args parameter of gdb
+#
+#
+# ENVIROMENT variables
+# This script supports some enviroment variables. To set them
+# either use the followin command BEFORE you execute this script.
+# export XXXX="value"
+# This permanently set the variable in you current shell script.
+# Or you prepend the options when running this script, like this:
+# PARAM1="hello" PARAM2="yo man" /usr/bin/freeorion.elf
+#
+# Supportet are:
+# FO_TRACE=
+# Use this to prepend something to calling freorion.
+# This variables also is used internally, when --gdb or --trace
+# appear on the command line.
+# FO_GDB_ARGS=
+# If you use --gbd, you should uses this env to add GDB parameters.
+# Make sure you end this list of parameters with --args, otherwise
+# gdb won't start. Example: FO_GDB_ARGS="-q -s fo.symbols --args"
+# LD_LIBRARY_PATH=
+# This is a well known env and will be honored by this script.
+#
+
+
+# ---------- STARTS HERE ---------------
+# Change into application directory
+# If this is a symlink, then we
+# need to change into the dir of symlink-target.
+if [ -h $0 ]; then
+ echo "I am Symlink. Following into my targets basedir"
+ ME=`readlink $0`
+else
+ echo "Following into my basedir"
+ ME=$0
+fi
+
+# This is important! Script won't work outside its installation dir
+ROOT=/usr/share/freeorion
+cd ${ROOT}
+echo -n "CWD: "
+pwd
+
+
+
+# Check for python. If freeorionca binary is missing it, use
+# the shipped version.
+if ldd /usr/bin/freeorionca | grep "libpython.*not found"; then
+ #echo "python2.5 missing. Using shipped version."
+ PYTHON_USE_SHIPPED=1
+else
+ #echo "python2.5 found. Using it."
+ PYTHON_USE_SHIPPED=0
+fi
+
+# Set Python library home for loading modules
+# If no python 2.5 is detected, use shipped python 2.5
+if [ "$PYTHON_USE_SHIPPED" = "1" ]; then
+ export PYTHONHOME=/usr/lib/freeorion/python2.5
+ export PYTHONPATH=${PYTHONHOME}
+ export PYTHONDEBUG=1
+ export PYTHONVERBOSE=1
+ echo "PYTHONHOME=${PYTHONHOME}"
+
+ export LD_LIBRARY_PATH=${PYTHONHOME}:${LD_LIBRARY_PATH}
+ export LD_PRELOAD=${PYTHONHOME}/libutil.so.1:${PYTHONHOME}/libpython2.5.so
+fi
+
+
+# Command line Parameter --gdb forces running in gdb
+# Setting FO_TRACE to gdb results in other settings, see
+# below
+if [ "$1" = "--gdb" ]; then
+ FO_TRACE="gdb"
+
+ # Don't forget to remove the param
+ shift
+fi
+
+if [ "$1" = "--strace" ]; then
+ TRACEFILE=/tmp/freeorion.trace
+ echo
+ echo "Tracing to ${TRACEFILE}"
+ echo
+ FO_TRACE="strace -f -o ${TRACEFILE}"
+
+ # Don't forget to remove the param
+ shift
+fi
+
+
+
+# Add a parameter FO_GDB_ARGS to support gdb
+# Or warn the user, if he changed FO_GDB_ARGS and has
+# forgotten to end it with --args
+if [ "$FO_TRACE" = "gdb" ]; then
+ if [ "$FO_GDB_ARGS" = "" ]; then
+ FO_GDB_ARGS="--args"
+ else
+ echo "****************************************************"
+ echo "** NOTE NOTE NOTE NOTE **"
+ echo "Running FO in gdb"
+ echo "If you use FO_GDB_ARGS on your command line, make"
+ echo "sure that you END this variabble with --args."
+ echo "Otherwise gdb will not start."
+ echo
+ echo "Type 'start' when the gdb instance has loaded!"
+ echo
+ fi
+fi
+
+
+# Support loading libs from application/lib
+export LD_LIBRARY_PATH=./lib:${LD_LIBRARY_PATH}
+
+# Call with settings-dir to avoid conflicting installations
+${FO_TRACE} ${FO_GDB_ARGS} /usr/bin/freeorion.elf --resource-dir ./default $@
diff --git a/community-staging/gigi/PKGBUILD b/community-staging/gigi/PKGBUILD
new file mode 100644
index 000000000..3a7c2321d
--- /dev/null
+++ b/community-staging/gigi/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 73559 2012-07-09 20:29:24Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: fana-m <geminin@gmx.net>
+# Contributor: Andrzej Giniewicz <gginiu@gmail.com>
+# Contributor: Manuel Gaul <inkaine@hotmail.com>
+
+pkgname=gigi
+pkgver=0.8.0
+pkgrel=11
+_fixedrevision=1074
+pkgdesc="Small, efficient and feature rich GUI for C++ and OpenGL"
+url="http://gigi.sourceforge.net/"
+arch=('x86_64' 'i686')
+license=('LGPL')
+depends=('boost' 'mesa' 'libpng' 'libjpeg' 'libtiff' 'freetype2' 'ogre' 'sdl' 'ois' 'python')
+makedepends=('subversion' 'cmake' 'setconf' 'doxygen')
+conflicts=('gigi-svn' 'mesa-full')
+
+build() {
+ cd "$srcdir"
+
+ msg2 "Fetching files..."
+ if [ -d gigi/.svn ]; then
+ (cd gigi && svn up -r "$_fixedrevision")
+ else
+ svn co https://gigi.svn.sourceforge.net/svnroot/gigi/trunk/GG/ \
+ --config-dir ./ -r "$_fixedrevision" gigi
+ fi
+
+ rm -rf gigi-build
+ svn export gigi gigi-build
+ cd gigi-build
+
+ msg2 "Patching..."
+ sed -i 's/move_backward(/adobe::move_backward(/g' GG/adobe/vector.hpp
+ sed -i 's/__GNUC_MINOR__ <= 6/__GNUC_MINOR__ <= 999/g' GG/adobe/cmath.hpp
+ sed -i 's/insert(adobe/this->insert(adobe/g' GG/adobe/closed_hash.hpp
+ sed -i 's:TIME_UTC:TIME_UTC_:' src/GUI.cpp
+
+ msg2 "Configuring..."
+ setconf cmake/GiGiOgre.pc.in prefix /usr
+ setconf cmake/GiGi.pc.in prefix /usr
+ setconf cmake/GiGiSDL.pc.in prefix /usr
+ cmake \
+ -D CMAKE_INSTALL_PREFIX="$pkgdir"/usr \
+ -D BUILD_TUTORIALS=OFF \
+ -D CPACK_GENERATOR=GiGiDevel \
+ -D CMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
+ .
+
+ msg2 "Building documentation..."
+ cd doc
+ doxygen
+ cd ..
+
+ msg2 "Compiling..."
+ make -j1
+}
+
+package() {
+ cd "$srcdir/gigi-build"
+
+ msg2 "Packaging files..."
+ make install
+
+ msg2 "Fixing documentation..."
+ mkdir -p "$pkgdir/usr/share/doc"
+ mv "$pkgdir/usr/doc" "$pkgdir/usr/share/doc/$pkgname"
+
+ for f in `find "$pkgdir/usr/share/doc" -name "dir_*.html"`; do
+ sed -i "s:$srcdir:/:g" "$f"
+ done
+
+ msg2 "Packaging license..."
+ install -Dm 644 COPYING \
+ "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-staging/schroot/PKGBUILD b/community-staging/schroot/PKGBUILD
new file mode 100644
index 000000000..e5ebcc2e0
--- /dev/null
+++ b/community-staging/schroot/PKGBUILD
@@ -0,0 +1,71 @@
+# $Id: PKGBUILD 73547 2012-07-09 13:09:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
+
+pkgname=schroot
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="Allows users to execute shell commands under different root filesystems. (Successor to dchroot)."
+url="http://packages.qa.debian.org/s/schroot.html"
+license=('GPL3')
+depends=('pam' 'lockdev' 'boost' 'e2fsprogs')
+optdepends=('btrfs-progs-unstable' 'lvm2')
+arch=('i686' 'x86_64')
+conflicts=('dchroot')
+replaces=('dchroot')
+provides=('schroot' 'sbuild' 'dchroot')
+backup=('etc/schroot/schroot.conf'
+ 'etc/schroot/arch32/config'
+ 'etc/schroot/arch32/copyfiles'
+ 'etc/schroot/arch32/mount'
+ 'etc/schroot/arch32/nssdatabases')
+options=(!libtool)
+source=("http://ftp.debian.org/debian/pool/main/s/$pkgname/${pkgname}_${pkgver}.orig.tar.xz"
+ 'pam.d.schroot.patch'
+ 'arch32-example'
+ 'arch32-config'
+ 'arch32-copyfiles'
+ 'arch32-mount'
+ 'arch32-nssdatabases')
+md5sums=('9b0a12077dbb0e3e384b4c9af0dc3195'
+ 'a8d77cac806a0a9adef3f93cdbeb280a'
+ '1e34db5387c4e5de911e15d8a9208bdb'
+ '5a3f7b839c7e0b8933748da7c5b6385b'
+ '06db41d42f9fce5449a28feb76ded556'
+ 'f0d5d5b5e34a860f6f90b5628c680f46'
+ 'af1da6edd8c8c0dafeeb2c2c4e0c840b')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-dchroot \
+ --enable-lvm-snapshot \
+ --enable-btrfs-snapshot \
+ --with-bash-completion-dir=/usr/share/bash-completion/completions/ \
+ BTRFS=/sbin/btrfs \
+ BTRFSCTL=/sbin/btrfsctl \
+ LVCREATE=/sbin/lvcreate \
+ LVREMOVE=/sbin/lvremove
+ # --enable-csbuild
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make -k check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=$pkgdir install
+ install -dm 755 ${pkgdir}/etc/schroot/arch32
+ install -m 644 ${srcdir}/arch32-{config,mount,copyfiles,nssdatabases} ${pkgdir}/etc/schroot/arch32
+ rename 'arch32-' '' ${pkgdir}/etc/schroot/arch32/*
+ install -m 644 ${srcdir}/arch32-example ${pkgdir}/etc/schroot/chroot.d/arch32.conf.example
+ patch -i ${srcdir}/pam.d.schroot.patch ${pkgdir}/etc/pam.d/schroot
+}
diff --git a/community-staging/schroot/arch32-config b/community-staging/schroot/arch32-config
new file mode 100644
index 000000000..0ee72d522
--- /dev/null
+++ b/community-staging/schroot/arch32-config
@@ -0,0 +1,11 @@
+# Default settings for chroot setup and exec scripts.
+# See schroot-script-config(5) for further details.
+
+# Filesystems to mount inside the chroot.
+FSTAB="/etc/schroot/arch32/mount"
+
+# Files to copy from the host system into the chroot.
+COPYFILES="/etc/schroot/arch32/copyfiles"
+
+# System databases to copy into the chroot
+NSSDATABASES="/etc/schroot/arch32/nssdatabases"
diff --git a/community-staging/schroot/arch32-copyfiles b/community-staging/schroot/arch32-copyfiles
new file mode 100644
index 000000000..88f093ceb
--- /dev/null
+++ b/community-staging/schroot/arch32-copyfiles
@@ -0,0 +1,7 @@
+/etc/group
+/etc/hosts
+/etc/passwd
+/etc/resolv.conf
+/etc/rc.conf
+/etc/localtime
+/etc/locale.gen
diff --git a/community-staging/schroot/arch32-example b/community-staging/schroot/arch32-example
new file mode 100644
index 000000000..3f059e3c0
--- /dev/null
+++ b/community-staging/schroot/arch32-example
@@ -0,0 +1,10 @@
+[arch32]
+description=Arch32
+type=directory
+directory=/opt/arch32
+#users=username
+groups=users
+root-groups=root
+script-config=arch32/config
+personality=linux32
+#aliases=32,i686
diff --git a/community-staging/schroot/arch32-mount b/community-staging/schroot/arch32-mount
new file mode 100644
index 000000000..075d6e451
--- /dev/null
+++ b/community-staging/schroot/arch32-mount
@@ -0,0 +1,12 @@
+# mount.defaults: static file system information for chroots.
+# Note that the mount point will be prefixed by the chroot path
+# (CHROOT_PATH)
+#
+# <file system> <mount point> <type> <options> <dump> <pass>
+proc /proc proc defaults 0 0
+/dev /dev none rw,bind 0 0
+#/dev/pts /dev/pts none rw,bind 0 0
+tmpfs /dev/shm tmpfs defaults 0 0
+/sys /sys none rw,bind 0 0
+/tmp /tmp none rw,bind 0 0
+/home /home none rw,bind 0 0
diff --git a/community-staging/schroot/arch32-nssdatabases b/community-staging/schroot/arch32-nssdatabases
new file mode 100644
index 000000000..815ddce3f
--- /dev/null
+++ b/community-staging/schroot/arch32-nssdatabases
@@ -0,0 +1,6 @@
+# System databases to copy into the chroot from the host system.
+#
+# <database name>
+passwd
+shadow
+group
diff --git a/community-staging/schroot/pam.d.schroot.patch b/community-staging/schroot/pam.d.schroot.patch
new file mode 100644
index 000000000..528acb5f7
--- /dev/null
+++ b/community-staging/schroot/pam.d.schroot.patch
@@ -0,0 +1,15 @@
+@@ -23,13 +23,6 @@
+ # time restrainst on schroot usage.
+ # account requisite pam_time.so
+
+-# The standard Unix authentication modules, used with
+-# NIS (man nsswitch) as well as normal /etc/passwd and
+-# /etc/shadow entries.
+-@include common-auth
+-@include common-account
+-@include common-session
+-
+ # Sets up user limits, please uncomment and read /etc/security/limits.conf
+ # to enable this functionality.
+ # session required pam_limits.so
+
diff --git a/community/ejabberd/PKGBUILD b/community/ejabberd/PKGBUILD
index 73968e57c..551c508e1 100644
--- a/community/ejabberd/PKGBUILD
+++ b/community/ejabberd/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 73273 2012-07-05 09:07:14Z spupykin $
+# $Id: PKGBUILD 73545 2012-07-09 12:52:21Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
pkgname=ejabberd
pkgver=2.1.11
-pkgrel=2
+pkgrel=3
pkgdesc="Jabber server written in Erlang"
arch=('x86_64' 'i686' 'mips64el')
url="http://www.ejabberd.im/"
@@ -18,11 +18,10 @@ source=("http://www.process-one.net/downloads/ejabberd/${pkgver/_/-}/ejabberd-${
"$pkgname")
md5sums=('a70b040c4e7602f47718c8afe8780d50'
'f97c8a96160f30e0aecc9526c12e6606'
- '13c22f8f3b55e3933d531e652e4e7535')
+ '2338a6230ce5f9f60be6dddcfa39bc7e')
build() {
cd "$srcdir/$pkgname-$pkgver/src"
-
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--enable-pam --enable-odbc
make
@@ -30,14 +29,10 @@ build() {
package() {
cd "$srcdir/$pkgname-$pkgver/src"
-
make DESTDIR="$pkgdir" install
install -D -m 0755 "$srcdir/$pkgname" "$pkgdir/etc/rc.d/$pkgname"
- install -d "$pkgdir/var/spool/$pkgname"
install -d "$pkgdir/var/lib/$pkgname"
- install -D -m0644 "$srcdir/$pkgname.logrotate" \
- "$pkgdir/etc/logrotate.d/$pkgname"
- sed -i 's|SPOOLDIR=/var/lib/ejabberd|SPOOLDIR=/var/spool/ejabberd|' $pkgdir/usr/sbin/ejabberdctl
+ install -D -m0644 "$srcdir/$pkgname.logrotate" "$pkgdir/etc/logrotate.d/$pkgname"
chmod ug+r "$pkgdir/etc/$pkgname/"*
rm -rf "$pkgdir/var/lock"
}
diff --git a/community/ejabberd/ejabberd b/community/ejabberd/ejabberd
index 259d4db66..c73be811c 100644
--- a/community/ejabberd/ejabberd
+++ b/community/ejabberd/ejabberd
@@ -23,7 +23,7 @@ case "$1" in
[ -f /var/run/ejabber.pid ] && rm -f /var/run/ejabber.pid
PID=`get_pid`
if [ -z "$PID" ]; then
- su ejabberd -s /bin/bash - -c 'erl -pa /usr/lib/ejabberd/ebin -sname ejabberd -s ejabberd -ejabberd config \"/etc/ejabberd/ejabberd.cfg\" log_path \"/var/log/ejabberd/ejabberd.log\" -sasl sasl_error_logger \{file,\"/var/log/ejabberd/sasl.log\"\} -mnesia dir \"/var/spool/ejabberd\" -detached -kernel inetrc \"/etc/ejabberd/inetrc\"'
+ su ejabberd -s /bin/bash - -c 'erl -pa /usr/lib/ejabberd/ebin -sname ejabberd -s ejabberd -ejabberd config \"/etc/ejabberd/ejabberd.cfg\" log_path \"/var/log/ejabberd/ejabberd.log\" -sasl sasl_error_logger \{file,\"/var/log/ejabberd/sasl.log\"\} -mnesia dir \"/var/lib/ejabberd\" -detached -kernel inetrc \"/etc/ejabberd/inetrc\"'
if [ $? -gt 0 ]; then
stat_fail
exit 1
diff --git a/community/ejabberd/ejabberd.install b/community/ejabberd/ejabberd.install
index 9d17a911e..6e586229d 100644
--- a/community/ejabberd/ejabberd.install
+++ b/community/ejabberd/ejabberd.install
@@ -2,7 +2,6 @@ post_install() {
groupadd -r jabber
useradd -r -G jabber -d /var/lib/ejabberd ejabberd
chown -R ejabberd.jabber /var/log/ejabberd
- chown -R ejabberd.jabber /var/spool/ejabberd
chown -R ejabberd.jabber /var/lib/ejabberd
chown root:ejabberd /usr/lib/ejabberd/priv/bin/epam
chown root:ejabberd /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberdctl.cfg /etc/ejabberd
@@ -11,11 +10,11 @@ post_install() {
post_upgrade() {
chown -R ejabberd.jabber /var/log/ejabberd
- chown -R ejabberd.jabber /var/spool/ejabberd
chown -R ejabberd.jabber /var/lib/ejabberd
chown root:ejabberd /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberdctl.cfg /etc/ejabberd
chown root:ejabberd /usr/lib/ejabberd/priv/bin/epam
chmod 4750 /usr/lib/ejabberd/priv/bin/epam
+ echo ">> ejabberd looks into /var/lib/ejabberd for mnesia db now"
}
post_remove() {
diff --git a/community/gtkdatabox/PKGBUILD b/community/gtkdatabox/PKGBUILD
index 41031da76..ffe6c1074 100644
--- a/community/gtkdatabox/PKGBUILD
+++ b/community/gtkdatabox/PKGBUILD
@@ -1,23 +1,24 @@
-# $Id: PKGBUILD 65594 2012-02-21 09:22:40Z spupykin $
+# $Id: PKGBUILD 73537 2012-07-09 10:13:52Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=gtkdatabox
-pkgver=0.9.0.1
-pkgrel=3
+pkgver=0.9.1.3
+pkgrel=1
pkgdesc="A widget for the Gtk+ library designed to display large amounts of numerical data"
arch=(i686 x86_64 'mips64el')
url="http://www.eudoxos.net/gtk/gtkdatabox"
options=('!libtool')
license=("LGPL")
depends=('gtk2')
-source=(http://www.eudoxos.net/gtk/gtkdatabox/download/gtkdatabox-$pkgver.tar.gz)
-md5sums=('cb62ac3ab2ddafa6cb1bcd3a55a1cc88')
+#source=(http://www.eudoxos.net/gtk/gtkdatabox/download/gtkdatabox-$pkgver.tar.gz)
+source=(http://downloads.sourceforge.net/project/gtkdatabox/gtkdatabox/$pkgver/gtkdatabox-$pkgver.tar.gz)
+md5sums=('60a3eebd61a4ca36879d7e60d1aca727')
build() {
cd $srcdir/gtkdatabox-$pkgver
+ find -name 'Makefile*' -type f -exec sed -i 's#.*DISABLE_DEPRECATED\\#\\#' {} \;
LDFLAGS=-lm ./configure --prefix=/usr
- find -name Makefile -type f -exec sed -i 's#.*DISABLE_DEPRECATED\\#\\#' {} \;
make
make DESTDIR=$pkgdir install
}
diff --git a/community/isomaster/PKGBUILD b/community/isomaster/PKGBUILD
index aabeb714f..5e32e9ac9 100644
--- a/community/isomaster/PKGBUILD
+++ b/community/isomaster/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 66615 2012-02-26 14:45:31Z lfleischer $
+# $Id: PKGBUILD 73565 2012-07-09 23:28:25Z ebelanger $
# Maintainer: Roman Kyrylych <roman@archlinux.org>
# Maintainer: Mateusz Herych <heniekk@gmail.com>
# Contributor: Mefju <mefju@o2.pl>
pkgname=isomaster
-pkgver=1.3.8
-pkgrel=2
+pkgver=1.3.9
+pkgrel=1
pkgdesc="CD image editor written in GTK2"
arch=('i686' 'x86_64' 'mips64el')
url="http://littlesvr.ca/isomaster"
@@ -13,11 +13,14 @@ license=('GPL2')
depends=('gtk2' 'desktop-file-utils')
makedepends=('iniparser')
install=isomaster.install
-source=("http://littlesvr.ca/isomaster/releases/$pkgname-$pkgver.tar.bz2")
-md5sums=('bd046989611ded72358ffdc61e46bcfb')
+source=("http://littlesvr.ca/isomaster/releases/$pkgname-$pkgver.tar.bz2"
+ isomaster-1.3.9-asneeded.patch)
+md5sums=('ba7b44303979fd193df04b8f5f7ce4f8'
+ '79ac690bd7edf69dfb53e9916fc1182d')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ patch -p0 -i ../isomaster-1.3.9-asneeded.patch
make PREFIX=/usr
}
diff --git a/community/isomaster/isomaster-1.3.9-asneeded.patch b/community/isomaster/isomaster-1.3.9-asneeded.patch
new file mode 100644
index 000000000..102f54db4
--- /dev/null
+++ b/community/isomaster/isomaster-1.3.9-asneeded.patch
@@ -0,0 +1,14 @@
+--- Makefile
++++ Makefile
+@@ -75,9 +75,9 @@
+ isomaster: $(OBJECTS) lib iniparser
+ @echo 'Linking isomaster'
+ ifndef USE_SYSTEM_INIPARSER
+- @$(CC) $(LDFLAGS) `pkg-config --libs gtk+-2.0` $(OBJECTS) bk/bk.a iniparser-2.17/libiniparser.a -o isomaster
++ @$(CC) $(LDFLAGS) $(OBJECTS) -o isomaster bk/bk.a iniparser-2.17/libiniparser.a `pkg-config --libs gtk+-2.0`
+ else
+- @$(CC) $(LDFLAGS) `pkg-config --libs gtk+-2.0` $(OBJECTS) bk/bk.a -liniparser -o isomaster
++ @$(CC) $(LDFLAGS) $(OBJECTS) -o isomaster bk/bk.a -liniparser `pkg-config --libs gtk+-2.0`
+ endif
+
+ # static pattern rule
diff --git a/community/klavaro/PKGBUILD b/community/klavaro/PKGBUILD
index dc6bcdac8..8b78ad08f 100644
--- a/community/klavaro/PKGBUILD
+++ b/community/klavaro/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 72725 2012-06-21 14:59:35Z stativ $
+# $Id: PKGBUILD 73539 2012-07-09 10:19:45Z spupykin $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=klavaro
pkgver=1.9.5
-pkgrel=1
+pkgrel=2
pkgdesc="Free touch typing tutor program"
arch=('i686' 'x86_64' 'mips64el')
url="http://klavaro.sourceforge.net/"
diff --git a/community/leptonica/PKGBUILD b/community/leptonica/PKGBUILD
index f632d2d27..aa5e4f7bd 100644
--- a/community/leptonica/PKGBUILD
+++ b/community/leptonica/PKGBUILD
@@ -1,30 +1,20 @@
-# $Id: PKGBUILD 63638 2012-02-05 12:02:42Z ibiru $
+# $Id: PKGBUILD 73532 2012-07-09 08:57:53Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Christoph Drexler <chrdr at gmx dot at>
pkgname=leptonica
-pkgver=1.68
-pkgrel=3
+pkgver=1.69
+pkgrel=1
pkgdesc="Software that is broadly useful for image processing and image analysis applications"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.leptonica.com/"
license=('custom')
-depends=('glibc')
-makedepends=('giflib' 'gnuplot' 'libjpeg' 'libpng' 'libtiff' 'zlib')
-# 'webp'
-optdepends=('giflib: for supporting gif files'
- 'gnuplot: gnuplot support'
- 'libjpeg: for supporting jpeg files'
- 'libpng: for supporting png files'
- 'libtiff: for supporting tiff files'
- 'zlib: for supporting compressed files')
-# 'webp: for supporting webp files'
+depends=('giflib' 'gnuplot' 'libjpeg' 'libpng' 'libtiff' 'zlib' 'libwebp')
source=(http://www.leptonica.com/source/leptonica-${pkgver}.tar.gz)
-md5sums=('5cd7092f9ff2ca7e3f3e73bfcd556403')
+md5sums=('d4085c302cbcab7f9af9d3d6f004ab22')
build() {
cd ${srcdir}/leptonica-${pkgver}
- sed -i '1,1i#include <zlib.h>' src/pngio.c
./configure --prefix=/usr
make
}
diff --git a/community/lrzip/PKGBUILD b/community/lrzip/PKGBUILD
index ced3afecb..1b0f3cb5b 100644
--- a/community/lrzip/PKGBUILD
+++ b/community/lrzip/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 68263 2012-03-20 22:36:38Z arodseth $
+# $Id: PKGBUILD 73561 2012-07-09 21:11:49Z arodseth $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: graysky <graysky AT archlinux DOT us>
# Contributor: kastor@fobos.org.ar
pkgname=lrzip
-pkgver=0.612
-pkgrel=3
+pkgver=0.613
+pkgrel=1
pkgdesc="Multi-threaded compression using the rzip/lzma, lzo, and zpaq algorithms"
url="http://lrzip.kolivas.org/"
license=('GPL')
@@ -18,7 +18,7 @@ then
fi
options=('!libtool')
source=("http://ck.kolivas.org/apps/$pkgname/$pkgname-$pkgver.tar.bz2")
-sha256sums=('2c309fb40766207f1deeb09e2431ae34db7e6d7a22d713c25efcc84ed8c52e97')
+sha256sums=('70dc55fbc4fe3d029c8edfc20f47f02d78c9c4c473201e6ec616febe9ce6b7eb')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/mingw32-pthreads/PKGBUILD b/community/mingw32-pthreads/PKGBUILD
index 28bdf9df1..11f1be71a 100644
--- a/community/mingw32-pthreads/PKGBUILD
+++ b/community/mingw32-pthreads/PKGBUILD
@@ -1,34 +1,33 @@
-# $Id: PKGBUILD 66225 2012-02-23 05:01:23Z spupykin $
+# $Id: PKGBUILD 73530 2012-07-09 08:46:34Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Marcel Schneider marcelATcoopmastersDOTde
pkgname=mingw32-pthreads
-pkgver=2.8.0
-_pkgver=2-8-0
-pkgrel=3
+pkgver=2.9.1
+pkgrel=1
arch=(i686 x86_64 mips64el)
pkgdesc="The POSIX 1003.1-2001 standard for writing multithreaded applications."
license=(LGPL)
makedepends=('mingw32-gcc-base' 'mingw32-runtime' 'mingw32-w32api')
url="http://sourceware.org/pthreads-win32/"
options=(!strip)
-source=(ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-$_pkgver-release.tar.gz)
-md5sums=('6d30c693233b1464ef8983fedd8ccb22')
+source=(ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-${pkgver//./-}-release.tar.gz)
+md5sums=('36ba827d6aa0fa9f9ae740a35626e2e3')
build() {
- cd $srcdir/pthreads-w32-$_pkgver-release
+ cd $srcdir/pthreads-w32-${pkgver//./-}-release
make CROSS=i486-mingw32- clean GC
}
package() {
- cd $srcdir/pthreads-w32-$_pkgver-release
+ cd $srcdir/pthreads-w32-${pkgver//./-}-release
mkdir $pkgdir/usr
mkdir $pkgdir/usr/i486-mingw32
mkdir $pkgdir/usr/i486-mingw32/include
mkdir $pkgdir/usr/i486-mingw32/lib
- install $srcdir/pthreads-w32-$_pkgver-release/pthread.h $pkgdir/usr/i486-mingw32/include/pthread.h
- install $srcdir/pthreads-w32-$_pkgver-release/sched.h $pkgdir/usr/i486-mingw32/include/sched.h
- install $srcdir/pthreads-w32-$_pkgver-release/semaphore.h $pkgdir/usr/i486-mingw32/include/semaphore.h
- install $srcdir/pthreads-w32-$_pkgver-release/libpthreadGC2.a $pkgdir/usr/i486-mingw32/lib/libpthread.a
- install $srcdir/pthreads-w32-$_pkgver-release/pthreadGC2.dll $pkgdir/usr/i486-mingw32/lib/
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/pthread.h $pkgdir/usr/i486-mingw32/include/pthread.h
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/sched.h $pkgdir/usr/i486-mingw32/include/sched.h
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/semaphore.h $pkgdir/usr/i486-mingw32/include/semaphore.h
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/libpthreadGC2.a $pkgdir/usr/i486-mingw32/lib/libpthread.a
+ install $srcdir/pthreads-w32-${pkgver//./-}-release/pthreadGC2.dll $pkgdir/usr/i486-mingw32/lib/
}
diff --git a/community/minidlna/PKGBUILD b/community/minidlna/PKGBUILD
index 03af311c7..d68a01918 100644
--- a/community/minidlna/PKGBUILD
+++ b/community/minidlna/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 70495 2012-05-09 17:17:28Z spupykin $
+# $Id: PKGBUILD 73526 2012-07-09 06:06:23Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer:Biginoz < biginoz AT free point fr>
# Contributor: Ignacio Galmarino <igalmarino@gmail.com>
@@ -7,12 +7,12 @@
pkgname=minidlna
pkgver=1.0.24
-pkgrel=4
+pkgrel=5
pkgdesc="A DLNA/UPnP-AV Media server (aka ReadyDLNA)"
arch=('i686' 'x86_64' 'mips64el')
url="http://sourceforge.net/projects/minidlna/"
license=('GPL')
-depends=('libexif' 'libjpeg' 'libid3tag' 'flac' 'libvorbis' 'ffmpeg' 'sqlite')
+depends=('libexif' 'libjpeg' 'libid3tag' 'flac' 'libvorbis' 'ffmpeg-compat' 'sqlite')
conflicts=('minidlna-cvs')
backup=('etc/minidlna.conf'
'etc/conf.d/minidlna')
@@ -20,14 +20,17 @@ changelog=changelog
source=(http://downloads.sourceforge.net/minidlna/minidlna_${pkgver}_src.tar.gz
minidlna.rc
minidlna.conf
- minidlna.service)
+ minidlna.service
+ ffmpeg-compat.patch)
md5sums=('be9b4c91e3fcde592dc3f9828098ca0f'
'c9863d5703e0a8469cc200f2739567e7'
'af1b8c0fef9902f797b0324c255da5a1'
- '1903ed9ceee43b8bb86146b9ad8eb50c')
+ '1903ed9ceee43b8bb86146b9ad8eb50c'
+ '310d66170f20d660e96f4c9709559ed1')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/ffmpeg-compat.patch
sed -i 's|DB_PATH=.*|DB_PATH=/var/cache/minidlna|' genconfig.sh
make
}
diff --git a/community/minidlna/ffmpeg-compat.patch b/community/minidlna/ffmpeg-compat.patch
new file mode 100644
index 000000000..aa6f982e5
--- /dev/null
+++ b/community/minidlna/ffmpeg-compat.patch
@@ -0,0 +1,50 @@
+diff -wbBur minidlna-1.0.24/genconfig.sh minidlna-1.0.24.my/genconfig.sh
+--- minidlna-1.0.24/genconfig.sh 2012-01-21 04:34:13.000000000 +0400
++++ minidlna-1.0.24.my/genconfig.sh 2012-07-09 09:51:09.000000000 +0400
+@@ -47,15 +47,15 @@
+ [ ! -e "/usr/include/ogg/ogg.h" ] && MISSING="libogg $MISSING"
+ [ ! -e "/usr/include/vorbis/codec.h" ] && MISSING="libvorbis $MISSING"
+ [ ! -e "/usr/include/FLAC/metadata.h" ] && MISSING="libflac $MISSING"
+-[ ! -e "/usr/include/ffmpeg/avutil.h" -a \
++[ ! -e "/usr/include/ffmpeg-compat/avutil.h" -a \
+ ! -e "/usr/include/libavutil/avutil.h" -a \
+- ! -e "/usr/include/ffmpeg/libavutil/avutil.h" ] && MISSING="libavutil $MISSING"
+-[ ! -e "/usr/include/ffmpeg/avformat.h" -a \
++ ! -e "/usr/include/ffmpeg-compat/libavutil/avutil.h" ] && MISSING="libavutil $MISSING"
++[ ! -e "/usr/include/ffmpeg-compat/avformat.h" -a \
+ ! -e "/usr/include/libavformat/avformat.h" -a \
+- ! -e "/usr/include/ffmpeg/libavformat/avformat.h" ] && MISSING="libavformat $MISSING"
+-[ ! -e "/usr/include/ffmpeg/avcodec.h" -a \
++ ! -e "/usr/include/ffmpeg-compat/libavformat/avformat.h" ] && MISSING="libavformat $MISSING"
++[ ! -e "/usr/include/ffmpeg-compat/avcodec.h" -a \
+ ! -e "/usr/include/libavcodec/avcodec.h" -a \
+- ! -e "/usr/include/ffmpeg/libavcodec/avcodec.h" ] && MISSING="libavcodec $MISSING"
++ ! -e "/usr/include/ffmpeg-compat/libavcodec/avcodec.h" ] && MISSING="libavcodec $MISSING"
+ if [ -n "$MISSING" ]; then
+ echo -e "\nERROR! Cannot continue."
+ echo -e "The following required libraries are either missing, or are missing development headers:\n"
+diff -wbBur minidlna-1.0.24/Makefile minidlna-1.0.24.my/Makefile
+--- minidlna-1.0.24/Makefile 2012-01-18 02:49:01.000000000 +0400
++++ minidlna-1.0.24.my/Makefile 2012-07-09 10:01:10.000000000 +0400
+@@ -13,9 +13,9 @@
+ #CFLAGS = -Wall -O -D_GNU_SOURCE -g -DDEBUG
+ #CFLAGS = -Wall -g -Os -D_GNU_SOURCE
+ CFLAGS = -Wall -g -O3 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 \
+- -I/usr/include/ffmpeg \
+- -I/usr/include/libavutil -I/usr/include/libavcodec -I/usr/include/libavformat \
+- -I/usr/include/ffmpeg/libavutil -I/usr/include/ffmpeg/libavcodec -I/usr/include/ffmpeg/libavformat
++ -I/usr/include/ffmpeg-compat \
++ -I/usr/include/ffmpeg-compat/libavutil -I/usr/include/ffmpeg-compat/libavcodec -I/usr/include/ffmpeg-compat/libavformat
++LDFLAGS+= -L/usr/lib/ffmpeg-compat -Wl,-rpath -Wl,/usr/lib/ffmpeg-compat
+ #STATIC_LINKING: CFLAGS += -DSTATIC
+ #STATIC_LINKING: LDFLAGS = -static
+ CC = gcc
+@@ -64,7 +64,7 @@
+ $(INSTALL) -d $(ETCINSTALLDIR)
+ $(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR)
+
+-minidlna: $(BASEOBJS) $(LNXOBJS) $(LIBS)
++minidlna: $(BASEOBJS) $(LNXOBJS)
+ @echo Linking $@
+ @$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) $(LIBS)
+
diff --git a/community/nsd/PKGBUILD b/community/nsd/PKGBUILD
index 2f22a8206..06a979224 100644
--- a/community/nsd/PKGBUILD
+++ b/community/nsd/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 71903 2012-06-03 06:00:07Z bisson $
+# $Id: PKGBUILD 73541 2012-07-09 11:23:02Z bisson $
# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Roberto Alsina <ralsina@kde.org>
pkgname=nsd
-pkgver=3.2.10
-pkgrel=2
+pkgver=3.2.11
+pkgrel=1
pkgdesc='Authoritative only, high performance and simple DNS server'
url='http://www.nlnetlabs.nl/nsd/'
license=('BSD')
@@ -14,7 +14,7 @@ makedepends=('flex')
arch=('i686' 'x86_64' 'mips64el')
source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'service')
-sha1sums=('04657cffe5087d97213b245f8281296cac86b868'
+sha1sums=('4b8b9293fd13b0fba2a2bff9fd11940e0d8d7448'
'e560876628a30f11f9abbee4abcaa1f51cf449a6')
install=install
diff --git a/community/tesseract/PKGBUILD b/community/tesseract/PKGBUILD
index 8a7c565f1..eb69418ac 100644
--- a/community/tesseract/PKGBUILD
+++ b/community/tesseract/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 59081 2011-11-21 09:28:09Z spupykin $
+# $Id: PKGBUILD 73535 2012-07-09 09:16:10Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Andreas Hauser <andy-aur@splashground.de>
@@ -9,7 +9,7 @@ kor ell rus por bul lav lit pol dan-frak deu dan ces cat eng chi_tra chi_sim)
pkgbase=tesseract
pkgname=(tesseract $(for l in ${_langs[@]}; do echo tesseract-data-${l}; done))
pkgver=3.01
-pkgrel=1
+pkgrel=2
pkgdesc="An OCR programm"
arch=(x86_64 i686 'mips64el')
url="http://code.google.com/p/tesseract-ocr"
@@ -60,7 +60,8 @@ md5sums=('1ba496e51a42358fb9d3ffe781b2d20a'
build() {
cd $srcdir/$pkgname-$pkgver
- [ -f Makefile.in ] || automake
+ sed -i '1,1i#include <unistd.h>' viewer/svutil.cpp
+ [ -f Makefile.in ] || { aclocal && automake; }
[ -f Makefile ] || ./configure --prefix=/usr
make
}
diff --git a/core/dialog/PKGBUILD b/core/dialog/PKGBUILD
index 3819ef24b..fd5676ccb 100644
--- a/core/dialog/PKGBUILD
+++ b/core/dialog/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 152239 2012-03-05 17:06:10Z stephane $
+# $Id: PKGBUILD 163201 2012-07-09 14:42:05Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=dialog
-pkgver=1.1_20120215
+pkgver=1.1_20120706
pkgrel=1
pkgdesc="A tool to display dialog boxes from shell scripts"
arch=('i686' 'x86_64' 'mips64el')
@@ -12,7 +12,7 @@ url="http://invisible-island.net/dialog/"
license=('LGPL2.1')
depends=('ncurses')
source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver/_/-}.tgz)
-sha1sums=('0d8a07e064c6d4f9cc7d9cb21c4609dc4a19537e')
+sha1sums=('fa033f0fb166da86e29d70e68159a92a9b9cdb84')
build() {
cd "${srcdir}/$pkgname-${pkgver/_/-}"
diff --git a/extra/mpg123/PKGBUILD b/extra/mpg123/PKGBUILD
index 53e73640f..660f9bb1c 100644
--- a/extra/mpg123/PKGBUILD
+++ b/extra/mpg123/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 158903 2012-05-12 20:49:50Z eric $
+# $Id: PKGBUILD 163205 2012-07-09 20:33:57Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=mpg123
-pkgver=1.14.2
+pkgver=1.14.3
pkgrel=1
pkgdesc="A console based real time MPEG Audio Player for Layer 1, 2 and 3"
arch=('i686' 'x86_64' 'mips64el')
@@ -17,8 +17,8 @@ conflicts=('mpg321')
provides=('mpg321')
options=('!libtool')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig})
-sha1sums=('887a453e49e3d49d539a712ee66a8d9da16e3325'
- '878c6ca9e8fb9f29f34953d8fe39d01411086baf')
+sha1sums=('c3cd800121bccf15d8fc31a30575a5dce8aaa5d5'
+ '32f4a507aed62c038b1620c938c8001b3a9b04b5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD
index b5c0bcd44..6e5bfd656 100644
--- a/extra/xorg-server/PKGBUILD
+++ b/extra/xorg-server/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 160383 2012-06-01 12:59:08Z dreisner $
+# $Id: PKGBUILD 163203 2012-07-09 16:05:50Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=xorg-server
pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
-pkgver=1.12.2
+pkgver=1.12.3
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
license=('custom')
@@ -23,6 +23,13 @@ source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
xvfb-run.1
10-quirks.conf
loongson.patch)
+sha256sums=('3654b613393734ce0c7c23e81ca4ceb6e8afefb5f0649233ffd105c1220544fe'
+ '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162'
+ 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84'
+ 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
+ '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
+ '966b8c509006e3b7e6ac951c93a760ecbb2cb2ad7a5807fb919f0c4ee5e079a5'
+ '94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166')
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
diff --git a/libre/blender-libre/PKGBUILD b/libre/blender-libre/PKGBUILD
index 05b54f402..5dd14405d 100644
--- a/libre/blender-libre/PKGBUILD
+++ b/libre/blender-libre/PKGBUILD
@@ -1,20 +1,10 @@
# $Id$
-# Contributor: John Sowiak <john@archlinux.org>
-# Contributor: tobias <tobias@archlinux.org>
-# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
-# Apparently, the blender guys refuse to release source tarballs for
-# intermediate releases that deal mainly with binaries but incorporate tiny
-# minor changes from svn. Since I'm sick and tired of the urges of users that
-# look for release numbers only, we make a messy PKGBUILD that can checkout svn
-# release if necessary.
-
-_svn=true
_pkgname=blender
pkgname=blender-libre
-true && pkgver=2.63a # Hack for svn
-true && pkgrel=2.1
+pkgver=2.63a
+pkgrel=2.1
epoch=4
pkgdesc="A fully integrated 3D graphics creation suite (without nonfree cuda-toolkit support)"
arch=('i686' 'x86_64' 'mips64el')
@@ -24,45 +14,19 @@ depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils'
'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew'
'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada'
'openimageio' 'libsndfile' 'jack')
-makedepends=('cmake' 'boost' 'subversion')
+makedepends=('cmake' 'boost')
replaces=("${_pkgname}")
conflicts=("${_pkgname}")
provides=("${_pkgname}=${pkgver}")
options=(!strip)
-install=blender.install
-if [[ $_svn = false ]]; then
- source=(http://download.blender.org/source/$_pkgname-$pkgver.tar.gz)
- md5sums=('31a60b3ce5466d965cb7e2648995e092')
-else
- source=(ffmpeg-0.11.patch)
- md5sums=('168db32487e363e71fd4671e204afccf')
-fi
-
-_svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender"
-_svnmod="blender"
+install=${_pkgname}.install
+source=(http://download.${_pkgname}.org/source/${_pkgname}-${pkgver}.tar.gz ffmpeg-0.11.patch)
+md5sums=('31a60b3ce5466d965cb7e2648995e092' '9e5649403e51654615d30b10bc460217')
build() {
-if [[ $_svn = true ]]; then
- cd "$srcdir"
- msg "Connecting to SVN server...."
-
- if [[ -d "$_svnmod/.svn" ]]; then
- (cd "$_svnmod" && svn up )
- else
- svn co "$_svntrunk" --config-dir ./ "$_svnmod"
- fi
-
- msg "SVN checkout done or server timeout"
- msg "Starting build..."
-
- rm -rf "$srcdir/$_svnmod-build"
- cp -r "$srcdir/$_svnmod" "$srcdir/$_svnmod-build"
- cd "$srcdir/$_svnmod-build"
-else
- cd "$srcdir/$_pkgname-$pkgver"
-fi
+ cd "${srcdir}/${_pkgname}-${pkgver}"
- patch -Np0 < "$srcdir"/ffmpeg-0.11.patch
+ patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch
sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h
sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c
@@ -96,26 +60,22 @@ fi
make $MAKEFLAGS
-# cp -rf "$srcdir"/${_pkgname}-$pkgver/release/plugins/* \
-# "$srcdir"/${_pkgname}-$pkgver/source/blender/blenpluginapi/
-# cd "$srcdir"/${_pkgname}-$pkgver/source/blender/blenpluginapi
+# cp -rf "${srcdir}/${_pkgname}-${pkgver}"/release/plugins/* \
+# "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/
+# cd "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi
# chmod 755 bmake
make
}
package() {
- if [[ $_svn = true ]]; then
- cd "$srcdir/$_svnmod-build/build"
- else
- cd "$srcdir/$_pkgname-$pkgver/build"
- fi
+ cd "${srcdir}/${_pkgname}-${pkgver}/build"
make DESTDIR="${pkgdir}" install
python -m compileall "${pkgdir}/usr/share/blender"
# install plugins
-# install -d -m755 "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture}
-# cp "$srcdir"/${_pkgname}-$pkgver/source/blender/blenpluginapi/sequence/*.so \
-# "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/
-# cp "$srcdir"/${_pkgname}-$pkgver/source/blender/blenpluginapi/texture/*.so \
-# "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/
+# install -d -m755 "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture}
+# cp "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/sequence/*.so \
+# "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/
+# cp "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/texture/*.so \
+# "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/
}
diff --git a/libre/blender-libre/ffmpeg-0.11.patch b/libre/blender-libre/ffmpeg-0.11.patch
index bc67052bf..45144140c 100644
--- a/libre/blender-libre/ffmpeg-0.11.patch
+++ b/libre/blender-libre/ffmpeg-0.11.patch
@@ -1,104 +1,101 @@
-Index: intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
-===================================================================
---- intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp (revision 47422)
-+++ intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp (working copy)
+diff -Naur blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
+--- blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2012-05-10 11:45:40.000000000 -0300
++++ blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2012-07-10 18:12:55.727129720 -0300
@@ -143,23 +143,23 @@
-
- switch(m_codecCtx->sample_fmt)
- {
+
+ switch(m_codecCtx->sample_fmt)
+ {
- case SAMPLE_FMT_U8:
+ case AV_SAMPLE_FMT_U8:
- m_convert = AUD_convert_u8_float;
- m_specs.format = AUD_FORMAT_U8;
- break;
+ m_convert = AUD_convert_u8_float;
+ m_specs.format = AUD_FORMAT_U8;
+ break;
- case SAMPLE_FMT_S16:
+ case AV_SAMPLE_FMT_S16:
- m_convert = AUD_convert_s16_float;
- m_specs.format = AUD_FORMAT_S16;
- break;
+ m_convert = AUD_convert_s16_float;
+ m_specs.format = AUD_FORMAT_S16;
+ break;
- case SAMPLE_FMT_S32:
+ case AV_SAMPLE_FMT_S32:
- m_convert = AUD_convert_s32_float;
- m_specs.format = AUD_FORMAT_S32;
- break;
+ m_convert = AUD_convert_s32_float;
+ m_specs.format = AUD_FORMAT_S32;
+ break;
- case SAMPLE_FMT_FLT:
+ case AV_SAMPLE_FMT_FLT:
- m_convert = AUD_convert_copy<float>;
- m_specs.format = AUD_FORMAT_FLOAT32;
- break;
+ m_convert = AUD_convert_copy<float>;
+ m_specs.format = AUD_FORMAT_FLOAT32;
+ break;
- case SAMPLE_FMT_DBL:
+ case AV_SAMPLE_FMT_DBL:
- m_convert = AUD_convert_double_float;
- m_specs.format = AUD_FORMAT_FLOAT64;
- break;
+ m_convert = AUD_convert_double_float;
+ m_specs.format = AUD_FORMAT_FLOAT64;
+ break;
@@ -189,7 +189,7 @@
- }
- catch(AUD_Exception&)
- {
+ }
+ catch(AUD_Exception&)
+ {
- av_close_input_file(m_formatCtx);
+ avformat_close_input(&m_formatCtx);
- throw;
- }
+ throw;
+ }
}
@@ -227,7 +227,7 @@
- }
- catch(AUD_Exception&)
- {
+ }
+ catch(AUD_Exception&)
+ {
- av_close_input_stream(m_formatCtx);
+ avformat_close_input(&m_formatCtx);
- av_free(m_aviocontext);
- throw;
- }
+ av_free(m_aviocontext);
+ throw;
+ }
@@ -239,7 +239,7 @@
-
- if(m_aviocontext)
- {
+
+ if(m_aviocontext)
+ {
- av_close_input_stream(m_formatCtx);
+ avformat_close_input(&m_formatCtx);
- av_free(m_aviocontext);
- }
- else
-Index: intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
-===================================================================
---- intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp (revision 47422)
-+++ intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp (working copy)
+ av_free(m_aviocontext);
+ }
+ else
+diff -Naur blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
+--- blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2012-05-10 11:45:40.000000000 -0300
++++ blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2012-07-10 18:14:55.893790273 -0300
@@ -133,23 +133,23 @@
- {
- case AUD_FORMAT_U8:
- m_convert = AUD_convert_float_u8;
+ {
+ case AUD_FORMAT_U8:
+ m_convert = AUD_convert_float_u8;
- m_codecCtx->sample_fmt = SAMPLE_FMT_U8;
+ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_U8;
- break;
- case AUD_FORMAT_S16:
- m_convert = AUD_convert_float_s16;
+ break;
+ case AUD_FORMAT_S16:
+ m_convert = AUD_convert_float_s16;
- m_codecCtx->sample_fmt = SAMPLE_FMT_S16;
+ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_S16;
- break;
- case AUD_FORMAT_S32:
- m_convert = AUD_convert_float_s32;
+ break;
+ case AUD_FORMAT_S32:
+ m_convert = AUD_convert_float_s32;
- m_codecCtx->sample_fmt = SAMPLE_FMT_S32;
+ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_S32;
- break;
- case AUD_FORMAT_FLOAT32:
- m_convert = AUD_convert_copy<float>;
+ break;
+ case AUD_FORMAT_FLOAT32:
+ m_convert = AUD_convert_copy<float>;
- m_codecCtx->sample_fmt = SAMPLE_FMT_FLT;
+ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_FLT;
- break;
- case AUD_FORMAT_FLOAT64:
- m_convert = AUD_convert_float_double;
+ break;
+ case AUD_FORMAT_FLOAT64:
+ m_convert = AUD_convert_float_double;
- m_codecCtx->sample_fmt = SAMPLE_FMT_DBL;
+ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_DBL;
- break;
- default:
- AUD_THROW(AUD_ERROR_FFMPEG, format_error);
-Index: intern/ffmpeg/ffmpeg_compat.h
-===================================================================
---- intern/ffmpeg/ffmpeg_compat.h (revision 47422)
-+++ intern/ffmpeg/ffmpeg_compat.h (working copy)
+ break;
+ default:
+ AUD_THROW(AUD_ERROR_FFMPEG, format_error);
+diff -Naur blender-2.63a.orig/intern/ffmpeg/ffmpeg_compat.h blender-2.63a/intern/ffmpeg/ffmpeg_compat.h
+--- blender-2.63a.orig/intern/ffmpeg/ffmpeg_compat.h 2012-05-10 11:46:17.000000000 -0300
++++ blender-2.63a/intern/ffmpeg/ffmpeg_compat.h 2012-07-10 18:17:04.823783714 -0300
@@ -76,6 +76,10 @@
#define FFMPEG_FFV1_ALPHA_SUPPORTED
#endif
-
+
+#if ((LIBAVFORMAT_VERSION_MAJOR < 53) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR < 24)) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR < 24) && (LIBAVFORMAT_VERSION_MICRO < 2)))
+#define avformat_close_input(x) av_close_input_file(*(x))
+#endif
@@ -106,31 +103,30 @@ Index: intern/ffmpeg/ffmpeg_compat.h
#ifndef FFMPEG_HAVE_AVIO
#define AVIO_FLAG_WRITE URL_WRONLY
#define avio_open url_fopen
-Index: source/blender/blenkernel/intern/writeffmpeg.c
-===================================================================
---- source/blender/blenkernel/intern/writeffmpeg.c (revision 47422)
-+++ source/blender/blenkernel/intern/writeffmpeg.c (working copy)
-@@ -42,6 +42,7 @@
+diff -Naur blender-2.63a.orig/source/blender/blenkernel/intern/writeffmpeg.c blender-2.63a/source/blender/blenkernel/intern/writeffmpeg.c
+--- blender-2.63a.orig/source/blender/blenkernel/intern/writeffmpeg.c 2012-05-10 11:50:20.000000000 -0300
++++ blender-2.63a/source/blender/blenkernel/intern/writeffmpeg.c 2012-07-10 18:27:00.213753426 -0300
+@@ -36,6 +36,7 @@
#include <libavformat/avformat.h>
#include <libavcodec/avcodec.h>
#include <libavutil/rational.h>
+#include <libavutil/samplefmt.h>
#include <libswscale/swscale.h>
#include <libavcodec/opt.h>
-
-@@ -615,7 +616,7 @@
-
- c->sample_rate = rd->ffcodecdata.audio_mixrate;
- c->bit_rate = ffmpeg_audio_bitrate * 1000;
+
+@@ -612,7 +613,7 @@
+
+ c->sample_rate = rd->ffcodecdata.audio_mixrate;
+ c->bit_rate = ffmpeg_audio_bitrate*1000;
- c->sample_fmt = SAMPLE_FMT_S16;
+ c->sample_fmt = AV_SAMPLE_FMT_S16;
- c->channels = rd->ffcodecdata.audio_channels;
- codec = avcodec_find_encoder(c->codec_id);
- if (!codec) {
-@@ -657,11 +658,21 @@
+ c->channels = rd->ffcodecdata.audio_channels;
+ codec = avcodec_find_encoder(c->codec_id);
+ if (!codec) {
+@@ -654,11 +655,21 @@
}
/* essential functions -- start, append, end */
-
+
+static void ffmpeg_dict_set_int(AVDictionary **dict, const char *key, int value)
+{
+ char buffer[32];
@@ -142,134 +138,132 @@ Index: source/blender/blenkernel/intern/writeffmpeg.c
+
static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, ReportList *reports)
{
- /* Handle to the output file */
- AVFormatContext *of;
- AVOutputFormat *fmt;
+ /* Handle to the output file */
+ AVFormatContext* of;
+ AVOutputFormat* fmt;
+ AVDictionary *opts = NULL;
- char name[256];
- const char **exts;
-
-@@ -707,13 +718,14 @@
- of->oformat = fmt;
- of->packet_size = rd->ffcodecdata.mux_packet_size;
- if (ffmpeg_audio_codec != CODEC_ID_NONE) {
+ char name[256];
+ const char ** exts;
+
+@@ -704,13 +715,14 @@
+ of->oformat = fmt;
+ of->packet_size= rd->ffcodecdata.mux_packet_size;
+ if (ffmpeg_audio_codec != CODEC_ID_NONE) {
- of->mux_rate = rd->ffcodecdata.mux_rate;
+ ffmpeg_dict_set_int(&opts, "muxrate", rd->ffcodecdata.mux_rate);
- }
- else {
+ }
+ else {
- of->mux_rate = 0;
+ av_dict_set(&opts, "muxrate", "0", 0);
- }
-
-- of->preload = (int)(0.5 * AV_TIME_BASE);
-+ ffmpeg_dict_set_int(&opts, "preload", (int)(0.5 * AV_TIME_BASE));
+ }
+
+- of->preload = (int)(0.5*AV_TIME_BASE);
++ ffmpeg_dict_set_int(&opts, "preload", (int)(0.5*AV_TIME_BASE));
+
- of->max_delay = (int)(0.7 * AV_TIME_BASE);
-
- fmt->audio_codec = ffmpeg_audio_codec;
-@@ -776,6 +788,7 @@
- fmt->audio_codec = CODEC_ID_PCM_S16LE;
- if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) {
- BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!");
+ of->max_delay = (int)(0.7*AV_TIME_BASE);
+
+ fmt->audio_codec = ffmpeg_audio_codec;
+@@ -773,6 +785,7 @@
+ fmt->audio_codec = CODEC_ID_PCM_S16LE;
+ if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) {
+ BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!");
+ av_dict_free(&opts);
- return 0;
- }
- }
-@@ -785,6 +798,7 @@
- printf("alloc video stream %p\n", video_stream);
- if (!video_stream) {
- BKE_report(reports, RPT_ERROR, "Error initializing video stream.");
+ return 0;
+ }
+ }
+@@ -782,6 +795,7 @@
+ printf("alloc video stream %p\n", video_stream);
+ if (!video_stream) {
+ BKE_report(reports, RPT_ERROR, "Error initializing video stream.");
+ av_dict_free(&opts);
- return 0;
- }
- }
-@@ -793,27 +807,26 @@
- audio_stream = alloc_audio_stream(rd, fmt->audio_codec, of);
- if (!audio_stream) {
- BKE_report(reports, RPT_ERROR, "Error initializing audio stream.");
+ return 0;
+ }
+ }
+@@ -790,27 +804,27 @@
+ audio_stream = alloc_audio_stream(rd, fmt->audio_codec, of);
+ if (!audio_stream) {
+ BKE_report(reports, RPT_ERROR, "Error initializing audio stream.");
+ av_dict_free(&opts);
- return 0;
- }
- }
+ return 0;
+ }
+ }
- if (av_set_parameters(of, NULL) < 0) {
- BKE_report(reports, RPT_ERROR, "Error setting output parameters.");
- return 0;
- }
- if (!(fmt->flags & AVFMT_NOFILE)) {
- if (avio_open(&of->pb, name, AVIO_FLAG_WRITE) < 0) {
- BKE_report(reports, RPT_ERROR, "Could not open file for writing.");
+ if (!(fmt->flags & AVFMT_NOFILE)) {
+ if (avio_open(&of->pb, name, AVIO_FLAG_WRITE) < 0) {
+ BKE_report(reports, RPT_ERROR, "Could not open file for writing.");
+ av_dict_free(&opts);
- return 0;
- }
- }
--
+ return 0;
+ }
+ }
+
- if (av_write_header(of) < 0) {
+ if (avformat_write_header(of, NULL) < 0) {
- BKE_report(reports, RPT_ERROR, "Could not initialize streams. Probably unsupported codec combination.");
-+ av_dict_free(&opts);
- return 0;
- }
-
- outfile = of;
- av_dump_format(of, 0, name, 1);
+ BKE_report(reports, RPT_ERROR, "Could not initialize streams. Probably unsupported codec combination.");
++ av_dict_free(&opts);
+ return 0;
+ }
+
+ outfile = of;
+ av_dump_format(of, 0, name, 1);
+ av_dict_free(&opts);
-
- return 1;
+
+ return 1;
}
-Index: source/blender/imbuf/intern/anim_movie.c
-===================================================================
---- source/blender/imbuf/intern/anim_movie.c (revision 47422)
-+++ source/blender/imbuf/intern/anim_movie.c (working copy)
-@@ -445,7 +445,7 @@
- int i, videoStream;
-
- AVCodec *pCodec;
+diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/anim_movie.c blender-2.63a/source/blender/imbuf/intern/anim_movie.c
+--- blender-2.63a.orig/source/blender/imbuf/intern/anim_movie.c 2012-05-10 11:50:59.000000000 -0300
++++ blender-2.63a/source/blender/imbuf/intern/anim_movie.c 2012-07-10 18:30:19.413743294 -0300
+@@ -436,7 +436,7 @@
+ int i, videoStream;
+
+ AVCodec *pCodec;
- AVFormatContext *pFormatCtx;
+ AVFormatContext *pFormatCtx = NULL;
- AVCodecContext *pCodecCtx;
- int frs_num;
- double frs_den;
-@@ -464,7 +464,7 @@
-
- do_init_ffmpeg();
-
-- if (av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL) != 0) {
-+ if (avformat_open_input(&pFormatCtx, anim->name, NULL, NULL) != 0) {
- return -1;
- }
-
-@@ -998,7 +998,8 @@
- ret = av_seek_frame(anim->pFormatCtx,
- -1,
- pos, AVSEEK_FLAG_BYTE);
+ AVCodecContext *pCodecCtx;
+ int frs_num;
+ double frs_den;
+@@ -455,7 +455,7 @@
+
+ do_init_ffmpeg();
+
+- if (av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL)!=0) {
++ if (avformat_open_input(&pFormatCtx, anim->name, NULL, NULL)!=0) {
+ return -1;
+ }
+
+@@ -990,7 +990,8 @@
+ ret = av_seek_frame(anim->pFormatCtx,
+ -1,
+ pos, AVSEEK_FLAG_BYTE);
- av_update_cur_dts(anim->pFormatCtx, v_st, dts);
+ // XXX: need double verification
+ // av_update_cur_dts(anim->pFormatCtx, v_st, dts);
- }
- else {
- av_log(anim->pFormatCtx, AV_LOG_DEBUG,
-Index: source/blender/imbuf/intern/indexer.c
-===================================================================
---- source/blender/imbuf/intern/indexer.c (revision 47422)
-+++ source/blender/imbuf/intern/indexer.c (working copy)
-@@ -531,13 +531,6 @@
- rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER;
- }
-
+ }
+ else {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/indexer.c blender-2.63a/source/blender/imbuf/intern/indexer.c
+--- blender-2.63a.orig/source/blender/imbuf/intern/indexer.c 2012-05-10 11:50:59.000000000 -0300
++++ blender-2.63a/source/blender/imbuf/intern/indexer.c 2012-07-10 18:38:25.737051891 -0300
+@@ -533,13 +533,6 @@
+ rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER;
+ }
+
- if (av_set_parameters(rv->of, NULL) < 0) {
- fprintf(stderr, "Couldn't set output parameters? "
-- "Proxy not built!\n");
+- "Proxy not built!\n");
- av_free(rv->of);
- return 0;
- }
-
- if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
- fprintf(stderr, "Couldn't open outputfile! "
- "Proxy not built!\n");
-@@ -574,7 +567,12 @@
- NULL, NULL, NULL);
- }
-
+ if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
+ fprintf(stderr, "Couldn't open outputfile! "
+ "Proxy not built!\n");
+@@ -576,7 +569,12 @@
+ NULL, NULL, NULL);
+ }
+
- av_write_header(rv->of);
+ if (avformat_write_header(rv->of, NULL) < 0) {
+ fprintf(stderr, "Couldn't set output parameters? "
@@ -277,95 +271,92 @@ Index: source/blender/imbuf/intern/indexer.c
+ av_free(rv->of);
+ return 0;
+ }
-
- return rv;
+
+ return rv;
}
-@@ -737,7 +735,7 @@
- memset(context->proxy_ctx, 0, sizeof(context->proxy_ctx));
- memset(context->indexer, 0, sizeof(context->indexer));
-
+@@ -739,7 +737,7 @@
+ memset(context->proxy_ctx, 0, sizeof(context->proxy_ctx));
+ memset(context->indexer, 0, sizeof(context->indexer));
+
- if (av_open_input_file(&context->iFormatCtx, anim->name, NULL, 0, NULL) != 0) {
+ if (avformat_open_input(&context->iFormatCtx, anim->name, NULL, NULL) != 0) {
- MEM_freeN(context);
- return NULL;
- }
-Index: source/blender/imbuf/intern/util.c
-===================================================================
---- source/blender/imbuf/intern/util.c (revision 47422)
-+++ source/blender/imbuf/intern/util.c (working copy)
-@@ -247,7 +247,7 @@
-
- static int isffmpeg(const char *filename)
+ MEM_freeN(context);
+ return NULL;
+ }
+diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/util.c blender-2.63a/source/blender/imbuf/intern/util.c
+--- blender-2.63a.orig/source/blender/imbuf/intern/util.c 2012-05-10 11:50:59.000000000 -0300
++++ blender-2.63a/source/blender/imbuf/intern/util.c 2012-07-10 18:40:49.950377886 -0300
+@@ -243,7 +243,7 @@
+
+ static int isffmpeg (const char *filename)
{
- AVFormatContext *pFormatCtx;
+ AVFormatContext *pFormatCtx = NULL;
- unsigned int i;
- int videoStream;
- AVCodec *pCodec;
-@@ -268,7 +268,7 @@
- return 0;
- }
-
-- if (av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL) != 0) {
-+ if (avformat_open_input(&pFormatCtx, filename, NULL, NULL) != 0) {
- if (UTIL_DEBUG) fprintf(stderr, "isffmpeg: av_open_input_file failed\n");
- return 0;
- }
-Index: source/gameengine/VideoTexture/VideoFFmpeg.cpp
-===================================================================
---- source/gameengine/VideoTexture/VideoFFmpeg.cpp (revision 47422)
-+++ source/gameengine/VideoTexture/VideoFFmpeg.cpp (working copy)
+ unsigned int i;
+ int videoStream;
+ AVCodec *pCodec;
+@@ -261,7 +261,7 @@
+ BLI_testextensie(filename, ".cin") ||
+ BLI_testextensie(filename, ".wav")) return 0;
+
+- if (av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL)!=0) {
++ if (avformat_open_input(&pFormatCtx, filename, NULL, NULL)!=0) {
+ if (UTIL_DEBUG) fprintf(stderr, "isffmpeg: av_open_input_file failed\n");
+ return 0;
+ }
+diff -Naur blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.cpp blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.cpp
+--- blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2012-05-10 11:48:50.000000000 -0300
++++ blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2012-07-10 18:56:03.696998071 -0300
@@ -162,14 +162,14 @@
}
-
-
+
+
-int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams)
+int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVDictionary **formatParams)
{
- AVFormatContext *formatCtx;
+ AVFormatContext *formatCtx = NULL;
- int i, videoStream;
- AVCodec *codec;
- AVCodecContext *codecCtx;
-
+ int i, videoStream;
+ AVCodec *codec;
+ AVCodecContext *codecCtx;
+
- if (av_open_input_file(&formatCtx, filename, inputFormat, 0, formatParams)!=0)
+ if (avformat_open_input(&formatCtx, filename, inputFormat, formatParams)!=0)
- return -1;
-
- if (av_find_stream_info(formatCtx)<0)
+ return -1;
+
+ if (av_find_stream_info(formatCtx)<0)
@@ -545,11 +545,7 @@
- // but it is really not desirable to seek on http file, so force streaming.
- // It would be good to find this information from the context but there are no simple indication
- !strncmp(filename, "http://", 7) ||
+ // but it is really not desirable to seek on http file, so force streaming.
+ // It would be good to find this information from the context but there are no simple indication
+ !strncmp(filename, "http://", 7) ||
-#ifdef FFMPEG_PB_IS_POINTER
- (m_formatCtx->pb && m_formatCtx->pb->is_streamed)
-#else
- m_formatCtx->pb.is_streamed
-#endif
+ (m_formatCtx->pb && !m_formatCtx->pb->seekable)
- )
- {
- // the file is in fact a streaming source, treat as cam to prevent seeking
-@@ -586,14 +582,12 @@
+ )
+ {
+ // the file is in fact a streaming source, treat as cam to prevent seeking
+@@ -586,13 +582,11 @@
{
- // open camera source
- AVInputFormat *inputFormat;
+ // open camera source
+ AVInputFormat *inputFormat;
- AVFormatParameters formatParams;
- AVRational frameRate;
+ AVDictionary *formatParams = NULL;
- char filename[28], rateStr[20];
- char *p;
-
- do_init_ffmpeg();
-
+ char *p, filename[28], rateStr[20];
+
+ do_init_ffmpeg();
+
- memset(&formatParams, 0, sizeof(formatParams));
#ifdef WIN32
- // video capture on windows only through Video For Windows driver
- inputFormat = av_find_input_format("vfwcap");
-@@ -623,7 +617,13 @@
- sprintf(filename, "/dev/dv1394/%d", camIdx);
- } else
- {
+ // video capture on windows only through Video For Windows driver
+ inputFormat = av_find_input_format("vfwcap");
+@@ -622,7 +616,13 @@
+ sprintf(filename, "/dev/dv1394/%d", camIdx);
+ } else
+ {
- inputFormat = av_find_input_format("video4linux");
+ const char *formats[] = {"video4linux2,v4l2", "video4linux2", "video4linux"};
+ int i, formatsCount = sizeof(formats) / sizeof(char*);
@@ -374,23 +365,23 @@ Index: source/gameengine/VideoTexture/VideoFFmpeg.cpp
+ if (inputFormat)
+ break;
+ }
- sprintf(filename, "/dev/video%d", camIdx);
- }
- if (!inputFormat)
-@@ -637,20 +637,22 @@
- if ((p = strchr(filename, ':')) != 0)
- *p = 0;
- }
+ sprintf(filename, "/dev/video%d", camIdx);
+ }
+ if (!inputFormat)
+@@ -636,20 +636,22 @@
+ if ((p = strchr(filename, ':')) != 0)
+ *p = 0;
+ }
- if (file && (p = strchr(file, ':')) != NULL)
- formatParams.standard = p+1;
+ if (file && (p = strchr(file, ':')) != NULL) {
+ av_dict_set(&formatParams, "standard", p+1, 0);
+ }
#endif
- //frame rate
- if (m_captRate <= 0.f)
- m_captRate = defFrameRate;
- sprintf(rateStr, "%f", m_captRate);
+ //frame rate
+ if (m_captRate <= 0.f)
+ m_captRate = defFrameRate;
+ sprintf(rateStr, "%f", m_captRate);
- av_parse_video_rate(&frameRate, rateStr);
- // populate format parameters
- // need to specify the time base = inverse of rate
@@ -406,26 +397,25 @@ Index: source/gameengine/VideoTexture/VideoFFmpeg.cpp
+ BLI_snprintf(video_size, sizeof(video_size), "%dx%d", m_captWidth, m_captHeight);
+ av_dict_set(&formatParams, "video_size", video_size, 0);
+ }
-
- if (openStream(filename, inputFormat, &formatParams) != 0)
- return;
-@@ -665,6 +667,8 @@
- // no need to thread if the system has a single core
- m_isThreaded = true;
- }
+
+ if (openStream(filename, inputFormat, &formatParams) != 0)
+ return;
+@@ -664,6 +666,8 @@
+ // no need to thread if the system has a single core
+ m_isThreaded = true;
+ }
+
+ av_dict_free(&formatParams);
}
-
+
// play video
-Index: source/gameengine/VideoTexture/VideoFFmpeg.h
-===================================================================
---- source/gameengine/VideoTexture/VideoFFmpeg.h (revision 47422)
-+++ source/gameengine/VideoTexture/VideoFFmpeg.h (working copy)
+diff -Naur blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.h blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.h
+--- blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.h 2012-05-10 11:48:50.000000000 -0300
++++ blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.h 2012-07-10 18:57:21.710327435 -0300
@@ -46,10 +46,6 @@
# define FFMPEG_CODEC_IS_POINTER 1
#endif
-
+
-#if LIBAVFORMAT_VERSION_INT >= (52 << 16)
-# define FFMPEG_PB_IS_POINTER 1
-#endif
@@ -434,11 +424,11 @@ Index: source/gameengine/VideoTexture/VideoFFmpeg.h
static inline AVCodecContext* get_codec_from_stream(AVStream* stream)
{
@@ -172,7 +168,7 @@
- double actFrameRate (void) { return m_frameRate * m_baseFrameRate; }
-
- /// common function to video file and capture
+ double actFrameRate (void) { return m_frameRate * m_baseFrameRate; }
+
+ /// common function to video file and capture
- int openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams);
+ int openStream(const char *filename, AVInputFormat *inputFormat, AVDictionary **formatParams);
-
- /// check if a frame is available and load it in pFrame, return true if a frame could be retrieved
- AVFrame* grabFrame(long frame);
+
+ /// check if a frame is available and load it in pFrame, return true if a frame could be retrieved
+ AVFrame* grabFrame(long frame);