summaryrefslogtreecommitdiff
path: root/artistic
diff options
context:
space:
mode:
Diffstat (limited to 'artistic')
-rw-r--r--artistic/aqsis/PKGBUILD10
-rw-r--r--artistic/blender-spacenav-libre/PKGBUILD73
-rw-r--r--artistic/blender-spacenav-libre/blender.install13
-rw-r--r--artistic/blender-spacenav-libre/boost-1.50.patch42
-rw-r--r--artistic/blender-spacenav-libre/ffmpeg-0.11.patch434
-rw-r--r--artistic/gimp-art/PKGBUILD105
-rw-r--r--artistic/gimp-art/gimp-splash-artwork.license13
-rw-r--r--artistic/gimp-art/gimp-splash-artwork.pngbin0 -> 375245 bytes
-rw-r--r--artistic/gimp-art/gimp.install12
-rw-r--r--artistic/libspnav/Makefile.in.diff19
-rw-r--r--artistic/libspnav/PKGBUILD24
-rw-r--r--artistic/luxrays-art/PKGBUILD62
-rw-r--r--artistic/luxrays-nocl/PKGBUILD60
-rw-r--r--artistic/luxrender-art/PKGBUILD80
-rw-r--r--artistic/luxrender-art/boost_1.50_fix.diff131
-rw-r--r--artistic/luxrender-nocl/PKGBUILD78
-rw-r--r--artistic/luxrender-nocl/boost_1.50_fix.diff131
-rw-r--r--artistic/spacenavd/PKGBUILD30
-rw-r--r--artistic/spacenavd/spacenav.service10
-rw-r--r--artistic/spacenavd/spacenavd38
-rw-r--r--artistic/spnavcfg/PKGBUILD20
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
new file mode 100644
index 000000000..76c9e8c94
--- /dev/null
+++ b/artistic/gimp-art/gimp-splash-artwork.png
Binary files differ
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(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, 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(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, 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(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, 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(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, 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(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, 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(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, 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(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, 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(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, 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
+}