diff options
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); |