diff options
Diffstat (limited to 'artistic')
21 files changed, 1380 insertions, 5 deletions
diff --git a/artistic/aqsis/PKGBUILD b/artistic/aqsis/PKGBUILD index ed04e585e..5a772503f 100644 --- a/artistic/aqsis/PKGBUILD +++ b/artistic/aqsis/PKGBUILD @@ -1,11 +1,11 @@ # Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> # Former contributor: Gino Pezzin <pezzin@gmail.com> -# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> pkgname=aqsis -pkgver=1.8.1 +pkgver=1.8.2 pkgrel=1 pkgdesc="A high quality, photorealistic, 3D rendering solution" -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'mips64el') url="http://www.aqsis.org" license=('GPL2') optdepends=('qt: graphical interface' 'libgl: ptview') @@ -13,8 +13,8 @@ depends=('boost-libs' 'openexr' 'hicolor-icon-theme' 'shared-mime-info' 'desktop makedepends=('cmake' 'boost' 'openexr' 'libpng' 'qt' 'mesa') options=('!libtool') install=aqsis.install -source=(http://downloads.sourceforge.net/project/aqsis/aqsis-source/1.8.1/$pkgname-$pkgver.tar.gz) -md5sums=('1fb9b07c6d3c5195ad72e308fb584598') +source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname-source/$pkgver/$pkgname-$pkgver.tar.gz) +md5sums=('399967e99f12cfbd1a7385c4e1d39c3b') build() { cd "$srcdir"/$pkgname-$pkgver diff --git a/artistic/blender-spacenav-libre/PKGBUILD b/artistic/blender-spacenav-libre/PKGBUILD new file mode 100644 index 000000000..73968cd4b --- /dev/null +++ b/artistic/blender-spacenav-libre/PKGBUILD @@ -0,0 +1,73 @@ +# $Id$ +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> + +_pkgname=blender +pkgname=blender-spacenav-libre +pkgver=2.63a +pkgrel=5 +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}") +install=${_pkgname}.install +source=(http://download.${_pkgname}.org/source/${_pkgname}-${pkgver}.tar.gz + ffmpeg-0.11.patch + boost-1.50.patch) +md5sums=('31a60b3ce5466d965cb7e2648995e092' + '9e5649403e51654615d30b10bc460217' + '0bab80da07d980c47b8ce3cb998edaef') + +build() { + cd "${srcdir}/${_pkgname}-${pkgver}" + + patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch + patch -Np1 < "${srcdir}"/boost-1.50.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 + + make +} + +package() { + cd "${srcdir}/${_pkgname}-${pkgver}/build" + make DESTDIR="${pkgdir}" install + python -m compileall "${pkgdir}/usr/share/blender" +} 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/boost-1.50.patch b/artistic/blender-spacenav-libre/boost-1.50.patch new file mode 100644 index 000000000..fa698a3a6 --- /dev/null +++ b/artistic/blender-spacenav-libre/boost-1.50.patch @@ -0,0 +1,42 @@ +diff -Naur a/intern/cycles/util/util_cache.cpp b/intern/cycles/util/util_cache.cpp +--- a/intern/cycles/util/util_cache.cpp 2012-05-10 11:44:09.000000000 -0300 ++++ b/intern/cycles/util/util_cache.cpp 2012-07-15 14:19:34.893238929 -0300 +@@ -26,8 +26,6 @@ + #include "util_path.h" + #include "util_types.h" + +-#define BOOST_FILESYSTEM_VERSION 2 +- + #include <boost/filesystem.hpp> + #include <boost/algorithm/string.hpp> + +@@ -117,7 +115,7 @@ + boost::filesystem::directory_iterator it(dir), it_end; + + for(; it != it_end; it++) { +- string filename = it->path().filename(); ++ string filename = it->path().filename().string(); + + if(boost::starts_with(filename, name)) + if(except.find(filename) == except.end()) +diff -Naur blender-2.63a/intern/cycles/util/util_path.cpp blender-2.63a-new/intern/cycles/util/util_path.cpp +--- a/intern/cycles/util/util_path.cpp 2012-05-10 11:44:09.000000000 -0300 ++++ b/intern/cycles/util/util_path.cpp 2012-07-15 14:19:14.126293394 -0300 +@@ -26,8 +26,6 @@ + + #include <stdio.h> + +-#define BOOST_FILESYSTEM_VERSION 2 +- + #include <boost/filesystem.hpp> + #include <boost/algorithm/string.hpp> + +@@ -60,7 +58,7 @@ + + string path_filename(const string& path) + { +- return boost::filesystem::path(path).filename(); ++ return boost::filesystem::path(path).filename().string(); + } + + string path_dirname(const string& path) 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/gimp-art/PKGBUILD b/artistic/gimp-art/PKGBUILD new file mode 100644 index 000000000..11c3b191b --- /dev/null +++ b/artistic/gimp-art/PKGBUILD @@ -0,0 +1,105 @@ +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> + +pkgname=gimp-art +pkgver=2.8.2 +pkgrel=2 +pkgdesc='GNU Image Manipulation Program (changed splash artwork)' +arch=( + i686 + x86_64 + mips64el +) +url=http://www.${pkgname%-art}.org/ +license=( + GPL + LGPL +) +depends=( + babl + dbus-glib + desktop-file-utils + gegl + hicolor-icon-theme + jasper + lcms + libexif + libmng + librsvg + libxmu + libxpm + libwmf + pygtk +) +makedepends=( + alsa-lib + curl + ghostscript + intltool + iso-codes + libwebkit + poppler-glib +) +optdepends=( + 'alsa-lib: for MIDI event controller module' + 'curl: for URI support' + 'ghostscript: for postscript support' + 'gutenprint: for sophisticated printing only as gimp has built-in cups print support' + 'libwebkit: for the help browser' + 'poppler-glib: for pdf support' +) +options=( + !libtool + !makeflags +) +conflicts=( + ${pkgname%-art} + ${pkgname%-art}-devel +) +provides=( + ${pkgname%-art}=$pkgver +) +install=${pkgname%-art}.install +source=( + ftp://ftp.${pkgname%-art}.org/pub/${pkgname%-art}/v${pkgver%.*}/${pkgname%-art}-$pkgver.tar.bz2 + ${pkgname%-art}-splash-artwork.png + ${pkgname%-art}-splash-artwork.license +) +sha512sums=( + 82a15072aba97d41a7dd74920f5db4e89442ff83841ac614f6fadfd964bdb8d3ae478ac0ba2e906bcf4569c8de00a1616fd6d626032f093060f28df3655d9111 + 1a2930e612b339f49aa85f98275c24202e056f2fff5c1fda94e662bfd45ed5b6226e6ab1947f3daf758f4e5106fd3f7e4f286d63b258f008b6a5d9e5cd6f0611 + d3f055ce278f25b33a6b11f3b031ae801206390fa1f62e3383daf35570e5f68b98ddfac30dea71d89d4916eaf3263e642ad06805c3175f620412e546784335ac +) + +build() { + cd $srcdir/${pkgname%-art}-$pkgver + + ## Add artwork splash image ## + install -Dm644 $srcdir/${pkgname%-art}-splash-artwork.png \ + $srcdir/${pkgname%-art}-$pkgver/data/images/${pkgname%-art}-splash.png + + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --enable-${pkgname%-art}-console \ + --enable-mp \ + --enable-python \ + --sysconfdir=/etc \ + --with-gif-compression=lzw \ + --with-libcurl \ + --without-aa \ + --without-gvfs + make +} + +package() { + cd $srcdir/${pkgname%-art}-$pkgver + make DESTDIR=$pkgdir install + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' $pkgdir/usr/lib/${pkgname%-art}/${pkgver::2}0/plug-ins/*.py + + ## Add artwork splash license ## + install -Dm644 $srcdir/${pkgname%-art}-splash-artwork.license \ + $pkgdir/usr/share/licenses/${pkgname%-art}/${pkgname%-art}-splash-artwork.license + + rm $pkgdir/usr/share/man/man1/$_pkgname-console.1 + ln -s ${pkgname%-art}-console-${pkgver%.*}.1.gz $pkgdir/usr/share/man/man1/${pkgname%-art}-console.1.gz + ln -s ${pkgname%-art}tool-${pkgver::2}0 $pkgdir/usr/bin/${pkgname%-art}tool + ln -sf ${pkgname%-art}tool-${pkgver::2}0.1.gz $pkgdir/usr/share/man/man1/${pkgname%-art}tool.1.gz +} diff --git a/artistic/gimp-art/gimp-splash-artwork.license b/artistic/gimp-art/gimp-splash-artwork.license new file mode 100644 index 000000000..64267a6c0 --- /dev/null +++ b/artistic/gimp-art/gimp-splash-artwork.license @@ -0,0 +1,13 @@ +GIMP LIBRE SPLASH LICENSE + +Logo and Effects is created by Zé Lara <ze.lara@adinet.com.uy> and Márcio Silva <coadde@adinet.com.uy> +Idea by André Silva <andre.paulista@adinet.com.uy> + +The GIMP LIBRE splash screen is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send aletter to Creative Commons, 444 Castro Street, +Suite 900, Mountain View, California, 94041, USA. + +Sangeno Waterfall Picture is created by Abedinali from Wikimedia Commons under the Creative Commons CC0 1.0 Universal license (Public Domain). +To the extent possible under law, Abedinali from Wikimedia Commons has waived all copyright and related or neighboring rights to Sangeno Waterfall. +This work is published from: United States. +https://upload.wikimedia.org/wikipedia/commons/8/8b/Sangeno.jpg
\ No newline at end of file diff --git a/artistic/gimp-art/gimp-splash-artwork.png b/artistic/gimp-art/gimp-splash-artwork.png Binary files differnew file mode 100644 index 000000000..76c9e8c94 --- /dev/null +++ b/artistic/gimp-art/gimp-splash-artwork.png diff --git a/artistic/gimp-art/gimp.install b/artistic/gimp-art/gimp.install new file mode 100644 index 000000000..c317fbaca --- /dev/null +++ b/artistic/gimp-art/gimp.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} 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/luxrays-art/PKGBUILD b/artistic/luxrays-art/PKGBUILD new file mode 100644 index 000000000..e7cbda0e9 --- /dev/null +++ b/artistic/luxrays-art/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> + +pkgname=luxrays-art +pkgver=1.0rc4 +_pkgver=752ba5c422e0 +pkgrel=1 +epoch=0 +pkgdesc='Accelerate the ray intersection process by using GPUs' +arch=( + i686 + x86_64 + mips64el +) +url=http://www.${pkgname::3}render.net/ +license=( + GPL +) +depends=( + freeimage + freeglut + glew + libcl-libre +) +makedepends=( + cmake + boost + opencl-headers +) +conflicts=( + ${pkgname%-art} +) +provides=( + ${pkgname%-art}=$pkgver +) +source=( + https://bitbucket.org/${pkgname::3}render/${pkgname%-art}/get/$_pkgver.tar.bz2 +) +md5sums=( + f5f4b53df22a1c7ad301c78d046edd7d +) + +build() { + cd $srcdir/${pkgname::3}render-${pkgname%-art}-$_pkgver + + export CXXFLAGS='$CXXFLAGS -lpthread' + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=ON \ + -DLUXRAYS_DISABLE_OPENCL=OFF \ + . + make +} + +package() { + cd $srcdir/luxrender-${pkgname%-art}-$_pkgver + + install -d -m755 $pkgdir/usr/{bin,include,lib} + install -m755 bin/* $pkgdir/usr/bin + install -m644 lib/* $pkgdir/usr/lib + cp -a include/${pkgname%-art} $pkgdir/usr/include +} + diff --git a/artistic/luxrays-nocl/PKGBUILD b/artistic/luxrays-nocl/PKGBUILD new file mode 100644 index 000000000..cd6d642e7 --- /dev/null +++ b/artistic/luxrays-nocl/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> + +pkgname=luxrays-nocl +pkgver=1.0rc4 +_pkgver=752ba5c422e0 +pkgrel=1 +epoch=0 +pkgdesc='Accelerate the ray intersection process by using CPUs (without OpenCL)' +arch=( + i686 + x86_64 + mips64el +) +url=http://www.${pkgname::3}render.net/ +license=( + GPL +) +depends=( + freeimage + freeglut + glew +) +makedepends=( + cmake + boost +) +conflicts=( + ${pkgname%-nocl} +) +provides=( + ${pkgname%-nocl}=$pkgver +) +source=( + https://bitbucket.org/${pkgname::3}render/${pkgname%-nocl}/get/$_pkgver.tar.bz2 +) +md5sums=( + f5f4b53df22a1c7ad301c78d046edd7d +) + +build() { + cd $srcdir/${pkgname::3}render-${pkgname%-nocl}-$_pkgver + + export CXXFLAGS='$CXXFLAGS -lpthread' + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=ON \ + -DLUXRAYS_DISABLE_OPENCL=ON \ + . + make +} + +package() { + cd $srcdir/luxrender-${pkgname%-nocl}-$_pkgver + + install -d -m755 $pkgdir/usr/{bin,include,lib} + install -m755 bin/* $pkgdir/usr/bin + install -m644 lib/* $pkgdir/usr/lib + cp -a include/${pkgname%-nocl} $pkgdir/usr/include +} + diff --git a/artistic/luxrender-art/PKGBUILD b/artistic/luxrender-art/PKGBUILD new file mode 100644 index 000000000..5c5a4e0d1 --- /dev/null +++ b/artistic/luxrender-art/PKGBUILD @@ -0,0 +1,80 @@ +# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> +# Initial contributor: flixie <69one@gmx.net> +# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> +pkgname=luxrender-art +pkgver=1.0rc4 +_pkgver=0b4c3e188707 +pkgrel=1 +pkgdesc='Rendering system for physically correct, unbiased image synthesis' +arch=( + i686 + x86_64 + mips64el +) +url=http://www.${pkgname%-art}.net/ +license=( + GPL +) +depends=( + boost-libs + freeimage + openexr + libcl-libre +) +optdepends=( + 'luxblend25: Blender exporter' + 'python: Python interface (pylux)' + 'qt: Qt GUI' +) +makedepends=( + cmake + boost + qt + ${pkgname::3}rays-art=$pkgver + python + opencl-headers +) +conflicts=( + ${pkgname%-art} +) +provides=( + ${pkgname%-art}=$pkgver +) +source=( + https://bitbucket.org/${pkgname%-art}/${pkgname::3}/get/$_pkgver.tar.bz2 + boost_1.50_fix.diff +) +md5sums=( + 54ff625a7833541c3cff5f0a77a93863 + 8c7774bb0c97aadd77d9e665d8fa4aab +) + +build() { + cd $srcdir/${pkgname%-art}-${pkgname::3}-$_pkgver + + # fix for boost 1.50 + # the boost::TIME_UTC has been renamed due to the conflict with C++11 + patch -Np1 < $srcdir/boost_1.50_fix.diff || true + + export CXXFLAGS='$CXXFLAGS -lpthread' + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DLUXRAYS_DISABLE_OPENCL=ON \ + -DPYTHON_CUSTOM=ON \ + -DPYTHON_LIBRARIES=/usr/lib/libpython3.2mu.so \ + -DPYTHON_INCLUDE_PATH=/usr/include/python3.2mu \ + . + make +} + +package() { + cd $srcdir/${pkgname%-art}-${pkgname::3}-$_pkgver + make DESTDIR=$pkgdir install + + # fix library path on x86_64 + [ $CARCH = x86_64 ] && mv $pkgdir/usr/lib64 $pkgdir/usr/lib + + #install pylux + install -D -m644 pylux.so $pkgdir/usr/lib/python3.2/pylux.so +} + diff --git a/artistic/luxrender-art/boost_1.50_fix.diff b/artistic/luxrender-art/boost_1.50_fix.diff new file mode 100644 index 000000000..c1aa0a8e2 --- /dev/null +++ b/artistic/luxrender-art/boost_1.50_fix.diff @@ -0,0 +1,131 @@ +diff -rup luxrender-lux-008805644181/core/film.cpp luxrender-lux-008805644181.new/core/film.cpp +--- luxrender-lux-008805644181/core/film.cpp 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/core/film.cpp 2012-07-07 15:44:59.867492295 +0200 +@@ -618,7 +618,7 @@ Film::Film(u_int xres, u_int yres, Filte + int yRealHeight = Floor2Int(yPixelStart + .5f + yPixelCount + filter->yWidth) - Floor2Int(yPixelStart + .5f - filter->yWidth); + samplePerPass = xRealWidth * yRealHeight; + +- boost::xtime_get(&creationTime, boost::TIME_UTC); ++ boost::xtime_get(&creationTime, boost::TIME_UTC_); + + //Queryable parameters + AddIntAttribute(*this, "xResolution", "Horizontal resolution (pixels)", &Film::GetXResolution); +@@ -855,7 +855,7 @@ void Film::AddSampleCount(float count) { + if (haltTime > 0) { + // Check if we have met the enough rendering time condition + boost::xtime t; +- boost::xtime_get(&t, boost::TIME_UTC); ++ boost::xtime_get(&t, boost::TIME_UTC_); + if (t.sec - creationTime.sec > haltTime) + enoughSamplesPerPixel = true; + } +diff -rup luxrender-lux-008805644181/core/photonmap.cpp luxrender-lux-008805644181.new/core/photonmap.cpp +--- luxrender-lux-008805644181/core/photonmap.cpp 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/core/photonmap.cpp 2012-07-07 15:44:59.870825579 +0200 +@@ -474,13 +474,13 @@ void PhotonMapPreprocess(const RandomGen + + boost::xtime photonShootingStartTime; + boost::xtime lastUpdateTime; +- boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC); +- boost::xtime_get(&lastUpdateTime, boost::TIME_UTC); ++ boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC_); ++ boost::xtime_get(&lastUpdateTime, boost::TIME_UTC_); + u_int nshot = 0; + while ((!radianceDone || !directDone || !causticDone || !indirectDone) && !scene.terminated) { + // Dade - print some progress information + boost::xtime currentTime; +- boost::xtime_get(¤tTime, boost::TIME_UTC); ++ boost::xtime_get(¤tTime, boost::TIME_UTC_); + if (currentTime.sec - lastUpdateTime.sec > 5) { + ss.str(""); + ss << "Photon shooting progress: Direct[" << directPhotons.size(); +@@ -686,7 +686,7 @@ void PhotonMapPreprocess(const RandomGen + return; + + boost::xtime photonShootingEndTime; +- boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC); ++ boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC_); + LOG(LUX_INFO,LUX_NOERROR) << "Photon shooting done (" << ( photonShootingEndTime.sec - photonShootingStartTime.sec ) << "s)"; + + if (computeRadianceMap) { +@@ -700,7 +700,7 @@ void PhotonMapPreprocess(const RandomGen + for (u_int i = 0; i < radiancePhotons.size(); ++i) { + // Dade - print some progress info + boost::xtime currentTime; +- boost::xtime_get(¤tTime, boost::TIME_UTC); ++ boost::xtime_get(¤tTime, boost::TIME_UTC_); + if (currentTime.sec - lastUpdateTime.sec > 5) { + LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computation progress: " << i << " (" << (100 * i / radiancePhotons.size()) << "%)"; + +@@ -740,7 +740,7 @@ void PhotonMapPreprocess(const RandomGen + + + boost::xtime radianceComputeEndTime; +- boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC); ++ boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC_); + LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computed (" << ( radianceComputeEndTime.sec - photonShootingEndTime.sec ) << "s)"; + } + +diff -rup luxrender-lux-008805644181/core/renderfarm.cpp luxrender-lux-008805644181.new/core/renderfarm.cpp +--- luxrender-lux-008805644181/core/renderfarm.cpp 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/core/renderfarm.cpp 2012-07-07 15:44:59.870825579 +0200 +@@ -100,7 +100,7 @@ void FilmUpdaterThread::updateFilm(FilmU + // Dade - thread to update the film with data from servers + + boost::xtime reft; +- boost::xtime_get(&reft, boost::TIME_UTC); ++ boost::xtime_get(&reft, boost::TIME_UTC_); + + while (filmUpdaterThread->signal == SIG_NONE) { + // Dade - check signal every 1 sec +@@ -108,7 +108,7 @@ void FilmUpdaterThread::updateFilm(FilmU + for(;;) { + // Dade - sleep for 1 sec + boost::xtime xt; +- boost::xtime_get(&xt, boost::TIME_UTC); ++ boost::xtime_get(&xt, boost::TIME_UTC_); + xt.sec += 1; + boost::thread::sleep(xt); + +diff -rup luxrender-lux-008805644181/film/fleximage.cpp luxrender-lux-008805644181.new/film/fleximage.cpp +--- luxrender-lux-008805644181/film/fleximage.cpp 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/film/fleximage.cpp 2012-07-07 15:44:59.877492150 +0200 +@@ -191,7 +191,7 @@ FlexImageFilm::FlexImageFilm(u_int xres, + m_CameraResponseEnabled = d_CameraResponseEnabled = m_CameraResponseFile != ""; + + // init timer +- boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC); ++ boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC_); + lastWriteFLMTime = lastWriteImageTime; + } + +@@ -812,7 +812,7 @@ void FlexImageFilm::CheckWriteOuputInter + { + // Check write output interval + boost::xtime currentTime; +- boost::xtime_get(¤tTime, boost::TIME_UTC); ++ boost::xtime_get(¤tTime, boost::TIME_UTC_); + bool timeToWriteImage = (currentTime.sec - lastWriteImageTime.sec > writeInterval); + bool timeToWriteFLM = (currentTime.sec - lastWriteFLMTime.sec > flmWriteInterval); + +@@ -834,7 +834,7 @@ void FlexImageFilm::CheckWriteOuputInter + // WriteImage can take a very long time to be executed (i.e. by saving + // the film. It is better to refresh timestamps after the + // execution of WriteImage instead than before. +- boost::xtime_get(¤tTime, boost::TIME_UTC); ++ boost::xtime_get(¤tTime, boost::TIME_UTC_); + + if (timeToWriteImage) + lastWriteImageTime = currentTime; +diff -rup luxrender-lux-008805644181/renderers/sppmrenderer.h luxrender-lux-008805644181.new/renderers/sppmrenderer.h +--- luxrender-lux-008805644181/renderers/sppmrenderer.h 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/renderers/sppmrenderer.h 2012-07-07 15:44:59.874158864 +0200 +@@ -126,7 +126,7 @@ public: + { + while (state == PAUSE && !boost::this_thread::interruption_requested()) { + boost::xtime xt; +- boost::xtime_get(&xt, boost::TIME_UTC); ++ boost::xtime_get(&xt, boost::TIME_UTC_); + xt.sec += 1; + boost::thread::sleep(xt); + } diff --git a/artistic/luxrender-nocl/PKGBUILD b/artistic/luxrender-nocl/PKGBUILD new file mode 100644 index 000000000..9daa7a548 --- /dev/null +++ b/artistic/luxrender-nocl/PKGBUILD @@ -0,0 +1,78 @@ +# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> +# Initial contributor: flixie <69one@gmx.net> +# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> +pkgname=luxrender-nocl +pkgver=1.0rc4 +_pkgver=0b4c3e188707 +pkgrel=1 +pkgdesc='Rendering system for physically correct, unbiased image synthesis (without OpenCL)' +arch=( + i686 + x86_64 + mips64el +) +url=http://www.${pkgname%-nocl}.net/ +license=( + GPL +) +depends=( + boost-libs + freeimage + openexr +) +optdepends=( + 'luxblend25: Blender exporter' + 'python: Python interface (pylux)' + 'qt: Qt GUI' +) +makedepends=( + cmake + boost + qt + ${pkgname::3}rays-nocl=$pkgver + python +) +conflicts=( + ${pkgname%-nocl} +) +provides=( + ${pkgname%-nocl}=$pkgver +) +source=( + https://bitbucket.org/${pkgname%-nocl}/${pkgname::3}/get/$_pkgver.tar.bz2 + boost_1.50_fix.diff +) +md5sums=( + 54ff625a7833541c3cff5f0a77a93863 + 8c7774bb0c97aadd77d9e665d8fa4aab +) + +build() { + cd $srcdir/${pkgname%-nocl}-${pkgname::3}-$_pkgver + + # fix for boost 1.50 + # the boost::TIME_UTC has been renamed due to the conflict with C++11 + patch -Np1 < $srcdir/boost_1.50_fix.diff || true + + export CXXFLAGS='$CXXFLAGS -lpthread' + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DLUXRAYS_DISABLE_OPENCL=ON \ + -DPYTHON_CUSTOM=ON \ + -DPYTHON_LIBRARIES=/usr/lib/libpython3.2mu.so \ + -DPYTHON_INCLUDE_PATH=/usr/include/python3.2mu \ + . + make +} + +package() { + cd $srcdir/${pkgname%-nocl}-${pkgname::3}-$_pkgver + make DESTDIR=$pkgdir install + + # fix library path on x86_64 + [ $CARCH = x86_64 ] && mv $pkgdir/usr/lib64 $pkgdir/usr/lib + + #install pylux + install -D -m644 pylux.so $pkgdir/usr/lib/python3.2/pylux.so +} + diff --git a/artistic/luxrender-nocl/boost_1.50_fix.diff b/artistic/luxrender-nocl/boost_1.50_fix.diff new file mode 100644 index 000000000..c1aa0a8e2 --- /dev/null +++ b/artistic/luxrender-nocl/boost_1.50_fix.diff @@ -0,0 +1,131 @@ +diff -rup luxrender-lux-008805644181/core/film.cpp luxrender-lux-008805644181.new/core/film.cpp +--- luxrender-lux-008805644181/core/film.cpp 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/core/film.cpp 2012-07-07 15:44:59.867492295 +0200 +@@ -618,7 +618,7 @@ Film::Film(u_int xres, u_int yres, Filte + int yRealHeight = Floor2Int(yPixelStart + .5f + yPixelCount + filter->yWidth) - Floor2Int(yPixelStart + .5f - filter->yWidth); + samplePerPass = xRealWidth * yRealHeight; + +- boost::xtime_get(&creationTime, boost::TIME_UTC); ++ boost::xtime_get(&creationTime, boost::TIME_UTC_); + + //Queryable parameters + AddIntAttribute(*this, "xResolution", "Horizontal resolution (pixels)", &Film::GetXResolution); +@@ -855,7 +855,7 @@ void Film::AddSampleCount(float count) { + if (haltTime > 0) { + // Check if we have met the enough rendering time condition + boost::xtime t; +- boost::xtime_get(&t, boost::TIME_UTC); ++ boost::xtime_get(&t, boost::TIME_UTC_); + if (t.sec - creationTime.sec > haltTime) + enoughSamplesPerPixel = true; + } +diff -rup luxrender-lux-008805644181/core/photonmap.cpp luxrender-lux-008805644181.new/core/photonmap.cpp +--- luxrender-lux-008805644181/core/photonmap.cpp 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/core/photonmap.cpp 2012-07-07 15:44:59.870825579 +0200 +@@ -474,13 +474,13 @@ void PhotonMapPreprocess(const RandomGen + + boost::xtime photonShootingStartTime; + boost::xtime lastUpdateTime; +- boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC); +- boost::xtime_get(&lastUpdateTime, boost::TIME_UTC); ++ boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC_); ++ boost::xtime_get(&lastUpdateTime, boost::TIME_UTC_); + u_int nshot = 0; + while ((!radianceDone || !directDone || !causticDone || !indirectDone) && !scene.terminated) { + // Dade - print some progress information + boost::xtime currentTime; +- boost::xtime_get(¤tTime, boost::TIME_UTC); ++ boost::xtime_get(¤tTime, boost::TIME_UTC_); + if (currentTime.sec - lastUpdateTime.sec > 5) { + ss.str(""); + ss << "Photon shooting progress: Direct[" << directPhotons.size(); +@@ -686,7 +686,7 @@ void PhotonMapPreprocess(const RandomGen + return; + + boost::xtime photonShootingEndTime; +- boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC); ++ boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC_); + LOG(LUX_INFO,LUX_NOERROR) << "Photon shooting done (" << ( photonShootingEndTime.sec - photonShootingStartTime.sec ) << "s)"; + + if (computeRadianceMap) { +@@ -700,7 +700,7 @@ void PhotonMapPreprocess(const RandomGen + for (u_int i = 0; i < radiancePhotons.size(); ++i) { + // Dade - print some progress info + boost::xtime currentTime; +- boost::xtime_get(¤tTime, boost::TIME_UTC); ++ boost::xtime_get(¤tTime, boost::TIME_UTC_); + if (currentTime.sec - lastUpdateTime.sec > 5) { + LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computation progress: " << i << " (" << (100 * i / radiancePhotons.size()) << "%)"; + +@@ -740,7 +740,7 @@ void PhotonMapPreprocess(const RandomGen + + + boost::xtime radianceComputeEndTime; +- boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC); ++ boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC_); + LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computed (" << ( radianceComputeEndTime.sec - photonShootingEndTime.sec ) << "s)"; + } + +diff -rup luxrender-lux-008805644181/core/renderfarm.cpp luxrender-lux-008805644181.new/core/renderfarm.cpp +--- luxrender-lux-008805644181/core/renderfarm.cpp 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/core/renderfarm.cpp 2012-07-07 15:44:59.870825579 +0200 +@@ -100,7 +100,7 @@ void FilmUpdaterThread::updateFilm(FilmU + // Dade - thread to update the film with data from servers + + boost::xtime reft; +- boost::xtime_get(&reft, boost::TIME_UTC); ++ boost::xtime_get(&reft, boost::TIME_UTC_); + + while (filmUpdaterThread->signal == SIG_NONE) { + // Dade - check signal every 1 sec +@@ -108,7 +108,7 @@ void FilmUpdaterThread::updateFilm(FilmU + for(;;) { + // Dade - sleep for 1 sec + boost::xtime xt; +- boost::xtime_get(&xt, boost::TIME_UTC); ++ boost::xtime_get(&xt, boost::TIME_UTC_); + xt.sec += 1; + boost::thread::sleep(xt); + +diff -rup luxrender-lux-008805644181/film/fleximage.cpp luxrender-lux-008805644181.new/film/fleximage.cpp +--- luxrender-lux-008805644181/film/fleximage.cpp 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/film/fleximage.cpp 2012-07-07 15:44:59.877492150 +0200 +@@ -191,7 +191,7 @@ FlexImageFilm::FlexImageFilm(u_int xres, + m_CameraResponseEnabled = d_CameraResponseEnabled = m_CameraResponseFile != ""; + + // init timer +- boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC); ++ boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC_); + lastWriteFLMTime = lastWriteImageTime; + } + +@@ -812,7 +812,7 @@ void FlexImageFilm::CheckWriteOuputInter + { + // Check write output interval + boost::xtime currentTime; +- boost::xtime_get(¤tTime, boost::TIME_UTC); ++ boost::xtime_get(¤tTime, boost::TIME_UTC_); + bool timeToWriteImage = (currentTime.sec - lastWriteImageTime.sec > writeInterval); + bool timeToWriteFLM = (currentTime.sec - lastWriteFLMTime.sec > flmWriteInterval); + +@@ -834,7 +834,7 @@ void FlexImageFilm::CheckWriteOuputInter + // WriteImage can take a very long time to be executed (i.e. by saving + // the film. It is better to refresh timestamps after the + // execution of WriteImage instead than before. +- boost::xtime_get(¤tTime, boost::TIME_UTC); ++ boost::xtime_get(¤tTime, boost::TIME_UTC_); + + if (timeToWriteImage) + lastWriteImageTime = currentTime; +diff -rup luxrender-lux-008805644181/renderers/sppmrenderer.h luxrender-lux-008805644181.new/renderers/sppmrenderer.h +--- luxrender-lux-008805644181/renderers/sppmrenderer.h 2012-06-02 08:40:33.000000000 +0200 ++++ luxrender-lux-008805644181.new/renderers/sppmrenderer.h 2012-07-07 15:44:59.874158864 +0200 +@@ -126,7 +126,7 @@ public: + { + while (state == PAUSE && !boost::this_thread::interruption_requested()) { + boost::xtime xt; +- boost::xtime_get(&xt, boost::TIME_UTC); ++ boost::xtime_get(&xt, boost::TIME_UTC_); + xt.sec += 1; + boost::thread::sleep(xt); + } diff --git a/artistic/spacenavd/PKGBUILD b/artistic/spacenavd/PKGBUILD new file mode 100644 index 000000000..cf8a43c32 --- /dev/null +++ b/artistic/spacenavd/PKGBUILD @@ -0,0 +1,30 @@ +# Contributor: Jan Hambrecht <jaham at gmx dot net> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> + +pkgname=spacenavd +pkgver=0.5 +pkgrel=2 +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') +backup=('etc/spnavrc') +source=(http://downloads.sourceforge.net/spacenav/$pkgname-$pkgver.tar.gz + spacenavd + spacenav.service) + +md5sums=('0bb21da5315bd376aa508157a9455aaa' + '27a739300d4de07920879af2d2bdd47f' + 'b404c8021254636b861651a7a48d17a6') + +build() { + cd $srcdir/$pkgname-$pkgver + ./configure --prefix=$pkgdir/usr + make || return 1 + make DESTDIR=$pkgdir install || return 1 + # for initscript service + install -D -m755 $srcdir/spacenavd $pkgdir/etc/rc.d/spacenavd || return 1 + # for systend service + install -D -m755 $srcdir/spacenav.service $pkgdir/usr/lib/systemd/system/spacenav.service || return 1 +} diff --git a/artistic/spacenavd/spacenav.service b/artistic/spacenavd/spacenav.service new file mode 100644 index 000000000..30e8019e9 --- /dev/null +++ b/artistic/spacenavd/spacenav.service @@ -0,0 +1,10 @@ +[Unit] +Description=Spacenavigator Daemon Service + +[Service] +Type=forking +ExecStart=/usr/bin/spacenavd + +[Install] +WantedBy=multi-user.target + diff --git a/artistic/spacenavd/spacenavd b/artistic/spacenavd/spacenavd new file mode 100644 index 000000000..61946197c --- /dev/null +++ b/artistic/spacenavd/spacenavd @@ -0,0 +1,38 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +DAEMON=/usr/bin/spacenavd + +PID=`pidof -o %PPID $DAEMON` +case "$1" in + start) + stat_busy "Starting Spacenavigator Daemon" + [ -z "$PID" ] && $DAEMON + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon spacenavd + stat_done + fi + ;; + stop) + stat_busy "Stopping Spacenavigator Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon spacenavd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 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 +} |