diff options
61 files changed, 2335 insertions, 212 deletions
diff --git a/community-testing/vdrift/PKGBUILD b/community-testing/vdrift/PKGBUILD index 4ee25ce0f..e6950ad00 100644 --- a/community-testing/vdrift/PKGBUILD +++ b/community-testing/vdrift/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 55713 2011-09-17 21:16:15Z stephane $ +# $Id: PKGBUILD 55771 2011-09-20 02:23:49Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Anton Bazhenov <anton.bazhenov at gmail> # Contributor: Lone_Wolf lonewolf@xs4all.nl pkgname=vdrift pkgver=2011.09.01 -pkgrel=2 +pkgrel=3 pkgdesc="An open source driving simulation made with drift racing in mind" arch=('i686' 'x86_64') url="http://vdrift.net/" diff --git a/community/bullet/PKGBUILD b/community/bullet/PKGBUILD index f62122878..d847b6037 100644 --- a/community/bullet/PKGBUILD +++ b/community/bullet/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 45481 2011-04-22 06:49:32Z svenstaro $ +# $Id: PKGBUILD 55766 2011-09-19 23:58:08Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org> pkgbase=bullet pkgname=('bullet' 'bullet-docs') -pkgver=2.78 +pkgver=2.79 pkgrel=1 pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation" arch=('i686' 'x86_64') @@ -12,9 +12,9 @@ url="http://www.bulletphysics.com/Bullet/" license=('custom:zlib') depends=('freeglut') makedepends=('cmake' 'doxygen' 'graphviz' 'ttf-dejavu') -source=(http://bullet.googlecode.com/files/${pkgbase}-${pkgver}-r2387.tgz \ +source=(http://bullet.googlecode.com/files/${pkgbase}-${pkgver}-rev2440.tgz \ ${pkgbase}.pc) -md5sums=('3611456232f1c01dea8094213382d0b3' +md5sums=('29d6f43964d8494f0366cd69e4883dd1' 'd1da06deba3b08b884d2212f6838905c') build() { diff --git a/community/dmenu/PKGBUILD b/community/dmenu/PKGBUILD index a9dc8a15f..db7dc7373 100644 --- a/community/dmenu/PKGBUILD +++ b/community/dmenu/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 52072 2011-07-19 21:43:36Z spupykin $ +# $Id: PKGBUILD 55762 2011-09-19 13:35:20Z ttopper $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> # Contributor: Thayer Williams <thayer@archlinux.org> # Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org> pkgname=dmenu -pkgver=4.4 +pkgver=4.4.1 pkgrel=1 pkgdesc="A generic menu for X" url="http://tools.suckless.org/dmenu/" @@ -13,7 +13,7 @@ arch=('i686' 'x86_64') license=('MIT') depends=('sh' 'libxinerama') source=("http://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz") -md5sums=('ae1902fc37716f739836fddce6123ebc') +md5sums=('d18aaa9ac3265f92ec34a0df0cb6ebd4') build(){ cd $srcdir/$pkgname-$pkgver diff --git a/community/dvdstyler/PKGBUILD b/community/dvdstyler/PKGBUILD index f42f4dcc0..de376ce18 100644 --- a/community/dvdstyler/PKGBUILD +++ b/community/dvdstyler/PKGBUILD @@ -1,23 +1,26 @@ -# $Id: PKGBUILD 45103 2011-04-16 14:58:57Z ebelanger $ +# $Id: PKGBUILD 55752 2011-09-19 04:58:47Z ebelanger $ # Contributor: Alexander Fehr <pizzapunk gmail com> # Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=dvdstyler -pkgver=1.8.3 +pkgver=1.8.4.3 pkgrel=1 pkgdesc="Cross-platform DVD authoring application" arch=('i686' 'x86_64') url="http://www.dvdstyler.de/" license=('GPL') -depends=('cdrkit' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' 'gettext' 'libexif' 'wxgtk' 'wxsvg' 'xine-ui' 'mjpegtools' 'libgnomeui') +depends=('cdrkit' 'dvdauthor' 'dvd+rw-tools' 'libexif' 'wxsvg' 'xine-ui' 'mjpegtools' 'libgnomeui') makedepends=('zip' 'xmlto' 'docbook-xsl') optdepends=('dvdisaster: ECC support') options=('!makeflags') -source=("http://downloads.sourceforge.net/dvdstyler/DVDStyler-${pkgver}.tar.bz2") -md5sums=('69a6d0a920e780bbcf65e94041e58429') +source=(http://downloads.sourceforge.net/dvdstyler/DVDStyler-${pkgver}.tar.bz2 dvdstyler-ffmpeg.patch) +md5sums=('418de47c4e09a89a633b905af2a7d4fb' + '4f053158965b2be3ae26506470aeda58') build() { cd "${srcdir}/DVDStyler-${pkgver}" + patch -p1 -i "${srcdir}/dvdstyler-ffmpeg.patch" + sed -i 's/rmdir "$$t"//' docs/Makefile.in ./configure --prefix=/usr make } diff --git a/community/dvdstyler/dvdstyler-ffmpeg.patch b/community/dvdstyler/dvdstyler-ffmpeg.patch new file mode 100644 index 000000000..f2f56f6ff --- /dev/null +++ b/community/dvdstyler/dvdstyler-ffmpeg.patch @@ -0,0 +1,1915 @@ +diff -Naur DVDStyler-1.8.4.3.orig/src/mediatrc_ffmpeg.cpp DVDStyler-1.8.4.3/src/mediatrc_ffmpeg.cpp +--- DVDStyler-1.8.4.3.orig/src/mediatrc_ffmpeg.cpp 2011-05-15 09:23:34.000000000 -0400 ++++ DVDStyler-1.8.4.3/src/mediatrc_ffmpeg.cpp 2011-09-18 18:13:03.000000000 -0400 +@@ -3,7 +3,7 @@ + // Purpose: FFMPEG Media Transcoder + // Author: Alex Thuering + // Created: 26.04.2008 +-// RCS-ID: $Id: mediatrc_ffmpeg.cpp,v 1.33 2011/05/15 13:23:34 ntalex Exp $ ++// RCS-ID: $Id: mediatrc_ffmpeg.cpp,v 1.34 2011/07/24 07:58:21 ntalex Exp $ + // Copyright: (c) Alex Thuering + // Licence: GPL + ///////////////////////////////////////////////////////////////////////////// +@@ -17,21 +17,16 @@ + #include <math.h> + #include <errno.h> + extern "C" { +-#ifdef HAVE_FFMPEG_AVUTIL_H +-#include <opt.h> +-#include <swscale.h> +-#include <avutil.h> +-#include <fifo.h> +-#include <avfilter.h> +-#include <avfiltergraph.h> +-#else +-#include <libavcodec/opt.h> +-#include <libswscale/swscale.h> ++#include <libavutil/opt.h> + #include <libavutil/avutil.h> + #include <libavutil/fifo.h> ++#include <libavutil/dict.h> ++#include <libavutil/pixdesc.h> ++#include <libswscale/swscale.h> ++#include <libavfilter/avcodec.h> + #include <libavfilter/avfilter.h> + #include <libavfilter/avfiltergraph.h> +-#endif ++#include <libavfilter/vsink_buffer.h> + } + + #define AUDIO_BUF_SIZE 50000 +@@ -48,101 +43,19 @@ + #define INT64_MAX INT64_C(9223372036854775807) + #endif + +-#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52, 45, 0) +-#define av_guess_format guess_format +-#endif +- +-#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 64, 0) +-#define AVMediaType CodecType +-#define AVMEDIA_TYPE_UNKNOWN CODEC_TYPE_UNKNOWN +-#define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO +-#define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO +-#define AVMEDIA_TYPE_DATA CODEC_TYPE_DATA +-#define AVMEDIA_TYPE_SUBTITLE CODEC_TYPE_SUBTITLE +-#define AVMEDIA_TYPE_ATTACHMENT CODEC_TYPE_ATTACHMENT +-#define AVMEDIA_TYPE_NB CODEC_TYPE_NB ++#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 4, 0) ++#define AVIO_FLAG_WRITE AVIO_WRONLY + #endif + + //////////////////////////// AVAudioConvert ///////////////////////////////// +- +-struct AVAudioConvert { +- int in_channels, out_channels; +- int fmt_pair; +-}; +- +-AVAudioConvert *av_audio_convert_alloc(enum AVSampleFormat out_fmt, int out_channels, +- enum AVSampleFormat in_fmt, int in_channels, +- const float *matrix, int flags) { +- AVAudioConvert *ctx; +- if (in_channels != out_channels) +- return NULL; +- ctx = (AVAudioConvert*) av_malloc(sizeof(AVAudioConvert)); +- if (!ctx) +- return NULL; +- ctx->in_channels = in_channels; +- ctx->out_channels = out_channels; +- ctx->fmt_pair = out_fmt + AV_SAMPLE_FMT_NB * in_fmt; +- return ctx; +-} +- +-void av_audio_convert_free(AVAudioConvert *ctx) { +- av_free(ctx); +-} +- +-int av_audio_convert(AVAudioConvert *ctx, +- void * const out[6], const int out_stride[6], +- const void * const in[6], const int in_stride[6], int len) { +- int ch; +- +- //FIXME optimize common cases +- +- for (ch = 0; ch < ctx->out_channels; ch++) { +- const int is = in_stride[ch]; +- const int os = out_stride[ch]; +- const uint8_t *pi = (const uint8_t *) in[ch]; +- uint8_t *po = (uint8_t *) out[ch]; +- uint8_t *end = po + os * len; +- if (!out[ch]) +- continue; +- +-#define CONV(ofmt, otype, ifmt, expr)\ +-if(ctx->fmt_pair == ofmt + AV_SAMPLE_FMT_NB*ifmt){\ +- do{\ +- *(otype*)po = expr; pi += is; po += os;\ +- }while(po < end);\ +-} +- +-//FIXME put things below under ifdefs so we do not waste space for cases no codec will need +-//FIXME rounding ? +- +- CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_U8 , *(const uint8_t*)pi) +- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_U8 , (*(const uint8_t*)pi - 0x80)<<8) +- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_U8 , (*(const uint8_t*)pi - 0x80)<<24) +- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_U8 , (*(const uint8_t*)pi - 0x80)*(1.0 / (1<<7))) +- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_U8 , (*(const uint8_t*)pi - 0x80)*(1.0 / (1<<7))) +- else CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_S16, (*(const int16_t*)pi>>8) + 0x80) +- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_S16, *(const int16_t*)pi) +- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_S16, *(const int16_t*)pi<<16) +- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_S16, *(const int16_t*)pi*(1.0 / (1<<15))) +- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_S16, *(const int16_t*)pi*(1.0 / (1<<15))) +- else CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_S32, (*(const int32_t*)pi>>24) + 0x80) +- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_S32, *(const int32_t*)pi>>16) +- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_S32, *(const int32_t*)pi) +- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_S32, *(const int32_t*)pi*(1.0 / (1U<<31))) +- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_S32, *(const int32_t*)pi*(1.0 / (1U<<31))) +- else CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_FLT, av_clip_uint8( lrintf(*(const float*)pi * (1<<7)) + 0x80)) +- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_FLT, av_clip_int16( lrintf(*(const float*)pi * (1<<15)))) +- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_FLT, av_clipl_int32(llrintf(*(const float*)pi * (1U<<31)))) +- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_FLT, *(const float*)pi) +- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_FLT, *(const float*)pi) +- else CONV(AV_SAMPLE_FMT_U8 , uint8_t, AV_SAMPLE_FMT_DBL, av_clip_uint8( lrint(*(const double*)pi * (1<<7)) + 0x80)) +- else CONV(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_DBL, av_clip_int16( lrint(*(const double*)pi * (1<<15)))) +- else CONV(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_DBL, av_clipl_int32(llrint(*(const double*)pi * (1U<<31)))) +- else CONV(AV_SAMPLE_FMT_FLT, float , AV_SAMPLE_FMT_DBL, *(const double*)pi) +- else CONV(AV_SAMPLE_FMT_DBL, double , AV_SAMPLE_FMT_DBL, *(const double*)pi) +- else return -1; +- } +- return 0; ++// audioconvert.h ++extern "C" { ++struct AVAudioConvert; ++AVAudioConvert *av_audio_convert_alloc(enum AVSampleFormat out_fmt, int out_channels, enum AVSampleFormat in_fmt, ++ int in_channels, const float *matrix, int flags); ++void av_audio_convert_free(AVAudioConvert *ctx); ++int av_audio_convert(AVAudioConvert *ctx, void * const out[6], const int out_stride[6], const void * const in[6], ++ const int in_stride[6], int len); + } + + //////////////////////////// AVOutputStream ///////////////////////////////// +@@ -161,6 +74,8 @@ + struct AVInputStream *sync_ist; /* input stream to sync against */ + int64_t sync_opts; /* output frame counter, could be changed to some true timestamp *///FIXME look at frame_number + AVBitStreamFilterContext *bitstream_filters; ++ AVCodec *enc; ++ + /* video only */ + int video_resample; + AVFrame resample_frame; /* temporary frame for image resampling */ +@@ -168,17 +83,19 @@ + int resample_height; + int resample_width; + int resample_pix_fmt; ++ AVRational frame_rate; + + float frame_aspect_ratio; ++ + /* forced key frames */ +-// int64_t *forced_kf_pts; +-// int forced_kf_count; +-// int forced_kf_index; ++ int64_t *forced_kf_pts; ++ int forced_kf_count; ++ int forced_kf_index; + + /* audio only */ + int audio_resample; + ReSampleContext *resample; /* for audio resampling */ +- int resample_sample_fmt; ++ AVSampleFormat resample_sample_fmt; + int resample_channels; + int resample_sample_rate; + int reformat_pair; +@@ -216,94 +133,22 @@ + } AVInputStream; + + typedef struct AVInputFile { ++ AVFormatContext *ctx; + int eof_reached; /* true if eof reached */ + int ist_index; /* index of first stream in ist_table */ + int buffer_size; /* current total buffer size */ +- int nb_streams; /* nb streams we are aware of */ + } AVInputFile; + +-//#include <libavfilter/vsrc_buffer.h> +-extern "C" { +- int av_vsrc_buffer_add_frame2(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, +- AVRational pixel_aspect, int width, int height, enum PixelFormat pix_fmt, const char *sws_param); +-} +- +-//#include "cmdutils.h" +-typedef struct { +- enum PixelFormat pix_fmt; +-} FFSinkContext; +- +-int ffsink_init(AVFilterContext *ctx, const char *args, void *opaque) ++static int configure_video_filters(AVInputStream *ist, AVOutputStream *ost) + { +- FFSinkContext *priv = (FFSinkContext*) ctx->priv; +- +- if (!opaque) +- return AVERROR(EINVAL); +- *priv = *(FFSinkContext *)opaque; +- +- return 0; +-} +- +-void null_end_frame(AVFilterLink *inlink) { } +- +-int ffsink_query_formats(AVFilterContext *ctx) { +- FFSinkContext *priv = (FFSinkContext*) ctx->priv; +- int pix_fmts[] = { priv->pix_fmt, PIX_FMT_NONE }; +- +- avfilter_set_common_formats(ctx, avfilter_make_format_list(pix_fmts)); +- return 0; +-} +- +-int get_filtered_video_frame(AVFilterContext *ctx, AVFrame *frame, AVFilterBufferRef **picref_ptr, AVRational *tb) { +- int ret; +- AVFilterBufferRef *picref; +- +- if ((ret = avfilter_request_frame(ctx->inputs[0])) < 0) +- return ret; +- if (!(picref = ctx->inputs[0]->cur_buf)) +- return AVERROR(ENOENT); +- *picref_ptr = picref; +- ctx->inputs[0]->cur_buf = NULL; +- *tb = ctx->inputs[0]->time_base; +- +- memcpy(frame->data, picref->data, sizeof(frame->data)); +- memcpy(frame->linesize, picref->linesize, sizeof(frame->linesize)); +- frame->interlaced_frame = picref->video->interlaced; +- frame->top_field_first = picref->video->top_field_first; +- +- return 1; +-} +- +-AVFilter ffsink; +-AVFilterPad fInputs[2]; +-AVFilterPad fOutputs[1]; +- +-int configure_filters(AVInputStream *ist, AVOutputStream *ost) { + AVFilterContext *last_filter, *filter; + /** filter graph containing all filters including input & output */ + AVCodecContext *codec = ost->st->codec; + AVCodecContext *icodec = ist->st->codec; +- FFSinkContext ffsink_ctx; +- ffsink_ctx.pix_fmt = codec->pix_fmt; ++ enum PixelFormat pix_fmts[] = { codec->pix_fmt, PIX_FMT_NONE }; + AVRational sample_aspect_ratio; + char args[255]; + int ret; +- +- ffsink.name = "ffsink"; +- ffsink.priv_size = sizeof(FFSinkContext); +- ffsink.init = ffsink_init; +- ffsink.query_formats = ffsink_query_formats; +- +- fInputs[0].name = "default"; +- fInputs[0].type = AVMEDIA_TYPE_VIDEO; +- fInputs[0].end_frame = null_end_frame; +- fInputs[0].min_perms = AV_PERM_READ; +- fInputs[1].name = NULL; +- ffsink.inputs = fInputs; +- fOutputs[0].name = NULL; +- ffsink.outputs = fOutputs; +- +- int sws_flags = SWS_BICUBIC; + + ost->graph = avfilter_graph_alloc(); + +@@ -320,8 +165,8 @@ + "src", args, NULL, ost->graph); + if (ret < 0) + return ret; +- ret = avfilter_graph_create_filter(&ost->output_video_filter, &ffsink, +- "out", NULL, &ffsink_ctx, ost->graph); ++ ret = avfilter_graph_create_filter(&ost->output_video_filter, avfilter_get_by_name("buffersink"), ++ "out", NULL, pix_fmts, ost->graph); + if (ret < 0) + return ret; + last_filter = ost->input_video_filter; +@@ -330,7 +175,7 @@ + snprintf(args, 255, "%d:%d:flags=0x%X", + codec->width, + codec->height, +- sws_flags); ++ ost->sws_flags); + if ((ret = avfilter_graph_create_filter(&filter, avfilter_get_by_name("scale"), + NULL, args, NULL, ost->graph)) < 0) + return ret; +@@ -339,12 +184,12 @@ + last_filter = filter; + } + +- snprintf(args, sizeof(args), "flags=0x%X", sws_flags); ++ snprintf(args, sizeof(args), "flags=0x%X", ost->sws_flags); + ost->graph->scale_sws_opts = av_strdup(args); + + if (ost->avfilter) { +- AVFilterInOut* outputs = (AVFilterInOut*) av_malloc(sizeof(AVFilterInOut)); +- AVFilterInOut* inputs = (AVFilterInOut*) av_malloc(sizeof(AVFilterInOut)); ++ AVFilterInOut *outputs = avfilter_inout_alloc(); ++ AVFilterInOut *inputs = avfilter_inout_alloc(); + + outputs->name = av_strdup("in"); + outputs->filter_ctx = last_filter; +@@ -356,7 +201,7 @@ + inputs->pad_idx = 0; + inputs->next = NULL; + +- if ((ret = avfilter_graph_parse(ost->graph, ost->avfilter, inputs, outputs, NULL)) < 0) ++ if ((ret = avfilter_graph_parse(ost->graph, ost->avfilter, &inputs, &outputs, NULL)) < 0) + return ret; + av_freep(&ost->avfilter); + } else { +@@ -370,8 +215,10 @@ + codec->width = ost->output_video_filter->inputs[0]->w; + codec->height = ost->output_video_filter->inputs[0]->h; + codec->sample_aspect_ratio = ost->st->sample_aspect_ratio = ++ ost->frame_aspect_ratio ? // overriden by the -aspect cli option ++ av_d2q(ost->frame_aspect_ratio*codec->height/codec->width, 255) : + ost->output_video_filter->inputs[0]->sample_aspect_ratio; +- ++ + return 0; + } + +@@ -412,12 +259,11 @@ + } + + wxFfmpegMediaTranscoder::wxFfmpegMediaTranscoder(int threadCount) { +- nb_input_files = 0; + input_files_ts_scale[0] = NULL; + nb_input_files_ts_scale[0] = 0; +- output_codecs = NULL; ++ input_codecs = NULL; ++ nb_input_codecs = 0; + nb_output_files = 0; +- nb_output_codecs = 0; + stream_maps = NULL; + nb_stream_maps = 0; + nb_meta_data_maps = 0; +@@ -429,7 +275,6 @@ + frame_width = 0; + frame_height = 0; + frame_aspect_ratio = 0; +- frame_aspect_ratio_override = 0; + frame_pix_fmt = PIX_FMT_NONE; + frame_bits_per_raw_sample = 0; + audio_sample_fmt = SAMPLE_FMT_NONE; +@@ -476,12 +321,12 @@ + do_psnr = 0; + do_pass = 0; + pass_logfilename_prefix = "ffmpeg2pass"; +- video_sync_method= -1; +- audio_sync_method= 0; +- audio_drift_threshold= 0.1; +- copy_ts= 0; +- opt_shortest = 0; // +- video_global_header = 0; ++ video_sync_method = -1; ++ audio_sync_method = 0; ++ audio_drift_threshold = 0.1; ++ copy_ts = 0; ++ copy_tb = 0; ++ opt_shortest = 0; + vstats_filename = NULL; + vstats_file = NULL; + opt_programid = 0; +@@ -519,6 +364,11 @@ + audio_bitstream_filters = NULL; + subtitle_bitstream_filters = NULL; + ++ input_streams = NULL; ++ nb_input_streams = 0; ++ input_files = NULL; ++ nb_input_files = 0; ++ + av_log_set_callback(&av_log_wxLog_callback); + } + +@@ -531,20 +381,39 @@ + avfilter_register_all(); + } + ++// similar to ff_dynarray_add() and av_fast_realloc() ++void* grow_array(void *array, int elem_size, int *size, int new_size) { ++ if (new_size >= INT_MAX / elem_size) { ++ wxLogError(wxT("Array too big.")); ++ return NULL; ++ } ++ if (*size < new_size) { ++ uint8_t* tmp = (uint8_t*) av_realloc(array, new_size*elem_size); ++ if (!tmp) { ++ wxLogError(wxT("Could not alloc buffer.")); ++ return NULL; ++ } ++ memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size); ++ *size = new_size; ++ return tmp; ++ } ++ return array; ++} ++ + bool wxFfmpegMediaTranscoder::AddInputFile(const wxString& fileName, bool disableVideo, bool disableAudio, + bool disableSubtitle) { + AVFormatContext *ic; + int err, i, ret, rfps, rfps_base; + int64_t timestamp; +- ++ + /* get default parameters from command line */ + ic = avformat_alloc_context(); + if (!ic) { + PrintError(fileName, AVERROR(ENOMEM)); + return false; + } +- ic->flags |= AVFMT_FLAG_NONBLOCK; +- ++ ic->flags |= AVFMT_FLAG_NONBLOCK | AVFMT_FLAG_PRIV_OPT; ++ + // open the input file with generic libav function + err = av_open_input_file(&ic, (const char*) fileName.mb_str(), NULL, 0, NULL); + if (err < 0) { +@@ -606,39 +475,38 @@ + for (i=0; i<(int)ic->nb_streams; i++) { + AVStream *st = ic->streams[i]; + AVCodecContext *dec = st->codec; ++ AVInputStream *ist; ++ + dec->thread_count = thread_count; ++ input_codecs = (AVCodec**) grow_array(input_codecs, sizeof(*input_codecs), &nb_input_codecs, nb_input_codecs + 1); ++ ++ input_streams = (AVInputStream*) grow_array(input_streams, sizeof(*input_streams), &nb_input_streams, nb_input_streams + 1); ++ ist = &input_streams[nb_input_streams - 1]; ++ ist->st = st; ++ ist->file_index = nb_input_files; ++ ist->discard = 1; ++ + switch (dec->codec_type) { + case AVMEDIA_TYPE_AUDIO: ++ input_codecs[nb_input_codecs-1] = avcodec_find_decoder(dec->codec_id); + channel_layout = dec->channel_layout; +- audio_channels = dec->channels; +- audio_sample_rate = dec->sample_rate; + audio_sample_fmt = dec->sample_fmt; + if (disableAudio) + st->discard = AVDISCARD_ALL; +- /* Note that av_find_stream_info can add more streams, and we +- * currently have no chance of setting up lowres decoding +- * early enough for them. */ +- if (dec->lowres) +- audio_sample_rate >>= dec->lowres; + break; + case AVMEDIA_TYPE_VIDEO: +- frame_height = dec->height; +- frame_width = dec->width; ++ input_codecs[nb_input_codecs-1] = avcodec_find_decoder(dec->codec_id); + if(st->sample_aspect_ratio.num) + frame_aspect_ratio=av_q2d(st->sample_aspect_ratio); + else + frame_aspect_ratio=av_q2d(dec->sample_aspect_ratio); + frame_aspect_ratio *= (float) dec->width / dec->height; +- frame_aspect_ratio_override = 0; +- frame_pix_fmt = dec->pix_fmt; + rfps = st->r_frame_rate.num; + rfps_base = st->r_frame_rate.den; +- if(dec->lowres) { ++ if (dec->lowres) { + dec->flags |= CODEC_FLAG_EMU_EDGE; +- frame_height >>= dec->lowres; +- frame_width >>= dec->lowres; +- dec->height = frame_height; +- dec->width = frame_width; ++ dec->height >>= dec->lowres; ++ dec->width >>= dec->lowres; + } + if (me_threshold) + dec->debug |= FF_DEBUG_MV; +@@ -650,9 +518,6 @@ + i, (float)dec->time_base.den / dec->time_base.num, dec->time_base.den, dec->time_base.num, + (float)rfps / rfps_base, rfps, rfps_base); + } +- /* update the current frame rate to match the stream frame rate */ +- frame_rate.num = rfps; +- frame_rate.den = rfps_base; + + if (disableVideo) + st->discard = AVDISCARD_ALL; +@@ -660,6 +525,7 @@ + case AVMEDIA_TYPE_DATA: + break; + case AVMEDIA_TYPE_SUBTITLE: ++ input_codecs[nb_input_codecs-1] = avcodec_find_decoder(dec->codec_id); + if (disableSubtitle) + st->discard = AVDISCARD_ALL; + break; +@@ -672,17 +538,26 @@ + } + } + +- input_files[nb_input_files] = ic; + input_files_ts_offset[nb_input_files] = input_ts_offset - (copy_ts ? 0 : timestamp); + /* dump the file content */ + if (verbose >= 0) + av_dump_format(ic, nb_input_files, (const char*)fileName.mb_str(), 0); + +- nb_input_files++; ++ input_files = (AVInputFile*) grow_array(input_files, sizeof(*input_files), &nb_input_files, nb_input_files + 1); ++ input_files[nb_input_files - 1].ctx = ic; ++ input_files[nb_input_files - 1].ist_index = nb_input_streams - ic->nb_streams; ++ + input_files_ts_scale[nb_input_files] = NULL; + nb_input_files_ts_scale[nb_input_files] = 0; +- ++ ++ top_field_first = -1; + video_channel = 0; ++ frame_rate = (AVRational){0, 0}; ++ frame_pix_fmt = PIX_FMT_NONE; ++ frame_height = 0; ++ frame_width = 0; ++ audio_sample_rate = 0; ++ audio_channels = 0; + return true; + } + +@@ -742,27 +617,27 @@ + + oc->timestamp = recording_timestamp; + +- av_metadata_copy(&oc->metadata, metadata, 0); +- av_metadata_free(&metadata); +- ++ av_dict_copy(&oc->metadata, metadata, 0); ++ av_dict_free(&metadata); ++ + output_files[nb_output_files++] = oc; + + /* check filename in case of an image number is expected */ + if (oc->oformat->flags & AVFMT_NEEDNUMBER) { + if (!av_filename_number_test(oc->filename)) { +- PrintError(fileName, AVERROR_NUMEXPECTED); ++ PrintError(fileName, AVERROR(EINVAL)); + return false; + } + } + + /* test if it already exists to avoid loosing precious files */ +- if (url_exist((const char*) fileName.mb_str())) { ++ if (avio_check((const char*) fileName.mb_str(), 0) == 0) { + wxLogError(wxT("File '%s' already exists"), fileName.c_str()); + return false; + } + + /* open the file */ +- int err = avio_open(&oc->pb, (const char*) fileName.mb_str(), URL_WRONLY); ++ int err = avio_open(&oc->pb, (const char*) fileName.mb_str(), AVIO_FLAG_WRITE); + if (err < 0) { + PrintError(fileName, err); + return false; +@@ -777,39 +652,24 @@ + oc->preload= (int)(mux_preload*AV_TIME_BASE); + oc->max_delay= (int)(mux_max_delay*AV_TIME_BASE); + oc->loop_output = loop_output; +- oc->flags |= AVFMT_FLAG_NONBLOCK; +- ++ ++ frame_rate = (AVRational){0, 0}; ++ frame_width = 0; ++ frame_height = 0; ++ audio_sample_rate = 0; ++ audio_channels = 0; ++ + return true; + } + + void wxFfmpegMediaTranscoder::PrintError(const wxString& msg, int err) { +- switch (err) { +- case AVERROR_NUMEXPECTED: +- wxLogError(wxT("%s: Incorrect image filename syntax.\n" +- "Use '%%d' to specify the image number:\n" +- " for img1.jpg, img2.jpg, ..., use 'img%%d.jpg';\n" +- " for img001.jpg, img002.jpg, ..., use 'img%%03d.jpg'."), msg.c_str()); +- break; +- case AVERROR_INVALIDDATA: +- wxLogError(wxT("%s: Error while parsing header"), msg.c_str()); +- break; +- case AVERROR_NOFMT: +- wxLogError(wxT("%s: Unknown format"), msg.c_str()); +- break; +- case AVERROR(EIO): +- wxLogError(wxT("%s: I/O error occured\n" +- "Usually that means that input file is truncated and/or corrupted."), msg.c_str()); +- break; +- case AVERROR(ENOMEM): +- wxLogError(wxT("%s: memory allocation error occured"), msg.c_str()); +- break; +- case AVERROR(ENOENT): +- wxLogError(wxT("%s: no such file or directory"), msg.c_str()); +- break; +- default: +- wxLogError(wxT("%s: Error while opening file"), msg.c_str()); +- break; +- } ++ char errbuf[128]; ++ const char *errbuf_ptr = errbuf; ++ ++ if (av_strerror(err, errbuf, sizeof(errbuf)) < 0) ++ errbuf_ptr = strerror(AVUNERROR(err)); ++ wxString errorStr(errbuf_ptr, wxConvUTF8); ++ wxLogError(msg + wxT(": ") + errorStr); + } + + void choose_pixel_fmt(AVStream *st, AVCodec *codec) { +@@ -819,12 +679,15 @@ + if(*p == st->codec->pix_fmt) + break; + } +- if(*p == -1 +- && !( st->codec->codec_id==CODEC_ID_MJPEG +- && st->codec->strict_std_compliance <= FF_COMPLIANCE_INOFFICIAL +- && ( st->codec->pix_fmt == PIX_FMT_YUV420P +- || st->codec->pix_fmt == PIX_FMT_YUV422P))) ++ if (*p == -1) { ++ if(st->codec->pix_fmt != PIX_FMT_NONE) ++ av_log(NULL, AV_LOG_WARNING, ++ "Incompatible pixel format '%s' for codec '%s', auto-selecting format '%s'\n", ++ av_pix_fmt_descriptors[st->codec->pix_fmt].name, ++ codec->name, ++ av_pix_fmt_descriptors[codec->pix_fmts[0]].name); + st->codec->pix_fmt = codec->pix_fmts[0]; ++ } + } + } + +@@ -835,30 +698,20 @@ + if(*p == st->codec->sample_fmt) + break; + } +- if (*p == -1) ++ if (*p == -1) { ++ if ((codec->capabilities & CODEC_CAP_LOSSLESS) ++ && av_get_sample_fmt_name(st->codec->sample_fmt) > av_get_sample_fmt_name(codec->sample_fmts[0])) ++ av_log(NULL, AV_LOG_ERROR, "Convertion will not be lossless'\n"); ++ av_log(NULL, AV_LOG_WARNING, ++ "Incompatible sample format '%s' for codec '%s', auto-selecting format '%s'\n", ++ av_get_sample_fmt_name(st->codec->sample_fmt), ++ codec->name, ++ av_get_sample_fmt_name(codec->sample_fmts[0])); + st->codec->sample_fmt = codec->sample_fmts[0]; ++ } + } + } + +-// similar to ff_dynarray_add() and av_fast_realloc() +-void* grow_array(void *array, int elem_size, int *size, int new_size) { +- if (new_size >= INT_MAX / elem_size) { +- wxLogError(wxT("Array too big.")); +- return NULL; +- } +- if (*size < new_size) { +- uint8_t* tmp = (uint8_t*) av_realloc(array, new_size*elem_size); +- if (!tmp) { +- wxLogError(wxT("Could not alloc buffer.")); +- return NULL; +- } +- memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size); +- *size = new_size; +- return tmp; +- } +- return array; +-} +- + void choose_sample_rate(AVStream *st, AVCodec *codec) { + if (codec && codec->supported_samplerates){ + const int *p= codec->supported_samplerates; +@@ -893,6 +746,8 @@ + } + ost->file_index = fileIdx; + ost->index = idx; ++ ++ ost->sws_flags = SWS_BICUBIC; + return ost; + } + +@@ -913,8 +768,6 @@ + if (!ost) + return false; + +- output_codecs = (AVCodec**) +- grow_array(output_codecs, sizeof(*output_codecs), &nb_output_codecs, nb_output_codecs + 1); + if (videoFormat != vfCOPY) { + wxSize frameSize = GetFrameSize(videoFormat); + frame_width = frameSize.GetWidth(); +@@ -929,21 +782,13 @@ + frame_rate.den = 1001; + } + codec = avcodec_find_encoder(codecId); +- output_codecs[nb_output_codecs-1] = codec; ++ ost->enc = codec; + + char* vfilters = NULL; + if (m_videoFilters.length()) { + vfilters = (char*) av_realloc(vfilters, m_videoFilters.length() + 1); + snprintf(vfilters, m_videoFilters.length() + 1, "%s", (const char*) m_videoFilters.mb_str()); + } +- if (frame_aspect_ratio_override) { +- int i = vfilters ? strlen(vfilters) : 0; +- vfilters = (char*) av_realloc(vfilters, i + 100); +- snprintf(vfilters + i, 100, "%csetdar=%f", i ? ',' : ' ', frame_aspect_ratio); +- frame_aspect_ratio = 0; +- frame_aspect_ratio_override = 0; +- } +- + ost->avfilter = vfilters; + } + +@@ -954,17 +799,14 @@ + st->codec->thread_count = thread_count; + + video_enc = st->codec; +- ++ + if (video_codec_tag) + video_enc->codec_tag= video_codec_tag; +- +- if ((video_global_header&1) || (video_global_header==0 && (oc->oformat->flags & AVFMT_GLOBALHEADER))) { ++ ++ if (oc->oformat->flags & AVFMT_GLOBALHEADER) { + video_enc->flags |= CODEC_FLAG_GLOBAL_HEADER; + } +- if (video_global_header&2) { +- video_enc->flags2 |= CODEC_FLAG2_LOCAL_HEADER; +- } +- ++ + if (videoFormat == vfCOPY) { + st->stream_copy = 1; + video_enc->codec_type = AVMEDIA_TYPE_VIDEO; +@@ -974,8 +816,6 @@ + const char *p; + int i; + +- AVRational fps= frame_rate.num ? frame_rate : (AVRational) {25,1}; +- + av_set_int(video_enc, "gop", isNTSC(videoFormat) ? 15 : 12); + av_set_int(video_enc, "b", bitrate * 1000); + av_set_int(video_enc, "maxrate", vbr ? 9000000 : bitrate * 1000); +@@ -985,20 +825,16 @@ + av_set_int(video_enc, "packetsize", 2048); + av_set_int(video_enc, "muxrate", 10080000); + ++ if (frame_rate.num) ++ ost->frame_rate = frame_rate; + video_enc->codec_id = codecId; + +- if (codec && codec->supported_framerates && !force_fps) +- fps = codec->supported_framerates[av_find_nearest_q_idx(fps, codec->supported_framerates)]; +- video_enc->time_base.den = fps.num; +- video_enc->time_base.num = fps.den; + video_enc->width = frame_width; + video_enc->height = frame_height; + video_enc->sample_aspect_ratio = av_d2q(frame_aspect_ratio*frame_height/frame_width, 255); + video_enc->pix_fmt = frame_pix_fmt; + st->sample_aspect_ratio = video_enc->sample_aspect_ratio; +- +- choose_pixel_fmt(st, codec); +- ++ + if (intra_only) + video_enc->gop_size = 0; + if (video_qscale || same_quality) { +@@ -1059,7 +895,7 @@ + // parse_forced_key_frames(forced_key_frames, ost, video_enc); + } + if (video_language) { +- av_metadata_set2(&st->metadata, "language", video_language, 0); ++ av_dict_set(&st->metadata, "language", video_language, 0); + av_freep(&video_language); + } + +@@ -1084,12 +920,10 @@ + if (!ost) + return false; + +- output_codecs = (AVCodec**) +- grow_array(output_codecs, sizeof(*output_codecs), &nb_output_codecs, nb_output_codecs + 1); + if (audioFormat != afNONE && audioFormat != afCOPY) { + codecId = audioFormat == afMP2 ? CODEC_ID_MP2 : CODEC_ID_AC3; + codec = avcodec_find_encoder(codecId); +- output_codecs[nb_output_codecs-1] = codec; ++ ost->enc = codec; + } + + audio_sample_rate = 48000; +@@ -1110,8 +944,6 @@ + } + if (audioFormat == afCOPY) { + st->stream_copy = 1; +- audio_enc->channels = audio_channels; +- audio_enc->sample_rate = audio_sample_rate; + } else { + av_set_int(audio_enc, "ab", bitrate*1000); + codec = avcodec_find_encoder(codecId); +@@ -1122,19 +954,16 @@ + st->quality = FF_QP2LAMBDA * audio_qscale; + audio_enc->global_quality = (int) st->quality; + } +- audio_enc->channels = audio_channels; ++ if (audio_channels) ++ audio_enc->channels = audio_channels; + audio_enc->sample_fmt = audio_sample_fmt; +- audio_enc->sample_rate = audio_sample_rate; ++ if (audio_sample_rate) ++ audio_enc->sample_rate = audio_sample_rate; + audio_enc->channel_layout = channel_layout; +- if (av_get_channel_layout_nb_channels(channel_layout) != audio_channels) +- audio_enc->channel_layout = 0; + choose_sample_fmt(st, codec); +- choose_sample_rate(st, codec); + } +- audio_enc->sample_rate = audio_sample_rate; +- audio_enc->time_base= (AVRational) {1, audio_sample_rate}; + if (audio_language) { +- av_metadata_set2(&st->metadata, "language", audio_language, 0); ++ av_dict_set(&st->metadata, "language", audio_language, 0); + av_freep(&audio_language); + } + +@@ -1158,11 +987,10 @@ + return false; + subtitle_enc = st->codec; + +- output_codecs = (AVCodec**) +- grow_array(output_codecs, sizeof(*output_codecs), &nb_output_codecs, nb_output_codecs + 1); + if (subtitleFormat != sfNONE) { + codecId = CODEC_ID_DVD_SUBTITLE; +- codec = output_codecs[nb_output_codecs-1] = avcodec_find_encoder(codecId); ++ codec = avcodec_find_encoder(codecId); ++ ost->enc = codec; + } + avcodec_get_context_defaults3(st->codec, codec); + +@@ -1181,7 +1009,7 @@ + } + + if (subtitle_language) { +- av_metadata_set2(&st->metadata, "language", subtitle_language, 0); ++ av_dict_set(&st->metadata, "language", subtitle_language, 0); + av_freep(&subtitle_language); + } + +@@ -1233,7 +1061,7 @@ + } + + int wxFfmpegMediaTranscoder::CopyChapters(int infile, int outfile) { +- AVFormatContext *is = input_files[infile]; ++ AVFormatContext *is = input_files[infile].ctx; + AVFormatContext *os = output_files[outfile]; + + for (unsigned int i = 0; i < is->nb_chapters; i++) { +@@ -1259,7 +1087,7 @@ + out_ch->end = FFMIN(rt, in_ch->end - ts_off); + + if (metadata_chapters_autocopy) +- av_metadata_copy(&out_ch->metadata, in_ch->metadata, 0); ++ av_dict_copy(&out_ch->metadata, in_ch->metadata, 0); + + os->nb_chapters++; + os->chapters = (AVChapter**) av_realloc(os->chapters, sizeof(AVChapter)*os->nb_chapters); +@@ -1272,11 +1100,11 @@ + + /** Starts transcoding. */ + bool wxFfmpegMediaTranscoder::Run(bool& canceled) { +- int ret = 0, i, j, k, n, nb_istreams = 0, nb_ostreams = 0, step; ++ int ret = 0, i, j, k, n, nb_ostreams = 0, step; + AVFormatContext *is, *os; + AVCodecContext *codec, *icodec; + AVOutputStream *ost, **ost_table= NULL; +- AVInputStream *ist, **ist_table= NULL; ++ AVInputStream *ist = NULL; + wxString error; + int want_sdp = 1; + int bit_buffer_size = 1024*256; +@@ -1289,46 +1117,10 @@ + if (canceled) + return false; + +- AVInputFile* file_table = (AVInputFile*) av_mallocz(nb_input_files*sizeof(AVInputFile)); +- if (!file_table) +- goto fail; +- +- /* input stream init */ +- j = 0; +- for (i=0; i<nb_input_files; i++) { +- is = input_files[i]; +- file_table[i].ist_index = j; +- file_table[i].nb_streams = is->nb_streams; +- j += is->nb_streams;; +- } +- nb_istreams = j; +- +- ist_table = (AVInputStream**) av_mallocz(nb_istreams * sizeof(AVInputStream *)); +- if (!ist_table) +- goto fail; +- +- for (i=0; i<nb_istreams; i++) { +- ist = (AVInputStream*) av_mallocz(sizeof(AVInputStream)); +- if (!ist) +- goto fail; +- ist_table[i] = ist; +- } +- j = 0; +- for (i=0; i<nb_input_files; i++) { +- is = input_files[i]; +- for (k=0; k<(int)is->nb_streams; k++) { +- ist = ist_table[j++]; +- ist->st = is->streams[k]; +- ist->file_index = i; +- ist->index = k; +- ist->discard = 1; /* the stream is discarded by default (changed later) */ +- +- if (rate_emu) { +- ist->start = av_gettime(); +- } +- } +- } +- ++ if (rate_emu) ++ for (i = 0; i < nb_input_streams; i++) ++ input_streams[i].start = av_gettime(); ++ + /* output stream init */ + nb_ostreams = 0; + for (i=0; i<nb_output_files; i++) { +@@ -1350,15 +1142,15 @@ + int fi = stream_maps[i].file_index; + int si = stream_maps[i].stream_index; + +- if (fi < 0 || fi > nb_input_files - 1 || +- si < 0 || si > file_table[fi].nb_streams - 1) { ++ if (fi < 0 || fi > (int) nb_input_files - 1 || ++ si < 0 || si > (int) input_files[fi].ctx->nb_streams - 1) { + wxLogError(wxT("Could not find input stream #%d.%d"), fi, si); + return false; + } + fi = stream_maps[i].sync_file_index; + si = stream_maps[i].sync_stream_index; + if (fi < 0 || fi> nb_input_files - 1 || +- si < 0 || si> file_table[fi].nb_streams - 1) { ++ si < 0 || si > (int) input_files[fi].ctx->nb_streams - 1) { + wxLogError(wxT("Could not find sync stream #%d.%d"), fi, si); + return false; + } +@@ -1379,11 +1171,11 @@ + for(j=0; j<AVMEDIA_TYPE_NB; j++) + nb_frame_threshold[j] += step; + +- for(j=0; j<nb_istreams; j++) { ++ for(j=0; j<nb_input_streams; j++) { + int skip=0; +- ist = ist_table[j]; ++ ist = &input_streams[j]; + if(opt_programid){ +- AVFormatContext *f= input_files[ ist->file_index ]; ++ AVFormatContext *f= input_files[ist->file_index].ctx; + skip=1; + for (unsigned int pi=0; pi<f->nb_programs; pi++) { + AVProgram *p= f->programs[pi]; +@@ -1411,11 +1203,11 @@ + ost = ost_table[n] = output_streams_for_file[k][i]; + ost->st = os->streams[i]; + if (nb_stream_maps > 0) { +- ost->source_index = file_table[stream_maps[n].file_index].ist_index + ++ ost->source_index = input_files[stream_maps[n].file_index].ist_index + + stream_maps[n].stream_index; + + /* Sanity check that the stream types match */ +- if (ist_table[ost->source_index]->st->codec->codec_type ++ if (input_streams[ost->source_index].st->codec->codec_type + != ost->st->codec->codec_type) { + wxLogError(wxT("Codec type mismatch for mapping #%d.%d -> #%d.%d"), + stream_maps[n].file_index, stream_maps[n].stream_index, +@@ -1426,12 +1218,12 @@ + } else { + /* get corresponding input stream index : we select the first one with the right type */ + found = 0; +- for(j=0;j<nb_istreams;j++) { ++ for (j=0; j < nb_input_streams; j++) { + int skip=0; +- ist = ist_table[j]; ++ ist = &input_streams[j]; + if(opt_programid){ + unsigned int pi,si; +- AVFormatContext *f= input_files[ ist->file_index ]; ++ AVFormatContext *f = input_files[ist->file_index].ctx; + skip=1; + for(pi=0; pi<f->nb_programs; pi++){ + AVProgram *p= f->programs[pi]; +@@ -1453,8 +1245,8 @@ + if (!found) { + if(! opt_programid) { + /* try again and reuse existing stream */ +- for(j=0;j<nb_istreams;j++) { +- ist = ist_table[j]; ++ for (j = 0; j < nb_input_streams; j++) { ++ ist = &input_streams[j]; + if ( ist->st->codec->codec_type == ost->st->codec->codec_type + && ist->st->discard != AVDISCARD_ALL) { + ost->source_index = j; +@@ -1471,10 +1263,10 @@ + } + } + } +- ist = ist_table[ost->source_index]; ++ ist = &input_streams[ost->source_index]; + ist->discard = 0; + ost->sync_ist = (nb_stream_maps > 0) ? +- ist_table[file_table[stream_maps[n].sync_file_index].ist_index + ++ &input_streams[input_files[stream_maps[n].sync_file_index].ist_index + + stream_maps[n].sync_stream_index] : ist; + } + } +@@ -1483,13 +1275,13 @@ + for (i=0; i<nb_ostreams; i++) { + ost = ost_table[i]; + os = output_files[ost->file_index]; +- ist = ist_table[ost->source_index]; ++ ist = &input_streams[ost->source_index]; + + codec = ost->st->codec; + icodec = ist->st->codec; + + if (metadata_streams_autocopy) +- av_metadata_copy(&ost->st->metadata, ist->st->metadata, AV_METADATA_DONT_OVERWRITE); ++ av_dict_copy(&ost->st->metadata, ist->st->metadata, AV_DICT_DONT_OVERWRITE); + + ost->st->disposition = ist->st->disposition; + codec->bits_per_raw_sample= icodec->bits_per_raw_sample; +@@ -1520,11 +1312,13 @@ + goto fail; + memcpy(codec->extradata, icodec->extradata, icodec->extradata_size); + codec->extradata_size= icodec->extradata_size; +- if(av_q2d(icodec->time_base)*icodec->ticks_per_frame > av_q2d(ist->st->time_base) && av_q2d(ist->st->time_base) < 1.0/1000){ +- codec->time_base = icodec->time_base; +- codec->time_base.num *= icodec->ticks_per_frame; +- } else +- codec->time_base = ist->st->time_base; ++ if(!copy_tb && av_q2d(icodec->time_base)*icodec->ticks_per_frame > av_q2d(ist->st->time_base) && av_q2d(ist->st->time_base) < 1.0/500){ ++ codec->time_base = icodec->time_base; ++ codec->time_base.num *= icodec->ticks_per_frame; ++ av_reduce(&codec->time_base.num, &codec->time_base.den, ++ codec->time_base.num, codec->time_base.den, INT_MAX); ++ } else ++ codec->time_base = ist->st->time_base; + switch (codec->codec_type) { + case AVMEDIA_TYPE_AUDIO: + if(audio_volume != 256) { +@@ -1566,12 +1360,25 @@ + return false; + } + } else { ++ if (!ost->enc) ++ ost->enc = avcodec_find_encoder(ost->st->codec->codec_id); + switch (codec->codec_type) { + case AVMEDIA_TYPE_AUDIO: + ost->fifo= av_fifo_alloc(1024); + if(!ost->fifo) + goto fail; + ost->reformat_pair = MAKE_SFMT_PAIR(AV_SAMPLE_FMT_NONE,AV_SAMPLE_FMT_NONE); ++ if (!codec->sample_rate) { ++ codec->sample_rate = icodec->sample_rate; ++ if (icodec->lowres) ++ codec->sample_rate >>= icodec->lowres; ++ } ++ choose_sample_rate(ost->st, ost->enc); ++ codec->time_base = (AVRational){1, codec->sample_rate}; ++ if (!codec->channels) ++ codec->channels = icodec->channels; ++ if (av_get_channel_layout_nb_channels(codec->channel_layout) != codec->channels) ++ codec->channel_layout = 0; + ost->audio_resample = codec->sample_rate != icodec->sample_rate || audio_sync_method > 1; + icodec->request_channels = codec->channels; + ist->decoding_needed = 1; +@@ -1581,6 +1388,9 @@ + ost->resample_channels = icodec->channels; + break; + case AVMEDIA_TYPE_VIDEO: ++ if (codec->pix_fmt == PIX_FMT_NONE) ++ codec->pix_fmt = icodec->pix_fmt; ++ choose_pixel_fmt(ost->st, ost->enc); + if (ost->st->codec->pix_fmt == PIX_FMT_NONE) { + wxLogError(wxT("Video pixel format is unknown, stream cannot be encoded")); + return false; +@@ -1590,13 +1400,30 @@ + if (ost->video_resample) { + codec->bits_per_raw_sample= frame_bits_per_raw_sample; + } ++ if (!codec->width || !codec->height) { ++ codec->width = icodec->width; ++ codec->height = icodec->height; ++ } + ost->resample_height = icodec->height; + ost->resample_width = icodec->width; + ost->resample_pix_fmt= icodec->pix_fmt; + ost->encoding_needed = 1; + ist->decoding_needed = 1; ++ ++ if (!ost->frame_rate.num) ++ ost->frame_rate = ist->st->r_frame_rate.num ? ist->st->r_frame_rate : (AVRational){25,1}; ++ if (ost->enc && ost->enc->supported_framerates && !force_fps) { ++ int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates); ++ ost->frame_rate = ost->enc->supported_framerates[idx]; ++ } ++ codec->time_base = (AVRational){ost->frame_rate.den, ost->frame_rate.num}; ++ if( av_q2d(codec->time_base) < 0.001 && video_sync_method ++ && (video_sync_method==1 || (video_sync_method<0 && !(os->oformat->flags & AVFMT_VARIABLE_FPS)))){ ++ av_log(os, AV_LOG_WARNING, "Frame rate very high for a muxer not effciciently supporting it.\n" ++ "Please consider specifiying a lower framerate, a different muxer or -vsync 2\n"); ++ } + +- if (configure_filters(ist, ost)) { ++ if (configure_video_filters(ist, ost)) { + wxLogError(wxT("Error opening filters!")); + return false; + } +@@ -1653,10 +1480,8 @@ + for (i=0; i<nb_ostreams; i++) { + ost = ost_table[i]; + if (ost->encoding_needed) { +- AVCodec *codec = i < nb_output_codecs ? output_codecs[i] : NULL; +- AVCodecContext *dec = ist_table[ost->source_index]->st->codec; +- if (!codec) +- codec = avcodec_find_encoder(ost->st->codec->codec_id); ++ AVCodec *codec = ost->enc; ++ AVCodecContext *dec = input_streams[ost->source_index].st->codec; + if (!codec) { + error = wxString::Format(wxT("Encoder (codec id %d) not found for output stream #%d.%d"), + ost->st->codec->codec_id, ost->file_index, ost->index); +@@ -1683,18 +1508,18 @@ + } + + /* open each decoder */ +- for (i=0; i<nb_istreams; i++) { +- ist = ist_table[i]; ++ for (i = 0; i < nb_input_streams; i++) { ++ ist = &input_streams[i]; + if (ist->decoding_needed) { + AVCodec *codec = avcodec_find_decoder(ist->st->codec->codec_id); + if (!codec) { + wxLogError(wxT("Decoder (codec id %d) not found for input stream #%d.%d"), +- ist->st->codec->codec_id, ist->file_index, ist->index); ++ ist->st->codec->codec_id, ist->file_index, ist->st->index); + return false; + } + if (avcodec_open(ist->st->codec, codec) < 0) { + wxLogError(wxT("Error while opening decoder for input stream #%d.%d"), +- ist->file_index, ist->index); ++ ist->file_index, ist->st->index); + return false; + } + //if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) +@@ -1703,20 +1528,68 @@ + } + + /* init pts */ +- for (i=0; i<nb_istreams; i++) { ++ for (i = 0; i < nb_input_streams; i++) { + AVStream *st; +- ist = ist_table[i]; ++ ist = &input_streams[i]; + st= ist->st; + ist->pts = st->avg_frame_rate.num ? - st->codec->has_b_frames*AV_TIME_BASE / av_q2d(st->avg_frame_rate) : 0; + ist->next_pts = AV_NOPTS_VALUE; + ist->is_start = 1; + } ++ ++ /* set meta data information from input file if required */ ++ for (i=0;i<nb_meta_data_maps;i++) { ++ AVFormatContext *files[2]; ++ AVDictionary **meta[2]; ++ int j; ++ ++#define METADATA_CHECK_INDEX(index, nb_elems, desc)\ ++ if ((index) < 0 || (index) >= (int) (nb_elems)) {\ ++ error = wxString::Format(wxT("Invalid %s index %d while processing metadata maps."), (desc), (index));\ ++ ret = AVERROR(EINVAL);\ ++ goto dump_format;\ ++ } ++ ++ int out_file_index = meta_data_maps[i][0].file; ++ int in_file_index = meta_data_maps[i][1].file; ++ if (in_file_index < 0 || out_file_index < 0) ++ continue; ++ METADATA_CHECK_INDEX(out_file_index, nb_output_files, "output file") ++ METADATA_CHECK_INDEX(in_file_index, nb_input_files, "input file") ++ ++ files[0] = output_files[out_file_index]; ++ files[1] = input_files[in_file_index].ctx; ++ ++ for (j = 0; j < 2; j++) { ++ AVMetaDataMap *map = &meta_data_maps[i][j]; + ++ switch (map->type) { ++ case 'g': ++ meta[j] = &files[j]->metadata; ++ break; ++ case 's': ++ METADATA_CHECK_INDEX(map->index, files[j]->nb_streams, "stream") ++ meta[j] = &files[j]->streams[map->index]->metadata; ++ break; ++ case 'c': ++ METADATA_CHECK_INDEX(map->index, files[j]->nb_chapters, "chapter") ++ meta[j] = &files[j]->chapters[map->index]->metadata; ++ break; ++ case 'p': ++ METADATA_CHECK_INDEX(map->index, files[j]->nb_programs, "program") ++ meta[j] = &files[j]->programs[map->index]->metadata; ++ break; ++ } ++ } ++ ++ av_dict_copy(meta[0], *meta[1], AV_DICT_DONT_OVERWRITE); ++ } ++ + /* copy global metadata by default */ + if (metadata_global_autocopy) { + + for (i = 0; i < nb_output_files; i++) +- av_metadata_copy(&output_files[i]->metadata, input_files[0]->metadata, AV_METADATA_DONT_OVERWRITE); ++ av_dict_copy(&output_files[i]->metadata, input_files[0].ctx->metadata, AV_DICT_DONT_OVERWRITE); + } + + /* copy chapters according to chapter maps */ +@@ -1742,7 +1615,7 @@ + /* copy chapters from the first input file that has them*/ + if (!nb_chapter_maps) + for (i = 0; i < nb_input_files; i++) { +- if (!input_files[i]->nb_chapters) ++ if (!input_files[i].ctx->nb_chapters) + continue; + + for (j = 0; j < nb_output_files; j++) +@@ -1776,10 +1649,10 @@ + for(i=0;i<nb_ostreams;i++) { + ost = ost_table[i]; + wxString msg = wxString::Format(wxT(" Stream #%d.%d -> #%d.%d"), +- ist_table[ost->source_index]->file_index, ist_table[ost->source_index]->index, ++ input_streams[ost->source_index].file_index, input_streams[ost->source_index].st->index, + ost->file_index, ost->index); +- if (ost->sync_ist != ist_table[ost->source_index]) +- msg += wxString::Format(wxT(" [sync #%d.%d]"), ost->sync_ist->file_index, ost->sync_ist->index); ++ if (ost->sync_ist != &input_streams[ost->source_index]) ++ msg += wxString::Format(wxT(" [sync #%d.%d]"), ost->sync_ist->file_index, ost->sync_ist->st->index); + wxLogMessage(msg); + } + } +@@ -1815,12 +1688,12 @@ + double ipts, opts; + ost = ost_table[i]; + os = output_files[ost->file_index]; +- ist = ist_table[ost->source_index]; ++ ist = &input_streams[ost->source_index]; + if (ist->is_past_recording_time || no_packet[ist->file_index]) + continue; + opts = ost->st->pts.val * av_q2d(ost->st->time_base); + ipts = (double)ist->pts; +- if (!file_table[ist->file_index].eof_reached) { ++ if (!input_files[ist->file_index].eof_reached) { + if (ipts < ipts_min) { + ipts_min = ipts; + if (input_sync) +@@ -1853,7 +1726,7 @@ + break; + + /* read a frame from it and output it in the fifo */ +- is = input_files[file_index]; ++ is = input_files[file_index].ctx; + ret= av_read_frame(is, &pkt); + if(ret == AVERROR(EAGAIN)){ + no_packet[file_index]=1; +@@ -1861,7 +1734,7 @@ + continue; + } + if (ret < 0) { +- file_table[file_index].eof_reached = 1; ++ input_files[file_index].eof_reached = 1; + if (opt_shortest) + break; + else +@@ -1876,11 +1749,11 @@ + // } + + /* the following test is needed in case new streams appear +- dynamically in stream : we ignore them */ +- if (pkt.stream_index >= file_table[file_index].nb_streams) ++ dynamically in stream : we ignore them */ ++ if (pkt.stream_index >= (int) input_files[file_index].ctx->nb_streams) + goto discard_packet; +- ist_index = file_table[file_index].ist_index + pkt.stream_index; +- ist = ist_table[ist_index]; ++ ist_index = input_files[file_index].ist_index + pkt.stream_index; ++ ist = &input_streams[ist_index]; + if (ist->discard) + goto discard_packet; + +@@ -1926,7 +1799,7 @@ + //wxLogMessage(wxT("read #%d.%d size=%d"), ist->file_index, ist->index, pkt.size); + if (!OutputPacket(ist, ist_index, ost_table, nb_ostreams, &pkt, bit_buffer_size, bit_buffer)) { + if (verbose >= 0) +- wxLogMessage(wxT("Error while decoding stream #%d.%d"), ist->file_index, ist->index); ++ wxLogMessage(wxT("Error while decoding stream #%d.%d"), ist->file_index, ist->st->index); + if (exit_on_error) + return false; + av_free_packet(&pkt); +@@ -1941,8 +1814,8 @@ + } + + /* at the end of stream, we must flush the decoder buffers */ +- for (i=0; i<nb_istreams; i++) { +- ist = ist_table[i]; ++ for (i = 0; i < nb_input_streams; i++) { ++ ist = &input_streams[i]; + if (ist->decoding_needed) + OutputPacket(ist, i, ost_table, nb_ostreams, NULL, bit_buffer_size, bit_buffer); + } +@@ -1967,8 +1840,8 @@ + } + + /* close each decoder */ +- for (i=0; i<nb_istreams; i++) { +- ist = ist_table[i]; ++ for (i = 0; i < nb_input_streams; i++) { ++ ist = &input_streams[i]; + if (ist->decoding_needed) { + avcodec_close(ist->st->codec); + } +@@ -1978,15 +1851,7 @@ + ret = 0; + fail: + av_freep(&bit_buffer); +- av_free(file_table); + +- if (ist_table) { +- for (i=0; i<nb_istreams; i++) { +- ist = ist_table[i]; +- av_free(ist); +- } +- av_free(ist_table); +- } + if (ost_table) { + for (i=0; i<nb_ostreams; i++) { + ost = ost_table[i]; +@@ -2000,7 +1865,7 @@ + av_fifo_free(ost->fifo); /* works even if fifo is not initialized but set to zero */ + av_freep(&ost->st->codec->subtitle_header); + av_free(ost->resample_frame.data[0]); +-// av_free(ost->forced_kf_pts); ++ av_free(ost->forced_kf_pts); + if (ost->video_resample) + sws_freeContext(ost->img_resample_ctx); + if (ost->resample) +@@ -2029,15 +1894,15 @@ + AVFormatContext *os; + AVOutputStream *ost; + int ret, i; +- int got_picture; ++ int got_output; + AVFrame picture; +- void *buffer_to_free; ++ void *buffer_to_free = NULL; + unsigned int samples_size = 0; + AVSubtitle subtitle, *subtitle_to_free; + int frame_available; + + AVPacket avpkt; +- int bps = av_get_bits_per_sample_fmt(ist->st->codec->sample_fmt)>>3; ++ int bps = av_get_bytes_per_sample(ist->st->codec->sample_fmt); + + if(ist->next_pts == (int64_t) AV_NOPTS_VALUE) + ist->next_pts= ist->pts; +@@ -2056,7 +1921,7 @@ + ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q); + + //while we have more to decode or while the decoder did output something on EOF +- while (avpkt.size > 0 || (!pkt && ist->next_pts != ist->pts)) { ++ while (avpkt.size > 0 || (!pkt && got_output)) { + uint8_t *data_buf, *decoded_data_buf; + int data_size, decoded_data_size; + handle_eof: +@@ -2090,9 +1955,10 @@ + avpkt.data += ret; + avpkt.size -= ret; + data_size = ret; ++ got_output = decoded_data_size > 0; + // Some bug in mpeg audio decoder gives + // decoded_data_size < 0, it seems they are overflows +- if (decoded_data_size <= 0) { ++ if (!got_output) { + // no audio frame + continue; + } +@@ -2106,11 +1972,11 @@ + // XXX: allocate picture correctly + avcodec_get_frame_defaults(&picture); + +- ret = avcodec_decode_video2(ist->st->codec, &picture, &got_picture, &avpkt); ++ ret = avcodec_decode_video2(ist->st->codec, &picture, &got_output, &avpkt); + ist->st->quality= picture.quality; + if (ret < 0) + goto fail_decode; +- if (!got_picture) { ++ if (!got_output) { + // no picture yet + goto discard_packet; + } +@@ -2121,12 +1987,14 @@ + / ist->st->codec->time_base.den; + } + avpkt.size = 0; ++ buffer_to_free = NULL; ++ pre_process_video_frame(ist, (AVPicture *)&picture, &buffer_to_free); + break; + case AVMEDIA_TYPE_SUBTITLE: +- ret = avcodec_decode_subtitle2(ist->st->codec, &subtitle, &got_picture, &avpkt); ++ ret = avcodec_decode_subtitle2(ist->st->codec, &subtitle, &got_output, &avpkt); + if (ret < 0) + goto fail_decode; +- if (!got_picture) { ++ if (!got_output) { + goto discard_packet; + } + subtitle_to_free = &subtitle; +@@ -2157,26 +2025,19 @@ + avpkt.size = 0; + } + +- buffer_to_free = NULL; +- if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { +- pre_process_video_frame(ist, (AVPicture *)&picture, &buffer_to_free); +- } +- +- if(ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO){ +- for(i=0;i<nb_ostreams;i++) { +- ost = ost_table[i]; +- if (ost->input_video_filter && ost->source_index == ist_index) { +- AVRational sar; +- if (ist->st->sample_aspect_ratio.num) sar = ist->st->sample_aspect_ratio; +- else sar = ist->st->codec->sample_aspect_ratio; +- // add it to be filtered +- av_vsrc_buffer_add_frame2(ost->input_video_filter, &picture, +- ist->pts, +- sar, ist->st->codec->width, ist->st->codec->height, +- ist->st->codec->pix_fmt, "0:0"); +- } +- } +- } ++ if(ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) ++ if (start_time == 0 || ist->pts >= start_time) { ++ for(i=0;i<nb_ostreams;i++) { ++ ost = ost_table[i]; ++ if (ost->input_video_filter && ost->source_index == ist_index) { ++ if (!picture.sample_aspect_ratio.num) ++ picture.sample_aspect_ratio = ist->st->sample_aspect_ratio; ++ picture.pts = ist->pts; ++ ++ av_vsrc_buffer_add_frame(ost->input_video_filter, &picture, AV_VSRC_BUF_FLAG_OVERWRITE); ++ } ++ } ++ } + + // preprocess audio (volume) + if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) { +@@ -2209,14 +2070,18 @@ + + ost = ost_table[i]; + if (ost->source_index == ist_index) { +- frame_available = ist->st->codec->codec_type != AVMEDIA_TYPE_VIDEO || +- !ost->output_video_filter || avfilter_poll_frame(ost->output_video_filter->inputs[0]); +- while (frame_available) { +- AVRational ist_pts_tb; +- if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && ost->output_video_filter) +- get_filtered_video_frame(ost->output_video_filter, &picture, &ost->picref, &ist_pts_tb); +- if (ost->picref) +- ist->pts = av_rescale_q(ost->picref->pts, ist_pts_tb, AV_TIME_BASE_Q); ++ frame_available = ist->st->codec->codec_type != AVMEDIA_TYPE_VIDEO || ++ !ost->output_video_filter || avfilter_poll_frame(ost->output_video_filter->inputs[0]); ++ while (frame_available) { ++ if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && ost->output_video_filter) { ++ AVRational ist_pts_tb = ost->output_video_filter->inputs[0]->time_base; ++ if (av_vsink_buffer_get_video_buffer_ref(ost->output_video_filter, &ost->picref, 0) < 0) ++ goto cont; ++ if (ost->picref) { ++ avfilter_fill_frame_from_video_buffer_ref(&picture, ost->picref); ++ ist->pts = av_rescale_q(ost->picref->pts, ist_pts_tb, AV_TIME_BASE_Q); ++ } ++ } + os = output_files[ost->file_index]; + + // set the input output pts pairs +@@ -2232,7 +2097,7 @@ + break; + case AVMEDIA_TYPE_VIDEO: + if (ost->picref->video) +- ost->st->codec->sample_aspect_ratio = ost->picref->video->pixel_aspect; ++ ost->st->codec->sample_aspect_ratio = ost->picref->video->sample_aspect_ratio; + if (!DoVideoOut(os, ost, ist, &picture, &frame_size, bit_buffer_size, bit_buffer)) + return false; + // if (vstats_filename && frame_size) +@@ -2249,6 +2114,7 @@ + } + } else { + AVFrame avframe; //FIXME/XXX remove this ++ AVPicture pict; + AVPacket opkt; + int64_t ost_tb_start_time= av_rescale_q(start_time, AV_TIME_BASE_Q, ost->st->time_base); + +@@ -2298,6 +2164,14 @@ + opkt.size = data_size; + } + ++ if (os->oformat->flags & AVFMT_RAWPICTURE) { ++ /* store AVPicture in AVPacket, as expected by the output format */ ++ avpicture_fill(&pict, opkt.data, ost->st->codec->pix_fmt, ost->st->codec->width, ost->st->codec->height); ++ opkt.data = (uint8_t *)&pict; ++ opkt.size = sizeof(AVPicture); ++ opkt.flags |= AV_PKT_FLAG_KEY; ++ } ++ + if (!WriteFrame(os, &opkt, ost->st->codec, ost->bitstream_filters)) + return false; + +@@ -2308,8 +2182,7 @@ + cont: + frame_available = (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) && + ost->output_video_filter && avfilter_poll_frame(ost->output_video_filter->inputs[0]); +- if(ost->picref) +- avfilter_unref_buffer(ost->picref); ++ avfilter_unref_buffer(ost->picref); + } + } + } +@@ -2348,7 +2221,7 @@ + ret = 0; + // encode any samples remaining in fifo + if (fifo_bytes > 0) { +- int osize = av_get_bits_per_sample_fmt(enc->sample_fmt) >> 3; ++ int osize = av_get_bytes_per_sample(enc->sample_fmt); + int fs_tmp = enc->frame_size; + av_fifo_generic_read(ost->fifo, audio_buf, fifo_bytes, NULL); + if (enc->codec->capabilities & CODEC_CAP_SMALL_LAST_FRAME) { +@@ -2447,11 +2320,11 @@ + int64_t audio_out_size, audio_buf_size; + int64_t allocated_for_size= size; + +- int size_out, frame_bytes, ret; ++ int size_out, frame_bytes, ret, resample_changed; + AVCodecContext *enc= ost->st->codec; + AVCodecContext *dec= ist->st->codec; +- int osize= av_get_bits_per_sample_fmt(enc->sample_fmt)/8; +- int isize= av_get_bits_per_sample_fmt(dec->sample_fmt)/8; ++ int osize= av_get_bytes_per_sample(enc->sample_fmt); ++ int isize= av_get_bytes_per_sample(dec->sample_fmt); + const int coded_bps = av_get_bits_per_sample(enc->codec->id); + + need_realloc: +@@ -2481,18 +2354,42 @@ + if (enc->channels != dec->channels) + ost->audio_resample = 1; + +- if (ost->audio_resample && !ost->resample) { +- if (dec->sample_fmt != SAMPLE_FMT_S16) +- wxLogWarning(wxT("Warning, using s16 intermediate sample format for resampling")); +- ost->resample = av_audio_resample_init(enc->channels, dec->channels, +- enc->sample_rate, dec->sample_rate, +- enc->sample_fmt, dec->sample_fmt, +- 16, 10, 0, 0.8); +- if (!ost->resample) { +- wxLogError(wxT("Can not resample %d channels @ %d Hz to %d channels @ %d Hz"), +- dec->channels, dec->sample_rate, +- enc->channels, enc->sample_rate); +- return false; ++ resample_changed = ost->resample_sample_fmt != dec->sample_fmt || ++ ost->resample_channels != dec->channels || ++ ost->resample_sample_rate != dec->sample_rate; ++ ++ if ((ost->audio_resample && !ost->resample) || resample_changed) { ++ if (resample_changed) { ++ av_log(NULL, AV_LOG_INFO, "Input stream #%d.%d frame changed from rate:%d fmt:%s ch:%d to rate:%d fmt:%s ch:%d\n", ++ ist->file_index, ist->st->index, ++ ost->resample_sample_rate, av_get_sample_fmt_name(ost->resample_sample_fmt), ost->resample_channels, ++ dec->sample_rate, av_get_sample_fmt_name(dec->sample_fmt), dec->channels); ++ ost->resample_sample_fmt = dec->sample_fmt; ++ ost->resample_channels = dec->channels; ++ ost->resample_sample_rate = dec->sample_rate; ++ if (ost->resample) ++ audio_resample_close(ost->resample); ++ } ++ /* if audio_sync_method is >1 the resampler is needed for audio drift compensation */ ++ if (audio_sync_method <= 1 && ++ ost->resample_sample_fmt == enc->sample_fmt && ++ ost->resample_channels == enc->channels && ++ ost->resample_sample_rate == enc->sample_rate) { ++ ost->resample = NULL; ++ ost->audio_resample = 0; ++ } else { ++ if (dec->sample_fmt != SAMPLE_FMT_S16) ++ wxLogWarning(wxT("Warning, using s16 intermediate sample format for resampling")); ++ ost->resample = av_audio_resample_init(enc->channels, dec->channels, ++ enc->sample_rate, dec->sample_rate, ++ enc->sample_fmt, dec->sample_fmt, ++ 16, 10, 0, 0.8); ++ if (!ost->resample) { ++ wxLogError(wxT("Can not resample %d channels @ %d Hz to %d channels @ %d Hz"), ++ dec->channels, dec->sample_rate, ++ enc->channels, enc->sample_rate); ++ return false; ++ } + } + } + +@@ -2619,7 +2516,7 @@ + pkt.size= ret; + if(enc->coded_frame && enc->coded_frame->pts != (int64_t) AV_NOPTS_VALUE) + pkt.pts= av_rescale_q(enc->coded_frame->pts, enc->time_base, ost->st->time_base); +- pkt.flags |= PKT_FLAG_KEY; ++ pkt.flags |= AV_PKT_FLAG_KEY; + if (!WriteFrame(s, &pkt, ost->st->codec, ost->bitstream_filters)) + return false; + +@@ -2704,7 +2601,7 @@ + bool wxFfmpegMediaTranscoder::DoVideoOut(AVFormatContext *s, AVOutputStream *ost, + AVInputStream *ist, AVFrame *in_picture, int *frame_size, + int bit_buffer_size, uint8_t* bit_buffer) { +- int nb_frames, i, ret, av_unused resample_changed; ++ int nb_frames, i, ret; + AVFrame *final_picture, *formatted_picture; + AVCodecContext *enc, *dec; + double sync_ipts; +@@ -2787,15 +2684,13 @@ + // handles sameq here. This is not correct because it may not be a global option + big_picture.quality = same_quality ? (int) ist->st->quality : (int) ost->st->quality; + if (!me_threshold) +- big_picture.pict_type = 0; +-// big_picture.pts = AV_NOPTS_VALUE; ++ big_picture.pict_type = (AVPictureType) 0; + big_picture.pts= ost->sync_opts; +-// big_picture.pts= av_rescale(ost->sync_opts, AV_TIME_BASE*(int64_t)enc->time_base.num, enc->time_base.den); +-// if (ost->forced_kf_index < ost->forced_kf_count && +-// big_picture.pts >= ost->forced_kf_pts[ost->forced_kf_index]) { +-// big_picture.pict_type = AV_PICTURE_TYPE_I; +-// ost->forced_kf_index++; +-// } ++ if (ost->forced_kf_index < ost->forced_kf_count && ++ big_picture.pts >= ost->forced_kf_pts[ost->forced_kf_index]) { ++ big_picture.pict_type = AV_PICTURE_TYPE_I; ++ ost->forced_kf_index++; ++ } + ret = avcodec_encode_video(enc, bit_buffer, bit_buffer_size, &big_picture); + if (ret < 0) { + wxLogError(wxT("Video encoding failed")); +@@ -2806,17 +2701,12 @@ + pkt.size= ret; + if(enc->coded_frame->pts != (int64_t) AV_NOPTS_VALUE) + pkt.pts= av_rescale_q(enc->coded_frame->pts, enc->time_base, ost->st->time_base); +- //av_log(NULL, AV_LOG_DEBUG, "encoder -> %"PRId64"/%"PRId64"\n", +- //pkt.pts != AV_NOPTS_VALUE ? av_rescale(pkt.pts, enc->time_base.den, AV_TIME_BASE*(int64_t)enc->time_base.num) : -1, +- //pkt.dts != AV_NOPTS_VALUE ? av_rescale(pkt.dts, enc->time_base.den, AV_TIME_BASE*(int64_t)enc->time_base.num) : -1); +- ++ + if(enc->coded_frame->key_frame) + pkt.flags |= AV_PKT_FLAG_KEY; + WriteFrame(s, &pkt, ost->st->codec, ost->bitstream_filters); + *frame_size = ret; + video_size += ret; +- //wxLogError(wxT("Frame: %3d size: %5d type: %d"), +- // enc->frame_number-1, ret, enc->pict_type); + // if two pass, output log + if (ost->logfile && enc->stats_out) { + fprintf(ost->logfile, "%s", enc->stats_out); +@@ -2896,7 +2786,8 @@ + int64_t total_size; + AVCodecContext *enc; + int frame_number, vid, i; +- double bitrate, ti1, pts; ++ double bitrate; ++ int64_t pts = INT64_MAX; + static int64_t last_time = -1; + static int qp_histogram[52]; + +@@ -2920,11 +2811,13 @@ + total_size= avio_tell(oc->pb); + + wxString msg; +- ti1 = 1e10; + vid = 0; + for (i=0; i<nb_ostreams; i++) { ++ float q = -1; + ost = ost_table[i]; + enc = ost->st->codec; ++ if (!ost->st->stream_copy && enc->coded_frame) ++ q = enc->coded_frame->quality/(float)FF_QP2LAMBDA; + if (vid && enc->codec_type == AVMEDIA_TYPE_VIDEO) { + msg += wxString::Format(wxT("q=%2.1f "), + !ost->st->stream_copy ? enc->coded_frame->quality/(float)FF_QP2LAMBDA : -1); +@@ -2940,7 +2833,7 @@ + msg += wxString::Format(wxT("L")); + if (qp_hist) { + int j; +- int qp = (int) rint(enc->coded_frame->quality/(float)FF_QP2LAMBDA); ++ int qp = lrintf(q); + if (qp>=0 && qp < (int) (FF_ARRAY_ELEMS(qp_histogram))) + qp_histogram[qp]++; + for (j=0; j<32; j++) +@@ -2971,18 +2864,22 @@ + vid = 1; + } + // compute min output value +- pts = (double)ost->st->pts.val * av_q2d(ost->st->time_base); +- if ((pts < ti1) && (pts > 0)) +- ti1 = pts; ++ pts = FFMIN(pts, av_rescale_q(ost->st->pts.val, ost->st->time_base, AV_TIME_BASE_Q)); + } +- if (ti1 < 0.01) +- ti1 = 0.01; + + if (verbose || is_last_report) { +- bitrate = (double)(total_size * 8) / ti1 / 1000.0; ++ int hours, mins, secs, us; ++ secs = pts / AV_TIME_BASE; ++ us = pts % AV_TIME_BASE; ++ mins = secs / 60; ++ secs %= 60; ++ hours = mins / 60; ++ mins %= 60; ++ ++ bitrate = pts ? total_size * 8 / (pts / 1000.0) : 0; + +- msg += wxString::Format(wxT("size=%8.0fkB time=%0.2f bitrate=%6.1fkbits/s"), +- (double)total_size / 1024, ti1, bitrate); ++ msg += wxString::Format(wxT("size=%8.0fkB time=%02d:%02d:%02d.%02d bitrate=%6.1fkbits/s"), ++ (double) total_size / 1024, hours, mins, secs, (100 * us) / AV_TIME_BASE, bitrate); + + if (nb_frames_dup || nb_frames_drop) + msg += wxString::Format(wxT(" dup=%d drop=%d"), nb_frames_dup, nb_frames_drop); +@@ -3013,10 +2910,9 @@ + } + nb_output_files = 0; + for (int i=0; i<nb_input_files; i++) { +- av_close_input_file(input_files[i]); ++ av_close_input_file(input_files[i].ctx); + av_free(input_files_ts_scale[i]); + } +- nb_input_files = 0; + + av_freep(&intra_matrix); + av_freep(&inter_matrix); +@@ -3025,11 +2921,14 @@ + fclose(vstats_file); + av_freep(&vstats_filename); + +- av_freep(&output_codecs); +- nb_output_codecs = 0; + av_freep(&stream_maps); + nb_stream_maps = 0; + ++ av_freep(&input_streams); ++ nb_input_streams = 0; ++ av_freep(&input_files); ++ nb_input_files = 0; ++ + av_freep(&video_standard); + av_freep(&audio_buf); + av_freep(&audio_out); +diff -Naur DVDStyler-1.8.4.3.orig/src/mediatrc_ffmpeg.h DVDStyler-1.8.4.3/src/mediatrc_ffmpeg.h +--- DVDStyler-1.8.4.3.orig/src/mediatrc_ffmpeg.h 2011-05-15 09:23:34.000000000 -0400 ++++ DVDStyler-1.8.4.3/src/mediatrc_ffmpeg.h 2011-09-18 18:13:29.000000000 -0400 +@@ -3,7 +3,7 @@ + // Purpose: FFMPEG Media Transcoder + // Author: Alex Thuering + // Created: 26.04.2008 +-// RCS-ID: $Id: mediatrc_ffmpeg.h,v 1.19 2011/05/15 13:23:34 ntalex Exp $ ++// RCS-ID: $Id: mediatrc_ffmpeg.h,v 1.20 2011/07/24 07:58:21 ntalex Exp $ + // Copyright: (c) Alex Thuering + // Licence: GPL + ///////////////////////////////////////////////////////////////////////////// +@@ -20,13 +20,8 @@ + extern "C" { + #define __STDC_CONSTANT_MACROS + #define __STDC_LIMIT_MACROS +-#ifdef HAVE_FFMPEG_AVUTIL_H +-#include <avformat.h> +-#include <swscale.h> +-#else + #include <libavformat/avformat.h> + #include <libswscale/swscale.h> +-#endif + } + + // select an input stream for an output stream +@@ -39,8 +34,9 @@ + + // select an input file for an output file + typedef struct AVMetaDataMap { +- int out_file; +- int in_file; ++ int file; //< file index ++ char type; //< type of metadata to copy -- (g)lobal, (s)tream, (c)hapter or (p)rogram ++ int index; //< stream/chapter/program number + } AVMetaDataMap; + + typedef struct AVChapterMap { +@@ -50,6 +46,8 @@ + + struct AVInputStream; + struct AVOutputStream; ++struct AVDictionary; ++struct AVInputFile; + + #define MAX_FILES 50 + #define MAX_STREAMS_ 20 +@@ -108,21 +106,20 @@ + void PrintReport(AVFormatContext **output_files, AVOutputStream **ost_table, + int nb_ostreams, int is_last_report); + int CopyChapters(int infile, int outfile); +- AVFormatContext *input_files[MAX_FILES]; +- int nb_input_files; + int64_t input_files_ts_offset[MAX_FILES]; + double* input_files_ts_scale[MAX_FILES]; + int nb_input_files_ts_scale[MAX_FILES]; ++ ++ AVCodec **input_codecs; ++ int nb_input_codecs; + + AVFormatContext* output_files[MAX_FILES]; +- AVCodec** output_codecs; + int nb_output_files; +- int nb_output_codecs; + + AVStreamMap* stream_maps; + int nb_stream_maps; + +- AVMetaDataMap meta_data_maps[MAX_FILES]; ++ AVMetaDataMap (*meta_data_maps)[2]; + int nb_meta_data_maps; + int metadata_global_autocopy; + int metadata_streams_autocopy; +@@ -134,7 +131,6 @@ + int frame_width; + int frame_height; + float frame_aspect_ratio; +- int frame_aspect_ratio_override; + PixelFormat frame_pix_fmt; + int frame_bits_per_raw_sample; + SampleFormat audio_sample_fmt; +@@ -163,10 +159,10 @@ + int audio_channels; + unsigned int audio_codec_tag; + char *audio_language; +- ++ + char *subtitle_language; + unsigned int subtitle_codec_tag; +- ++ + float mux_preload; + float mux_max_delay; + +@@ -174,7 +170,7 @@ + int64_t start_time; + int64_t recording_timestamp; + int64_t input_ts_offset; +- AVMetadata* metadata; ++ AVDictionary *metadata; + int do_psnr; + int do_pass; + const char *pass_logfilename_prefix; +@@ -182,8 +178,8 @@ + int audio_sync_method; + float audio_drift_threshold; + int copy_ts; +- int opt_shortest; // +- int video_global_header; ++ int copy_tb; ++ int opt_shortest; + char *vstats_filename; + FILE *vstats_file; + int opt_programid; +@@ -222,6 +218,12 @@ + AVBitStreamFilterContext *video_bitstream_filters; + AVBitStreamFilterContext *audio_bitstream_filters; + AVBitStreamFilterContext *subtitle_bitstream_filters; ++ ++ AVInputStream *input_streams; ++ int nb_input_streams; ++ AVInputFile *input_files; ++ int nb_input_files; ++ + AVOutputStream** output_streams_for_file[MAX_FILES]; + int nb_output_streams_for_file[MAX_FILES]; + }; diff --git a/community/pcb/PKGBUILD b/community/pcb/PKGBUILD index e7a7fcf0c..57651f7d7 100644 --- a/community/pcb/PKGBUILD +++ b/community/pcb/PKGBUILD @@ -2,18 +2,18 @@ # Maintainer: Stefan Husmann <stefan-husmann@t-online.de> pkgname=pcb -pkgver=20100929 -pkgrel=2 +pkgver=20110918 +pkgrel=1 pkgdesc="An interactive printed circuit board editor for the X11 window system." url="http://pcb.gpleda.org/" license=('GPL') arch=('i686' 'x86_64') -depends=('tcl' 'gtk2' 'gd' 'perlxml' 'hicolor-icon-theme' 'shared-mime-info') +depends=('tcl' 'gtkglext' 'gd' 'perlxml' 'hicolor-icon-theme' 'desktop-file-utils') optdepends=('tk: for the graphical QFP footprint builder') install=$pkgname.install changelog=Changelog source=(http://downloads.sourceforge.net/pcb/$pkgname-$pkgver.tar.gz) -md5sums=('4c71f5d1c40ad65539957748b88eb863') +md5sums=('54bbc997eeb22b85cf21fed54cb8e181') build() { cd $srcdir/$pkgname-$pkgver/ diff --git a/community/pigeonhole/PKGBUILD b/community/pigeonhole/PKGBUILD index 144788233..fc1bc0fd8 100644 --- a/community/pigeonhole/PKGBUILD +++ b/community/pigeonhole/PKGBUILD @@ -4,12 +4,12 @@ # This must be built against the version of dovecot being used, # else mail delivery will fail. # Specify the version of dovecot to be used here: -_dcpkgver=2.0.14 +_dcpkgver=2.0.15 # Make sure to bump pkgrel if changing this. pkgname=pigeonhole pkgver=0.2.4 -pkgrel=1 +pkgrel=2 pkgdesc="Fully rewritten Sieve implementation for Dovecot v2.0" arch=('i686' 'x86_64') url="http://pigeonhole.dovecot.org/" diff --git a/community/vnstat/PKGBUILD b/community/vnstat/PKGBUILD index 2fd7788ae..310adf3a1 100644 --- a/community/vnstat/PKGBUILD +++ b/community/vnstat/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 48601 2011-06-03 09:15:53Z ttopper $ +# $Id: PKGBUILD 55756 2011-09-19 06:41:29Z ttopper $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> pkgname=vnstat pkgver=1.11 -pkgrel=1 +pkgrel=2 pkgdesc="A console-based network traffic monitor" arch=('i686' 'x86_64') url="http://humdi.net/vnstat/" @@ -13,7 +13,6 @@ depends=('bash') makedepends=('gd') optdepends=('gd: image output') backup=(etc/vnstat.conf) -install=vnstat.install source=(http://humdi.net/vnstat/$pkgname-$pkgver.tar.gz http://humdi.net/vnstat/init.d/arch/vnstat) md5sums=('a5a113f9176cd61fb954f2ba297f5fdb' diff --git a/community/wxsvg/PKGBUILD b/community/wxsvg/PKGBUILD index f4520f9be..28bcc240d 100644 --- a/community/wxsvg/PKGBUILD +++ b/community/wxsvg/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 43527 2011-03-27 08:14:30Z ebelanger $ +# $Id: PKGBUILD 55754 2011-09-19 05:09:05Z ebelanger $ # Contributor: Alexander Fehr <pizzapunk gmail com> # Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=wxsvg -pkgver=1.0.8 +pkgver=1.1.2 pkgrel=1 pkgdesc="C++ library to create, manipulate and render SVG files" arch=('i686' 'x86_64') @@ -11,28 +11,17 @@ url="http://wxsvg.sourceforge.net/" license=('custom:wxWindows') depends=('wxgtk' 'libart-lgpl' 'ffmpeg') options=('!libtool') -source=("http://downloads.sourceforge.net/project/wxsvg/wxsvg/${pkgver}/wxsvg-${pkgver}-1.tar.bz2") -md5sums=('81b1b4e9f86b74850d56df6cc3a44faa') +source=("http://downloads.sourceforge.net/project/wxsvg/wxsvg/${pkgver}/wxsvg-${pkgver}.tar.bz2") +md5sums=('d88b0a68334df157fa560413681c3264') build() { - cd "${srcdir}/${pkgname}-${pkgver}-1" - - #sed -i 's|avformat.h|libavformat/avformat.h|' src/mediadec_ffmpeg.cpp - #sed -i 's|swscale.h|libswscale/swscale.h|' src/mediadec_ffmpeg.cpp - - ./autogen.sh - - ./configure \ - --prefix=/usr - + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}-1" - + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install - - install -D -m644 COPYING \ - "${pkgdir}/usr/share/licenses/wxsvg/COPYING" + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/wxsvg/COPYING" } diff --git a/core/file/PKGBUILD b/core/file/PKGBUILD index 4d7b9cf95..a9c580977 100644 --- a/core/file/PKGBUILD +++ b/core/file/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 134479 2011-08-04 09:59:01Z allan $ +# $Id: PKGBUILD 138220 2011-09-19 05:03:19Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> pkgname=file -pkgver=5.08 +pkgver=5.09 pkgrel=1 pkgdesc="File type identification utility" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ url="http://www.darwinsys.com/file/" depends=('glibc' 'zlib') options=('!libtool') source=(ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('6a2a263c20278f01fe3bb0f720b27d4e') +md5sums=('6fd7cd6c4281e68fe9ec6644ce0fac6f') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/core/mkinitcpio-nfs-utils/PKGBUILD b/core/mkinitcpio-nfs-utils/PKGBUILD index 962bb33ef..78d5c4737 100644 --- a/core/mkinitcpio-nfs-utils/PKGBUILD +++ b/core/mkinitcpio-nfs-utils/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 68748 2010-02-14 10:45:02Z thomas $ +# $Id: PKGBUILD 138224 2011-09-19 12:04:53Z pierre $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=mkinitcpio-nfs-utils pkgver=0.2 -pkgrel=1 +pkgrel=2 pkgdesc="ipconfig and nfsmount tools for NFS root support in mkinitcpio" arch=('i686' 'x86_64') url="http://www.archlinux.org/" @@ -14,7 +14,7 @@ sha256sums=('3f2839f21a420cd732d34e58f84534acdb7fc29f69381dbba3f00e3424201cd3') build() { cd "${srcdir}/${pkgname}-${pkgver}" - make || return 1 + make } package() { diff --git a/core/wget/PKGBUILD b/core/wget/PKGBUILD index d88b0fdd6..bb30e7e22 100644 --- a/core/wget/PKGBUILD +++ b/core/wget/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 136829 2011-09-01 21:49:29Z allan $ +# $Id: PKGBUILD 138218 2011-09-19 05:03:16Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=wget -pkgver=1.13.3 +pkgver=1.13.4 pkgrel=1 pkgdesc="A network utility to retrieve files from the Web" arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ optdepends=('ca-certificates: HTTPS downloads') backup=('etc/wgetrc') install=wget.install source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz) -md5sums=('540cbd50909885fe11bd7bc4f75268d1') +md5sums=('7f518b3a71e9efd330e9a0c3714f8463') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/audacious/PKGBUILD b/extra/audacious/PKGBUILD index 9447a6fd2..b191251a8 100644 --- a/extra/audacious/PKGBUILD +++ b/extra/audacious/PKGBUILD @@ -1,22 +1,20 @@ -# $Id: PKGBUILD 136227 2011-08-25 02:57:58Z bisson $ +# $Id: PKGBUILD 138257 2011-09-19 16:24:40Z bisson $ # Contributor: Alexander Fehr <pizzapunk gmail com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=audacious -pkgver=3.0.2 +pkgver=3.0.3 pkgrel=1 pkgdesc='Lightweight, GTK-based advanced audio player focused on audio quality' arch=('i686' 'x86_64') url='http://audacious-media-player.org/' license=('GPL3') -depends=('gtk3' 'libmcs' 'dbus-glib' 'libguess' 'libsm' 'audacious-plugins') -optdepends=('unzip: zipped skins support' - 'hicolor-icon-theme: for icons' - 'gtk-update-icon-cache: for icons' - 'desktop-file-utils: desktop integration') +depends=('gtk3' 'libmcs' 'dbus-glib' 'libguess' 'libsm' 'audacious-plugins' + 'hicolor-icon-theme' 'gtk-update-icon-cache' 'desktop-file-utils') +optdepends=('unzip: zipped skins support') source=("http://distfiles.atheme.org/${pkgname}-${pkgver}.tar.gz") -sha1sums=('68799076acafb151668285e8d9498048633d7b60') +sha1sums=('713cc7ee277ca548ea143b4ec3bd40bcacdb327f') provides=('audacious-player') replaces=('audacious-player') diff --git a/extra/audacious/install b/extra/audacious/install index 4a3873e96..b6ce5bc02 100644 --- a/extra/audacious/install +++ b/extra/audacious/install @@ -1,6 +1,6 @@ post_install() { - type update-desktop-database &>/dev/null && update-desktop-database -q - type gtk-update-icon-cache &>/dev/null && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor true } diff --git a/extra/banshee/PKGBUILD b/extra/banshee/PKGBUILD index 39961936b..e5a597bdd 100644 --- a/extra/banshee/PKGBUILD +++ b/extra/banshee/PKGBUILD @@ -1,14 +1,14 @@ -# $Id: PKGBUILD 124622 2011-05-23 14:30:18Z ibiru $ +# $Id: PKGBUILD 138285 2011-09-19 20:41:10Z ibiru $ # Contributor: György Balló <ballogy@freestart.hu> pkgname=banshee -pkgver=2.0.1 -pkgrel=2 +pkgver=2.2.0 +pkgrel=1 pkgdesc="Music management and playback for GNOME" arch=('i686' 'x86_64') url="http://banshee.fm/" license=('MIT') -depends=('libxxf86vm' 'mono-addins' 'notify-sharp-svn' 'boo' 'libwebkit' 'gdata-sharp' 'gtk-sharp-beans' 'gudev-sharp' 'gkeyfile-sharp' 'taglib-sharp' 'libmtp' 'libgpod' 'mono-zeroconf' 'gstreamer0.10-base-plugins' 'desktop-file-utils' 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'gconf-sharp') +depends=(libxxf86vm gstreamer0.10-base-plugins mono-addins notify-sharp-svn dbus-sharp-glib boo libwebkit libsoup-gnome gdata-sharp taglib-sharp gtk-sharp-beans 'gudev-sharp' 'gkeyfile-sharp' gconf-sharp libmtp libgpod mono-zeroconf desktop-file-utils hicolor-icon-theme xdg-utils media-player-info) makedepends=('intltool' 'gnome-doc-utils') optdepends=('gstreamer0.10-good-plugins: Extra media codecs' 'gstreamer0.10-ugly-plugins: Extra media codecs' @@ -17,20 +17,23 @@ optdepends=('gstreamer0.10-good-plugins: Extra media codecs' 'brasero: CD burning') options=('!libtool') install=$pkgname.install -source=(http://download.banshee.fm/$pkgname/stable/$pkgver/$pkgname-$pkgver.tar.bz2) -md5sums=('83d77447936eed84eba2123b341b62ea') +source=(http://download.gnome.org/sources/$pkgname/2.2/$pkgname-$pkgver.tar.xz + banshee-recent-gpod.patch) +sha256sums=('85026f270777be15b778a8bf676d2c6e1a0d3d9758145515809bf209f7ab1815' +'018eeb00d1b4e625d13f1184863e499be5b5dde050a7513e012d5898125073d9') build() { export MONO_SHARED_DIR="$srcdir/.wabi" mkdir -p "$MONO_SHARED_DIR" cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i "$srcdir/banshee-recent-gpod.patch" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --disable-docs \ --disable-static \ --disable-scrollkeeper \ - --disable-ipod --disable-hal \ + --disable-schemas-install \ --with-vendor-build-id=ArchLinux make } diff --git a/extra/banshee/banshee-recent-gpod.patch b/extra/banshee/banshee-recent-gpod.patch new file mode 100644 index 000000000..afb3a0fd1 --- /dev/null +++ b/extra/banshee/banshee-recent-gpod.patch @@ -0,0 +1,24 @@ +From d4cd959c4a48ffc9da8fe0983bd31c4647669bf4 Mon Sep 17 00:00:00 2001 +From: William Witt <william@witt-family.net> +Date: Sat, 30 Jul 2011 21:54:41 -0500 +Subject: [PATCH] - Changed typecast on FileSize to uint in AppleDeviceTrackInfo to comply with libgpod-sharp + +--- + .../AppleDeviceTrackInfo.cs | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs b/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs +index 178266d..b8549f7 100644 +--- a/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs ++++ b/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs +@@ -215,7 +215,7 @@ namespace Banshee.Dap.AppleDevice + track.CDs = DiscCount; + track.CDNumber = DiscNumber; + track.TrackLength = (int) Duration.TotalMilliseconds; +- track.Size = (int)FileSize; ++ track.Size = (uint)FileSize; + track.Grouping = Grouping; + try { + track.TimePlayed = LastPlayed; +-- +1.7.3.4 diff --git a/gnome-unstable/caribou/PKGBUILD b/gnome-unstable/caribou/PKGBUILD index a016ab963..ee85b139d 100644 --- a/gnome-unstable/caribou/PKGBUILD +++ b/gnome-unstable/caribou/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 137086 2011-09-06 07:20:34Z ibiru $ +# $Id: PKGBUILD 138273 2011-09-19 19:09:38Z ibiru $ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Adam Hani Schakaki <krzd@krzd.net> pkgname=caribou -pkgver=0.3.91 +pkgver=0.3.92 pkgrel=1 pkgdesc="A text entry and UI navigation application being developed as an alternative to the Gnome On-screen Keyboard." arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ makedepends=('gnome-doc-utils' 'intltool' 'clutter') install=caribou.install options=(!libtool !emptydirs) source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/0.3/$pkgname-$pkgver.tar.xz) -sha256sums=('4fe2f493d21fd3fcbdd846f26a5b308f7af62db55f6ac4ae6e91513eb7316bca') +sha256sums=('51143b32ff7a59be2aa199ec48d5276b035861c29be8434d3f16231171eee939') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/cheese/PKGBUILD b/gnome-unstable/cheese/PKGBUILD index 6a4d86599..5573350fa 100644 --- a/gnome-unstable/cheese/PKGBUILD +++ b/gnome-unstable/cheese/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 137216 2011-09-06 19:33:18Z ibiru $ +# $Id: PKGBUILD 138302 2011-09-19 22:05:23Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=cheese -pkgver=3.1.91.1 +pkgver=3.1.92 pkgrel=1 pkgdesc="Use your webcam to take photos and videos, apply fancy special effects and share the fun with others" arch=(i686 x86_64) @@ -14,8 +14,8 @@ groups=('gnome-extra') options=('!libtool' '!emptydirs') url="http://www.gnome.org/projects/cheese/" install=cheese.install -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('d29a0ee92f7877a10a9f834784e9f9239eaa51eb506b1fa47cd0619e98bb957b') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('4c3fa6ad257b2592b17e2f67a7608dca596685827a3ce64ae15b5de4458195bb') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/clutter/PKGBUILD b/gnome-unstable/clutter/PKGBUILD index c42e1e44c..0314a5d04 100644 --- a/gnome-unstable/clutter/PKGBUILD +++ b/gnome-unstable/clutter/PKGBUILD @@ -1,20 +1,20 @@ -# $Id: PKGBUILD 137931 2011-09-12 16:48:56Z ibiru $ +# $Id: PKGBUILD 138277 2011-09-19 19:33:15Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: William Rea <sillywilly@gmail.com> pkgname=clutter -pkgver=1.7.90 +pkgver=1.8.0 pkgrel=1 pkgdesc="A GObject based library for creating fast, visually rich graphical user interfaces" arch=('i686' 'x86_64') url="http://clutter-project.org/" options=('!libtool') license=('LGPL') -depends=('cogl>=1.7.6' 'mesa' 'json-glib' 'atk' 'libxi') +depends=('cogl>=1.8.0' 'mesa' 'json-glib' 'atk' 'libxi') makedepends=('gobject-introspection' 'mesa') source=(http://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('36b98d400ce9397e66e7b4f6f424a7185dadba0350651ae20964f494ec40b190') +sha256sums=('c8bd379154d40400b19932934dfa05e8a02057bbff2455f09afda7aa6c4b5ef8') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/cogl/PKGBUILD b/gnome-unstable/cogl/PKGBUILD index 11afabb6c..8a247ee81 100644 --- a/gnome-unstable/cogl/PKGBUILD +++ b/gnome-unstable/cogl/PKGBUILD @@ -1,7 +1,8 @@ -# $Id: PKGBUILD 137066 2011-09-05 20:44:58Z ibiru $ +# $Id: PKGBUILD 138269 2011-09-19 18:47:39Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> + pkgname=cogl -pkgver=1.7.8 +pkgver=1.8.0 pkgrel=1 pkgdesc="An object oriented GL/GLES Abstraction/Utility Layer" arch=('i686' 'x86_64') @@ -10,8 +11,8 @@ license=('GPL2') depends=('libdrm' 'libxext' 'libxdamage' 'libxcomposite' 'gdk-pixbuf2' 'pango') makedepends=('mesa' 'gobject-introspection') options=(!libtool) -source=(http://download.gnome.org/sources/$pkgname/1.7/$pkgname-$pkgver.tar.xz) -sha256sums=('afa114951946c5aafde965b6c34eef487731de06e002474d7956faa8e5754749') +source=(http://download.gnome.org/sources/$pkgname/1.8/$pkgname-$pkgver.tar.xz) +sha256sums=('b1551c129d5570b63e7130971622fc2ab8d4ecbf0dc1773df1c54fa9c1cb0a2c') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/dconf/PKGBUILD b/gnome-unstable/dconf/PKGBUILD index f098d80d5..ba0c08730 100644 --- a/gnome-unstable/dconf/PKGBUILD +++ b/gnome-unstable/dconf/PKGBUILD @@ -1,7 +1,8 @@ -# $Id: PKGBUILD 136651 2011-08-31 11:05:39Z ibiru $ +# $Id: PKGBUILD 138253 2011-09-19 15:33:12Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> + pkgname=dconf -pkgver=0.9.0 +pkgver=0.9.1 pkgrel=1 pkgdesc="A low-level configuration system." arch=(i686 x86_64) @@ -12,7 +13,7 @@ makedepends=('vala' 'gobject-introspection' 'gtk3') optdepends=('gtk3: for dconf-editor') install=dconf.install source=(http://download.gnome.org/sources/${pkgname}/0.9/${pkgname}-${pkgver}.tar.xz) -sha256sums=('df16ba1af423145f968fb7d36d0a1bfd75f27aefb5d3016aaecb1ab311944581') +sha256sums=('fd2ea1ed3b7933cf3d6841f8fc8794a0351c30ef5d7b8eb0b56cc3171e9e354e') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/empathy/PKGBUILD b/gnome-unstable/empathy/PKGBUILD index 2fcf42035..5497cd6be 100644 --- a/gnome-unstable/empathy/PKGBUILD +++ b/gnome-unstable/empathy/PKGBUILD @@ -1,15 +1,14 @@ -# $Id: PKGBUILD 137182 2011-09-06 10:27:05Z ibiru $ +# $Id: PKGBUILD 138304 2011-09-19 22:13:01Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=empathy -pkgver=3.1.91 -pkgrel=1 +pkgver=3.1.92 +pkgrel=2 pkgdesc="A GNOME instant messaging client using the Telepathy framework." arch=('i686' 'x86_64') url="http://live.gnome.org/Empathy" license=('GPL2') -depends=('libpulse' 'clutter-gtk' 'clutter-gst' 'telepathy-mission-control' 'telepathy-logger' 'telepathy-farsight' 'telepathy-farstream' 'folks' -'gnome-keyring' 'libcanberra' 'iso-codes') +depends=('libpulse' 'clutter-gtk' 'clutter-gst' 'telepathy-mission-control' 'telepathy-logger' 'telepathy-farsight' 'telepathy-farstream' 'folks' 'gnome-keyring' 'libcanberra' 'iso-codes') makedepends=('intltool' 'gnome-doc-utils' 'nautilus-sendto') optdepends=('telepathy-gabble: XMPP/Jabber support' 'telepathy-butterfly: MSN support' @@ -21,7 +20,7 @@ options=('!libtool') groups=('gnome-extra') install=empathy.install source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/3.1/${pkgname}-${pkgver}.tar.xz) -sha256sums=('5292b00b6c365645ea8f467fb0f86efa4e6b479f10ac4de6f96facb62faac526') +sha256sums=('bfab43c6296bd7e67006f4582589ff98c6c2c9223b550a851734a2f826febb31') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/empathy/empathy.install b/gnome-unstable/empathy/empathy.install index 63dd6b907..c3f7abf13 100644 --- a/gnome-unstable/empathy/empathy.install +++ b/gnome-unstable/empathy/empathy.install @@ -6,7 +6,9 @@ post_install() { } post_upgrade() { - post_install $1 + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor } post_remove() { diff --git a/gnome-unstable/eog/PKGBUILD b/gnome-unstable/eog/PKGBUILD index 09da6640f..63ca8d28c 100644 --- a/gnome-unstable/eog/PKGBUILD +++ b/gnome-unstable/eog/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 137211 2011-09-06 17:46:23Z ibiru $ +# $Id: PKGBUILD 138287 2011-09-19 20:51:18Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=eog -pkgver=3.1.91 +pkgver=3.1.92 pkgrel=1 pkgdesc="Eye of Gnome: An image viewing and cataloging program" arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ groups=('gnome-extra') options=('!emptydirs' '!libtool') url="http://www.gnome.org" source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('73f65d724866b01c5a3c1f9c60f2c1b1ab8d3d75a1bf68d6ad9d7640013772d5') +sha256sums=('6639757714724a641c586eeca1ea56d6d78312974d2f70118647c31bce67ead5') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/evolution-data-server/PKGBUILD b/gnome-unstable/evolution-data-server/PKGBUILD index 3d7c264de..604c905eb 100644 --- a/gnome-unstable/evolution-data-server/PKGBUILD +++ b/gnome-unstable/evolution-data-server/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 137522 2011-09-08 19:07:04Z ibiru $ +# $Id: PKGBUILD 138232 2011-09-19 13:59:32Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=evolution-data-server -pkgver=3.1.91 -pkgrel=2 +pkgver=3.1.92 +pkgrel=1 pkgdesc="Centralized access to appointments and contacts" arch=('i686' 'x86_64') depends=('gconf' 'gnome-online-accounts' 'nss' 'krb5' 'libgweather' 'libical' 'db' 'libgdata') @@ -12,7 +12,7 @@ options=('!libtool') url="http://www.gnome.org" license=('GPL') source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/3.1/${pkgname}-${pkgver}.tar.xz) -sha256sums=('c1524cd4ab45965cac3560f31ca10e282e8c20c130f6c2cf7e31baa88e842a48') +sha256sums=('35a14158a2eb1c34845cef2d40d6dcbc6d8110c29864d9bb8f1149c691dfd8c2') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/evolution/PKGBUILD b/gnome-unstable/evolution/PKGBUILD index cd3eff4fb..47c80de9c 100644 --- a/gnome-unstable/evolution/PKGBUILD +++ b/gnome-unstable/evolution/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 137524 2011-09-08 19:32:34Z ibiru $ +# $Id: PKGBUILD 138236 2011-09-19 14:27:09Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=evolution -pkgver=3.1.91 -pkgrel=2 +pkgver=3.1.92 +pkgrel=1 pkgdesc="Manage your email, contacts and schedule" arch=('i686' 'x86_64') license=('GPL') @@ -16,7 +16,7 @@ options=('!libtool' '!emptydirs') install=evolution.install url=http://www.gnome.org/projects/evolution/ source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('ca2aadc3b1dbd52784b7200aeb5125b774835ffa2f351cbccd9a9edfe1713e46') +sha256sums=('5f7c7b1be9a87c3a5c1694326f65fc4f52eb4e7fef2b36ab2a7e10acfb5ae875') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/gconf/PKGBUILD b/gnome-unstable/gconf/PKGBUILD index 3638b9878..633ecf66a 100644 --- a/gnome-unstable/gconf/PKGBUILD +++ b/gnome-unstable/gconf/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 136645 2011-08-31 10:47:39Z ibiru $ +# $Id: PKGBUILD 138267 2011-09-19 18:44:07Z ibiru $ # Maintainer: Jan de Groot <jan@archlinux.org> pkgname=gconf -pkgver=3.1.90 +pkgver=3.1.92 pkgrel=1 pkgdesc="A configuration database system" arch=(i686 x86_64) @@ -17,7 +17,7 @@ source=(http://ftp.gnome.org/pub/gnome/sources/GConf/3.1/GConf-${pkgver}.tar.xz gconfpkg gconf-reload.patch 01_xml-gettext-domain.patch) -sha256sums=('98769f368d2e67c82adf820f0193824169382676a8bc53972727d6a7ad9a7b5f' +sha256sums=('58be6055953376b4422ba4c505ac3f8724d5f1362c1ad674626142e057235045' 'ee6b6e6f4975dad13a8c45f1c1f0547a99373bdecdcd6604bfc12965c328a028' 'bf1928718caa5df2b9e54a13cfd0f15a8fe0e09e86b84385ce023616a114e898' '567b78d8b4b4bbcb77c5f134d57bc503c34867fcc6341c0b01716bcaa4a21694' diff --git a/gnome-unstable/gedit/PKGBUILD b/gnome-unstable/gedit/PKGBUILD index 9b0b71e2b..cd60051cd 100644 --- a/gnome-unstable/gedit/PKGBUILD +++ b/gnome-unstable/gedit/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 137207 2011-09-06 17:34:40Z ibiru $ +# $Id: PKGBUILD 138275 2011-09-19 19:18:02Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gedit -pkgver=3.1.5 +pkgver=3.1.6 pkgrel=1 pkgdesc="A text editor for GNOME" arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ options=('!libtool' '!emptydirs') url="http://www.gnome.org" install=gedit.install source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('d781fd78002e39ef84cca45f390de8a354fd7acd92bb241f5ccf5263dd56856b') +sha256sums=('2aa6087150830c0fd0bfafd30d68acbab247e747cf4a729af48f04c5499d4d24') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/glib-networking/PKGBUILD b/gnome-unstable/glib-networking/PKGBUILD index 55fc0345a..7959ab0dc 100644 --- a/gnome-unstable/glib-networking/PKGBUILD +++ b/gnome-unstable/glib-networking/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 138135 2011-09-17 08:01:40Z heftig $ +# $Id: PKGBUILD 138312 2011-09-19 22:27:15Z ibiru $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> pkgname=glib-networking -pkgver=2.29.18 -pkgrel=2 +pkgver=2.29.92 +pkgrel=1 pkgdesc="Network-related giomodules for glib" arch=('i686' 'x86_64') url="http://www.gtk.org/" @@ -12,14 +12,11 @@ depends=('glib2' 'libproxy' 'gnutls' 'libgcrypt' 'ca-certificates' 'gsettings-de makedepends=('intltool') options=('!libtool') install=glib-networking.install -source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz - fix_G_TLS_ERROR_EOF_handling.patch) -sha256sums=('87d77d9bf184398cd8b7f709e6de42f11b2badf9df1bd96a9ab69c0c8a0766f0' - '286d64a121cb987866b51af70f55d47bafc5bf60e813aa1412dce51e426cc553') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz) +sha256sums=('65b3785e02ffae1cf5e3f25985ac428d6d17e69355947ed831e1a6d1e852948a') build() { cd "$srcdir/$pkgname-$pkgver" - patch -Np1 -i "$srcdir/fix_G_TLS_ERROR_EOF_handling.patch" ./configure \ --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/glib-networking --disable-static diff --git a/gnome-unstable/gnome-color-manager/PKGBUILD b/gnome-unstable/gnome-color-manager/PKGBUILD index b4d150fe5..4386b06b7 100644 --- a/gnome-unstable/gnome-color-manager/PKGBUILD +++ b/gnome-unstable/gnome-color-manager/PKGBUILD @@ -1,27 +1,29 @@ -# $Id: PKGBUILD 137040 2011-09-05 17:46:47Z heftig $ +# $Id: PKGBUILD 138279 2011-09-19 19:45:34Z ibiru $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> pkgname=gnome-color-manager -pkgver=3.1.91 +pkgver=3.1.92 pkgrel=1 pkgdesc="Color profile manager for the GNOME desktop" arch=(i686 x86_64) url="http://projects.gnome.org/gnome-color-manager/" license=(GPL2) -depends=(colord gnome-settings-daemon gnome-control-center vte3 exiv2 - hicolor-icon-theme desktop-file-utils clutter-gtk mash) -makedepends=(intltool gtk-doc) +depends=('libcanberra' 'vte3' 'exiv2' 'hicolor-icon-theme' 'desktop-file-utils' 'clutter-gtk' 'mash') +makedepends=('intltool' 'gtk-doc') install=gnome-color-manager.install -options=('!libtool') +options=('!libtool' '!emptydirs') +groups=('gnome-extra') source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('bc8907cd72bdc399b6cd900f940eb3baa858d52e5ca15883fc5a849bdf76c6a6') +sha256sums=('e2de9c0780b730f8e1472b671b0b0f566adfd197c5eb092c75672fa3736ad1fd') build(){ cd "$srcdir/$pkgname-$pkgver" # man pages need docbook-sgml, which we don't have - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libexecdir=/usr/lib --disable-static --disable-man-pages + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/gnome-color-manager \ + --disable-static --disable-man-pages make } diff --git a/gnome-unstable/gnome-contacts/PKGBUILD b/gnome-unstable/gnome-contacts/PKGBUILD index df964f0b7..6f881e4d3 100644 --- a/gnome-unstable/gnome-contacts/PKGBUILD +++ b/gnome-unstable/gnome-contacts/PKGBUILD @@ -1,7 +1,7 @@ -# $Id: PKGBUILD 137516 2011-09-08 13:39:42Z ibiru $ +# $Id: PKGBUILD 138245 2011-09-19 15:15:04Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gnome-contacts -pkgver=0.1.4.1 +pkgver=0.1.5 pkgrel=1 pkgdesc="Contacts Manager for GNOME" arch=(i686 x86_64) @@ -12,7 +12,7 @@ depends=('gtk3' 'folks' 'libnotify' 'gnome-desktop') makedepends=('intltool' 'vala') install= source=(http://download.gnome.org/sources/$pkgname/0.1/$pkgname-$pkgver.tar.xz) -sha256sums=('66dfb898df93b70f40cf9ff290ab8db1bea08d69e637dfba5266de58fa5be367') +sha256sums=('eddf5f8977944f289d2a9ea4e330f92bc75ba98431e05716adf5622e5db8513c') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/gnome-desktop/PKGBUILD b/gnome-unstable/gnome-desktop/PKGBUILD index a1afacb59..238be9ad7 100644 --- a/gnome-unstable/gnome-desktop/PKGBUILD +++ b/gnome-unstable/gnome-desktop/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 137019 2011-09-05 10:10:34Z ibiru $ +# $Id: PKGBUILD 138281 2011-09-19 19:50:26Z ibiru $ # Maintainer: Jan de Groot <jan@archlinux.org> pkgname=gnome-desktop -pkgver=3.1.91 +pkgver=3.1.92 pkgrel=1 pkgdesc="Library with common API for various GNOME modules" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ url="http://www.gnome.org" groups=('gnome') options=('!libtool') source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('80e5386d28f8dca454ce0e513aa855b26ccb045a4612a67951f08031f38a2e0b') +sha256sums=('4f687e4363b9c4401fd8c613b78eea052ba8bb0669a33334c1b98ac69924f193') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/gnome-menus/PKGBUILD b/gnome-unstable/gnome-menus/PKGBUILD index 50cb566f9..779319e5e 100644 --- a/gnome-unstable/gnome-menus/PKGBUILD +++ b/gnome-unstable/gnome-menus/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 136769 2011-09-01 13:28:32Z ibiru $ +# $Id: PKGBUILD 138261 2011-09-19 17:46:18Z ibiru $ # Maintainer: Jan de Groot <jan@archlinux.org> pkgname=gnome-menus -pkgver=3.1.90 +pkgver=3.1.92 pkgrel=1 pkgdesc="GNOME menu specifications" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ license=('GPL' 'LGPL') url="http://www.gnome.org" source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz menus.patch) -sha256sums=('f8ce327049a62dd837076a047785f6b5d6a379b2b2cd9e176f4d15730fd8c551' +sha256sums=('dcc18847cbcc99e83bb5f9e75b62b6475dc3e1f77e8534a4f00f3e858f459bf4' 'df2779777906b038fa911dc745534564ede9524a64ab368e2f6f8e38d54e7acc') build() { diff --git a/gnome-unstable/gnome-online-accounts/PKGBUILD b/gnome-unstable/gnome-online-accounts/PKGBUILD index 52cc802f9..48e201074 100644 --- a/gnome-unstable/gnome-online-accounts/PKGBUILD +++ b/gnome-unstable/gnome-online-accounts/PKGBUILD @@ -1,7 +1,8 @@ -# $Id: PKGBUILD 136707 2011-08-31 16:23:30Z ibiru $ +# $Id: PKGBUILD 138291 2011-09-19 21:00:17Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> + pkgname=gnome-online-accounts -pkgver=3.1.90 +pkgver=3.1.91 pkgrel=1 pkgdesc="GNOME service to access online accounts" arch=(i686 x86_64) @@ -12,7 +13,7 @@ makedepends=('intltool' 'libxslt' 'gobject-introspection' 'docbook-xsl') options=(!libtool) install=$pkgname.install source=(http://download.gnome.org/sources/$pkgname/3.1/$pkgname-$pkgver.tar.xz) -sha256sums=('60e9a66f9d5aa5ff6d68c99e0c9af424eaffb667e298aa41438ad29fc8c8a0a1') +sha256sums=('8690f7908e5676dead765776a6a5c4704f5d811a312d8efb4d48325c4b905dd6') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/gnome-panel/PKGBUILD b/gnome-unstable/gnome-panel/PKGBUILD index 26980d33b..2c7f9cb99 100644 --- a/gnome-unstable/gnome-panel/PKGBUILD +++ b/gnome-unstable/gnome-panel/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 137021 2011-09-05 10:20:15Z ibiru $ +# $Id: PKGBUILD 138310 2011-09-19 22:23:50Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnome-panel -pkgver=3.1.91 +pkgver=3.1.92 pkgrel=1 arch=('i686' 'x86_64') license=('GPL') @@ -16,7 +16,7 @@ replaces=('gnome-panel-bonobo') provides=("gnome-panel-bonobo=${pkgver}") options=('!libtool' '!emptydirs') source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('74ca1bf568d72ac2f764f6384434e7b05c9a819a1924a0dbdea4e7ebb9616cd6') +sha256sums=('1f3fcb9769b2871eda0f17eb87f01476cca625be5e798a2f37d32a222509356e') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/gnome-power-manager/PKGBUILD b/gnome-unstable/gnome-power-manager/PKGBUILD index 79a24cf42..445c6cd42 100644 --- a/gnome-unstable/gnome-power-manager/PKGBUILD +++ b/gnome-unstable/gnome-power-manager/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 136794 2011-09-01 15:17:56Z ibiru $ +# $Id: PKGBUILD 138283 2011-09-19 19:56:04Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnome-power-manager -pkgver=3.1.90 +pkgver=3.1.92 pkgrel=1 -pkgdesc="Session daemon that makes it easy to manage your laptop or desktop system." +pkgdesc="Power management tools." arch=(i686 x86_64) url="http://www.gnome.org/projects/gnome-power-manager/" license=('GPL') @@ -12,9 +12,9 @@ depends=('gtk3' 'upower' 'dconf' 'hicolor-icon-theme') makedepends=('intltool' 'gnome-doc-utils') options=(!emptydirs) install=gnome-power-manager.install -groups=(gnome) +groups=(gnome-extra) source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('2a7ae60d64a4fb8e3a2af99e03669cce27ee21e28b6b673363255b578aac1768') +sha256sums=('74d4c6bb1d0b9f3d7889da9fd2b35695e40795b3d06a932473b2e42f0a8ea1ac') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/gnome-screensaver/PKGBUILD b/gnome-unstable/gnome-screensaver/PKGBUILD index 3bf14cdb4..e4cba9bb7 100644 --- a/gnome-unstable/gnome-screensaver/PKGBUILD +++ b/gnome-unstable/gnome-screensaver/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 137023 2011-09-05 10:26:19Z ibiru $ +# $Id: PKGBUILD 138228 2011-09-19 12:10:27Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnome-screensaver -pkgver=3.1.91 +pkgver=3.1.92 pkgrel=1 pkgdesc="Screensaver designed to integrate well with the GNOME desktop." arch=('i686' 'x86_64') @@ -16,7 +16,7 @@ options=(!emptydirs) install=gnome-screensaver.install source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz gnome-screensaver.pam) -sha256sums=('aa0947438138fc8d4b40b50af066fbea82da7a95cd15781e5c8ea3340c6aaae3' +sha256sums=('816d9c2905f52ddcba8f4e03ca4ebb9d6566dca1b41557f5b176bd7cde3b38d5' '2744d1fc39da46fc681b7cf1c9230d2035b2bb8d9f510213fbe439c114eb76a2') build() { diff --git a/gnome-unstable/gnome-session/PKGBUILD b/gnome-unstable/gnome-session/PKGBUILD index c0ba70753..5a58af631 100644 --- a/gnome-unstable/gnome-session/PKGBUILD +++ b/gnome-unstable/gnome-session/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 137017 2011-09-05 10:06:40Z ibiru $ +# $Id: PKGBUILD 138308 2011-09-19 22:19:48Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnome-session diff --git a/gnome-unstable/gnome-settings-daemon/PKGBUILD b/gnome-unstable/gnome-settings-daemon/PKGBUILD index 9fc0bb336..4fe0fb4d8 100644 --- a/gnome-unstable/gnome-settings-daemon/PKGBUILD +++ b/gnome-unstable/gnome-settings-daemon/PKGBUILD @@ -1,16 +1,14 @@ -# $Id: PKGBUILD 137027 2011-09-05 15:05:39Z ibiru $ +# $Id: PKGBUILD 138249 2011-09-19 15:22:06Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnome-settings-daemon -pkgver=3.1.91 +pkgver=3.1.92 pkgrel=1 pkgdesc="The GNOME Settings daemon" arch=('i686' 'x86_64') license=('GPL') -depends=('libgnomekbd' 'gnome-desktop' 'libnotify' 'hicolor-icon-theme' - 'libcanberra-pulse' 'gsettings-desktop-schemas' 'nss' 'gconf' - 'dconf' 'pulseaudio' 'pulseaudio-alsa' 'upower') -makedepends=('intltool' 'gtk-doc' 'gnome-desktop' 'colord') +depends=('libgnomekbd' 'gnome-desktop' 'libnotify' 'hicolor-icon-theme' 'libcanberra-pulse' 'gsettings-desktop-schemas' 'nss' 'gconf' 'dconf' 'pulseaudio' 'pulseaudio-alsa' 'upower') +makedepends=('intltool' 'gtk-doc' 'gnome-desktop') options=('!emptydirs' '!libtool') install=gnome-settings-daemon.install url="http://www.gnome.org" @@ -18,7 +16,7 @@ groups=('gnome') replaces=(gnome-settings-daemon-pulse) conflicts=(gnome-settings-daemon-pulse) source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('bd907225c84f5a6cf84356a22d5935cb141b3f8841290f7192de20642c0b5e90') +sha256sums=('e1dadfbf3a830e0606456e9269db4f80673ff4607be8106c49a607b41156f97f') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/gnome-shell/PKGBUILD b/gnome-unstable/gnome-shell/PKGBUILD index fbfd2b9ec..19f7fd5a8 100644 --- a/gnome-unstable/gnome-shell/PKGBUILD +++ b/gnome-unstable/gnome-shell/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 138033 2011-09-15 04:09:11Z heftig $ +# $Id: PKGBUILD 138295 2011-09-19 21:31:14Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> # Contributor: Flamelab <panosfilip@gmail.com pkgname=gnome-shell pkgver=3.1.91.1 -pkgrel=1 +pkgrel=2 pkgdesc="The next generation GNOME Shell" arch=('i686' 'x86_64') url="http://live.gnome.org/GnomeShell" license=('GPL2') depends=('mutter' 'gjs' 'libcroco' 'gnome-bluetooth' 'gnome-desktop' 'gnome-menus' 'libpulse' 'folks' 'telepathy-logger' 'networkmanager' 'caribou') -makedepends=('intltool' 'gnome-doc-utils' 'xulrunner') +makedepends=('intltool' 'gnome-doc-utils') optdepends=('network-manager-applet: shell integration for networkmanager') options=('!libtool' '!emptydirs') install=gnome-shell.install diff --git a/gnome-unstable/gnome-themes-standard/PKGBUILD b/gnome-unstable/gnome-themes-standard/PKGBUILD index cc15b32f7..c1d24cd81 100644 --- a/gnome-unstable/gnome-themes-standard/PKGBUILD +++ b/gnome-unstable/gnome-themes-standard/PKGBUILD @@ -1,7 +1,7 @@ -# $Id: PKGBUILD 137220 2011-09-06 20:08:17Z ibiru $ +# $Id: PKGBUILD 138247 2011-09-19 15:17:19Z ibiru $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> pkgname=gnome-themes-standard -pkgver=3.1.91 +pkgver=3.1.92 pkgrel=1 pkgdesc="Default themes for the GNOME desktop" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ groups=('gnome') replaces=('gnome-themes') conflicts=('gnome-themes') source=(http://download.gnome.org/sources/$pkgname/3.1/$pkgname-${pkgver}.tar.xz) -sha256sums=('9e44bce5b324dc4cce32124bbf7f76f471deaa958fae39eb6b8e311c69067663') +sha256sums=('cffa18c223c8877a97502cb521ec83958c0979cf0566c43129ba1ec329366079') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/gnome-utils/PKGBUILD b/gnome-unstable/gnome-utils/PKGBUILD index 210665222..3c8b0f8da 100644 --- a/gnome-unstable/gnome-utils/PKGBUILD +++ b/gnome-unstable/gnome-utils/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 136813 2011-09-01 19:23:30Z ibiru $ +# $Id: PKGBUILD 138251 2011-09-19 15:30:31Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnome-utils -pkgver=3.1.90 +pkgver=3.1.92 pkgrel=1 pkgdesc="Common GNOME utilities for viewing disk usage, logs and fonts, taking screenshots, managing dictionaries and searching files" arch=(i686 x86_64) @@ -14,7 +14,7 @@ url="http://www.gnome.org" groups=('gnome-extra') install=gnome-utils.install source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('edb1f156bd44494588b61be7150d3496bd2daeca0848a5d7baf51f87017cf54e') +sha256sums=('0a988e612e41333efd4b8842704b6333a19cdf673a4d0699be93c9bd9dfae4bb') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/gtk3/PKGBUILD b/gnome-unstable/gtk3/PKGBUILD index b3d0029e0..5adea8dd1 100644 --- a/gnome-unstable/gtk3/PKGBUILD +++ b/gnome-unstable/gtk3/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 138010 2011-09-14 09:22:13Z ibiru $ +# $Id: PKGBUILD 138316 2011-09-19 22:41:31Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gtk3 -pkgver=3.1.90 +pkgver=3.1.92 pkgrel=1 pkgdesc="The GTK+ Toolkit (v3)" arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ backup=(etc/gtk-3.0/settings.ini) license=('LGPL') source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/3.1/gtk+-${pkgver}.tar.xz settings.ini) -sha256sums=('dc65a5ec50df57cc603b30fb85e6c68be36673688babcb21d2ad6123d63c4a8b' +sha256sums=('e6ce9549b8bb3a9796223d1ae9768503ce66e8755b66dd2529c7a149b9ebea64' 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621') build() { diff --git a/gnome-unstable/gtkhtml4/PKGBUILD b/gnome-unstable/gtkhtml4/PKGBUILD index 01315418b..b4fc6f32a 100644 --- a/gnome-unstable/gtkhtml4/PKGBUILD +++ b/gnome-unstable/gtkhtml4/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 136981 2011-09-04 12:16:53Z ibiru $ +# $Id: PKGBUILD 138230 2011-09-19 13:46:18Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gtkhtml4 _pkgbasename=gtkhtml -pkgver=4.1.91 +pkgver=4.1.92 pkgrel=1 pkgdesc="A lightweight HTML renderer/editor widget for GTK3" arch=(i686 x86_64) @@ -13,7 +13,7 @@ makedepends=('intltool') url="http://www.gnome.org" options=('!libtool') source=(http://ftp.gnome.org/pub/gnome/sources/${_pkgbasename}/${pkgver%.*}/${_pkgbasename}-${pkgver}.tar.xz) -sha256sums=('8df789b9e3114d1d929ae0b6a5a0ae805be20cf4a641eb8b9e4661c531e3f042') +sha256sums=('b1aa40dff832970669ac882c92dda9edb8476a2e6edab619d0e681498efa91e6') build() { cd "${srcdir}/${_pkgbasename}-${pkgver}" diff --git a/gnome-unstable/gtkmm3/PKGBUILD b/gnome-unstable/gtkmm3/PKGBUILD index 3096757a3..7f3082478 100644 --- a/gnome-unstable/gtkmm3/PKGBUILD +++ b/gnome-unstable/gtkmm3/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 138095 2011-09-16 08:53:25Z heftig $ +# $Id: PKGBUILD 138222 2011-09-19 09:47:58Z heftig $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgbase=gtkmm3 _pkgbasename=gtkmm pkgname=('gtkmm3' 'gtkmm3-docs') -pkgver=3.1.90 +pkgver=3.1.90.1 pkgrel=1 arch=('i686' 'x86_64') makedepends=('gtk3' 'pangomm' 'atkmm' 'glibmm-docs' 'mm-common') @@ -12,7 +12,7 @@ license=('LGPL') options=('!libtool' '!emptydirs') url="http://gtkmm.sourceforge.net/" source=(http://ftp.gnome.org/pub/GNOME/sources/${_pkgbasename}/3.1/${_pkgbasename}-${pkgver}.tar.xz) -sha256sums=('db54fad0a60d6463323f538837a213ad1838b0b7197d07359f268205b63685f9') +sha256sums=('f620f2c4e9d4037a5b9e42f0dbeef33d9c461c30226767e134087f92bb0567bc') build() { cd "${srcdir}/${_pkgbasename}-${pkgver}" diff --git a/gnome-unstable/gtksourceview3/PKGBUILD b/gnome-unstable/gtksourceview3/PKGBUILD index 8ecea6a0b..79f876e03 100644 --- a/gnome-unstable/gtksourceview3/PKGBUILD +++ b/gnome-unstable/gtksourceview3/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 137202 2011-09-06 17:16:29Z ibiru $ +# $Id: PKGBUILD 138271 2011-09-19 19:01:00Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gtksourceview3 _pkgbasename=gtksourceview -pkgver=3.1.5 +pkgver=3.1.6 pkgrel=1 pkgdesc="A text widget adding syntax highlighting and more to GNOME" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ makedepends=('intltool' 'pkgconfig' 'gobject-introspection') options=('!libtool') url="http://www.gnome.org" source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-${pkgver}.tar.xz) -sha256sums=('39042c6c2f9c55385dc40e6d4e0a842081ef895ae3c2f63645ab92ecfa0743f9') +sha256sums=('5d39f8c8ec4fa6e04c319070a9c1e66daeaeaba9463939a516cca122256fb23c') build() { cd "${srcdir}/$_pkgbasename-${pkgver}" diff --git a/gnome-unstable/gucharmap/PKGBUILD b/gnome-unstable/gucharmap/PKGBUILD new file mode 100644 index 000000000..1c1593267 --- /dev/null +++ b/gnome-unstable/gucharmap/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 138238 2011-09-19 14:31:59Z ibiru $ +# Maintainer: Jan De Groot <jgc@archlinux.org> + +pkgname=gucharmap +pkgver=3.1.92 +pkgrel=1 +pkgdesc="Gnome Unicode Charmap" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnome.org" +depends=('gconf' 'hicolor-icon-theme') +makedepends=('gtk-doc' 'intltool' 'gobject-introspection') +options=('!libtool' '!emptydirs') +install=gucharmap.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('370179135acbe87c22854932964a1f5ad469c811abe63d4c10e2394cbccfbd47') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --disable-scrollkeeper --enable-introspection + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make -j1 GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gucharmap ${pkgdir}/etc/gconf/schemas/*.schemas + rm -f ${pkgdir}/etc/gconf/schemas/*.schemas +} diff --git a/gnome-unstable/gucharmap/gucharmap.install b/gnome-unstable/gucharmap/gucharmap.install new file mode 100644 index 000000000..4de3253f6 --- /dev/null +++ b/gnome-unstable/gucharmap/gucharmap.install @@ -0,0 +1,22 @@ +pkgname=gucharmap + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/gnome-unstable/json-glib/PKGBUILD b/gnome-unstable/json-glib/PKGBUILD index 9d6ec4b39..3fe93ab3b 100644 --- a/gnome-unstable/json-glib/PKGBUILD +++ b/gnome-unstable/json-glib/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 137563 2011-09-09 14:19:59Z ibiru $ +# $Id: PKGBUILD 138241 2011-09-19 14:36:36Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=json-glib -pkgver=0.13.90 +pkgver=0.14.0 pkgrel=1 pkgdesc="JSON library built on GLib" arch=('i686' 'x86_64') @@ -11,8 +11,8 @@ license=('GPL') depends=('glib2') makedepends=('gobject-introspection') options=('!libtool') -source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.13/${pkgname}-${pkgver}.tar.xz) -sha256sums=('9014919ed26da0765f8b784d9b604d963b77922db388d29bf08fb3beced8d7ff') +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.14/${pkgname}-${pkgver}.tar.xz) +sha256sums=('821e90196673408a9293845e37ef572826a960a101096db9bcba45cf4c4afc56') build(){ cd ${srcdir}/${pkgname}-${pkgver} diff --git a/gnome-unstable/libsoup/PKGBUILD b/gnome-unstable/libsoup/PKGBUILD index 8ffa8b63f..b5a24457e 100644 --- a/gnome-unstable/libsoup/PKGBUILD +++ b/gnome-unstable/libsoup/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 136685 2011-08-31 14:00:57Z ibiru $ +# $Id: PKGBUILD 138314 2011-09-19 22:33:04Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=libsoup pkgname=('libsoup' 'libsoup-gnome') -pkgver=2.35.90 +pkgver=2.35.92 pkgrel=1 arch=('i686' 'x86_64') license=('LGPL') @@ -11,7 +11,7 @@ makedepends=('glib2' 'libxml2' 'sqlite3' 'libgnome-keyring' 'intltool' 'gobject- url="http://www.gnome.org" source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.xz) options=('!libtool' '!emptydirs') -sha256sums=('c679e25d5ae1dd0ff39b4b5e58daeabf9620e161bd58ca4dd144aa63b88db64a') +sha256sums=('df4986e0e58662ac0bccc4571d86b98b883003299adf1cb8f8a51b5dfdd0605b') build() { cd "${srcdir}/${pkgbase}-${pkgver}" diff --git a/gnome-unstable/libwnck3/PKGBUILD b/gnome-unstable/libwnck3/PKGBUILD index 5fce69b1a..a093408cf 100644 --- a/gnome-unstable/libwnck3/PKGBUILD +++ b/gnome-unstable/libwnck3/PKGBUILD @@ -1,8 +1,9 @@ -# $Id: PKGBUILD 136659 2011-08-31 11:44:34Z ibiru $ +# $Id: PKGBUILD 138265 2011-09-19 18:02:28Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> + pkgname=libwnck3 _pkgbasename=libwnck -pkgver=3.1.90 +pkgver=3.1.92 pkgrel=1 pkgdesc="Window Navigator Construction Kit (GTK+3)" arch=('i686' 'x86_64') @@ -12,7 +13,7 @@ makedepends=('intltool' 'gobject-introspection') options=('!libtool') url="http://www.gnome.org/" source=(http://ftp.gnome.org/pub/gnome/sources/${_pkgbasename}/${pkgver%.*}/${_pkgbasename}-${pkgver}.tar.xz) -sha256sums=('1404693cbe10b6ff42a347d49e4f2e6cea3ad44b7162b5e4e72fdb067fc52641') +sha256sums=('5ec890c2cec6c090a8790cdee2234fee1fb2529ed6216d2721310bda19d270db') build() { cd "${srcdir}/${_pkgbasename}-${pkgver}" diff --git a/gnome-unstable/mash/PKGBUILD b/gnome-unstable/mash/PKGBUILD index 8093bf8fc..354d50de8 100644 --- a/gnome-unstable/mash/PKGBUILD +++ b/gnome-unstable/mash/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 136860 2011-09-02 13:21:16Z heftig $ +# $Id: PKGBUILD 138299 2011-09-19 21:50:38Z ibiru $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> pkgname=mash pkgver=0.1.0 -pkgrel=1 +pkgrel=2 pkgdesc="A small library for using 3D models within a Clutter scene" arch=('i686' 'x86_64') url="http://clutter-project.org/" diff --git a/gnome-unstable/mutter/PKGBUILD b/gnome-unstable/mutter/PKGBUILD index 0ce91f06d..cb4c0f992 100644 --- a/gnome-unstable/mutter/PKGBUILD +++ b/gnome-unstable/mutter/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 138028 2011-09-14 22:00:55Z ibiru $ +# $Id: PKGBUILD 138293 2011-09-19 21:23:39Z ibiru $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Maintainer: Ionut Biru <ibiru@archlinux.org> # Contributor: Michael Kanis <mkanis_at_gmx_dot_de> pkgname=mutter pkgver=3.1.91.1 -pkgrel=1 +pkgrel=2 pkgdesc="A window manager for GNOME" arch=(i686 x86_64) license=('GPL') diff --git a/gnome-unstable/mx/PKGBUILD b/gnome-unstable/mx/PKGBUILD index cbe98dcab..e84e7b5ff 100644 --- a/gnome-unstable/mx/PKGBUILD +++ b/gnome-unstable/mx/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 136911 2011-09-02 18:22:52Z heftig $ +# $Id: PKGBUILD 138297 2011-09-19 21:48:33Z ibiru $ # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Guenther Wutz <admin@wutzara.de> pkgname=mx pkgver=1.3.1 -pkgrel=1 +pkgrel=2 pkgdesc="A widget toolkit using Clutter" arch=('i686' 'x86_64') url="http://www.clutter-project.org" diff --git a/gnome-unstable/pygobject/PKGBUILD b/gnome-unstable/pygobject/PKGBUILD index 793fa97ec..57c8f8693 100644 --- a/gnome-unstable/pygobject/PKGBUILD +++ b/gnome-unstable/pygobject/PKGBUILD @@ -1,18 +1,17 @@ -# $Id: PKGBUILD 138090 2011-09-16 08:43:47Z ibiru $ +# $Id: PKGBUILD 138263 2011-09-19 18:00:23Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgbase=pygobject pkgname=(python-gobject python2-gobject pygobject-devel) -pkgver=2.90.4 +pkgver=3.0.0 pkgrel=1 arch=('i686' 'x86_64') url="https://live.gnome.org/PyGObject" license=('LGPL') -depends=('glib2' 'gobject-introspection' ) -makedepends=(python python2 python-cairo python2-cairo) +makedepends=('python' 'python2' 'python-cairo' 'python2-cairo' 'gobject-introspection') source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.xz) options=('!libtool') -sha256sums=('8407b6997181bbca4783798e21d7d63ca41708a6c05a3b08c953d64e7b97b2a1') +sha256sums=('ef6735792b0d44287126a6a3b181c85559849063d770506fe06848adb87ce815') build() { cd "${srcdir}" @@ -35,7 +34,7 @@ build() { package_python-gobject() { pkgdesc="Python 3 bindings for GObject" - depends+=('python' 'python-cairo' "pygobject-devel=${pkgver}") + depends=('gobject-introspection' 'python-cairo' "pygobject-devel=${pkgver}") cd "${srcdir}/${pkgbase}-${pkgver}" make DESTDIR="${pkgdir}" install @@ -44,7 +43,7 @@ package_python-gobject() { package_python2-gobject() { pkgdesc="Python 2 bindings for GObject" - depends+=('python2' 'python2-cairo' "pygobject-devel=${pkgver}") + depends=('gobject-introspection' 'python2-cairo' "pygobject-devel=${pkgver}") cd "${srcdir}/python2-build" make DESTDIR="${pkgdir}" install diff --git a/gnome-unstable/sushi/PKGBUILD b/gnome-unstable/sushi/PKGBUILD index 6f690a569..c53b8ff24 100644 --- a/gnome-unstable/sushi/PKGBUILD +++ b/gnome-unstable/sushi/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 137031 2011-09-05 17:00:37Z ibiru $ +# $Id: PKGBUILD 138307 2011-09-19 22:15:22Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=sushi -pkgver=0.1.90 -pkgrel=1 +pkgver=0.1.92 +pkgrel=2 pkgdesc="A quick previewer for Nautilus" arch=(i686 x86_64) url="http://www.gnome.org" @@ -12,7 +12,7 @@ depends=('clutter-gtk' 'clutter-gst' 'gjs' 'libmusicbrainz3' 'libwebkit3' 'gtkso makedepends=('intltool' 'gobject-introspection') options=(!libtool) source=(http://download.gnome.org/sources/$pkgname/0.1/$pkgname-$pkgver.tar.xz) -sha256sums=('a4c7fafbfb43cd91ccd9937bfd094f3d72cadc3c01e930aa069f3b2288574b9f') +sha256sums=('93e5982739a79ba4d305785c64b0f1de79aa5da57b2287bcaaa4a071e66d8688') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/tomboy/PKGBUILD b/gnome-unstable/tomboy/PKGBUILD new file mode 100644 index 000000000..cef2b51e0 --- /dev/null +++ b/gnome-unstable/tomboy/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 138226 2011-09-19 12:07:16Z ibiru $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=tomboy +pkgver=1.7.7 +pkgrel=1 +pkgdesc="Desktop note-taking application for Linux and Unix" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnome.org/projects/tomboy/" +depends=('gtk2' 'gtkspell' 'gconf' 'gconf-sharp' 'dbus-sharp' 'dbus-sharp-glib' 'mono-addins' 'hicolor-icon-theme') +makedepends=('intltool' 'pkgconfig' 'gnome-doc-utils') +options=('!libtool' '!emptydirs' '!makeflags') +groups=('gnome-extra') +install=tomboy.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.7/${pkgname}-${pkgver}.tar.xz) +sha256sums=('f8c38ba48abcee33ba336b526adbc8672a0c8a5053f600324c6ef84f48399e12') + +build() { + export MONO_SHARED_DIR="${srcdir}/.wabi" + mkdir -p "${MONO_SHARED_DIR}" + + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-scrollkeeper \ + --disable-update-mimedb + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install + + install -m755 -d "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain tomboy ${pkgdir}/etc/gconf/schemas/*.schemas + rm -f ${pkgdir}/etc/gconf/schemas/*.schemas +} diff --git a/gnome-unstable/tomboy/tomboy.install b/gnome-unstable/tomboy/tomboy.install new file mode 100644 index 000000000..f8e2e4a07 --- /dev/null +++ b/gnome-unstable/tomboy/tomboy.install @@ -0,0 +1,25 @@ +pkgname=tomboy + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} + + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-mime-database usr/share/mime +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-mime-database usr/share/mime +} diff --git a/testing/util-linux/PKGBUILD b/testing/util-linux/PKGBUILD index c73a8cd30..8b63895c4 100644 --- a/testing/util-linux/PKGBUILD +++ b/testing/util-linux/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 137553 2011-09-09 11:23:27Z tomegun $ +# $Id: PKGBUILD 138305 2011-09-19 22:14:14Z tomegun $ # Maintainer: Tom Gundersen <teg@jklm.no> # Contributor: judd <jvinet@zeroflux.org> pkgname=util-linux pkgver=2.20 -pkgrel=2 +pkgrel=3 pkgdesc="Miscellaneous system utilities for Linux" url="http://userweb.kernel.org/~kzak/util-linux-ng/" arch=('i686' 'x86_64') @@ -19,14 +19,16 @@ source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/${pkgname}-${ agetty-typo.patch write-freopen.patch dmesg-non-printk.patch - dmesg-space.patch) + dmesg-space.patch + dont-close-0.patch + fix-remount.patch) optdepends=('perl: for chkdupexe support') build() { cd "${srcdir}/${pkgname}-${pkgver}" # patches from master - for patch in agetty-typo.patch write-freopen.patch dmesg-non-printk.patch dmesg-space.patch; do + for patch in agetty-typo.patch write-freopen.patch dmesg-non-printk.patch dmesg-space.patch dont-close-0.patch fix-remount.patch; do patch -Np1 -i "${srcdir}/${patch}" done @@ -37,7 +39,8 @@ build() { --enable-write\ --enable-raw\ --disable-wall\ - --enable-partx + --enable-partx\ + --enable-libmount-mount make } @@ -53,4 +56,6 @@ md5sums=('4dcacdbdafa116635e52b977d9d0e879' '13838c6dd8df686e0f01ad0f236d2690' '465817ff8f7c08411c8011ee91b50318' 'f3ca75a1a22a2a739c5c22d92dc07ab0' - 'd9768f0b42d36d72c02ac7797b922ba1') + 'd9768f0b42d36d72c02ac7797b922ba1' + '37eae52af90c214dda73874c701fa246' + '344c780b9e08826dd8befe4271b41ed3') diff --git a/testing/util-linux/dont-close-0.patch b/testing/util-linux/dont-close-0.patch new file mode 100644 index 000000000..75cfc5c5e --- /dev/null +++ b/testing/util-linux/dont-close-0.patch @@ -0,0 +1,32 @@ +From 3a18db62e661fbb307ad3a53c18afabc92d3c63e Mon Sep 17 00:00:00 2001 +From: Petr Uzel <petr.uzel@suse.cz> +Date: Tue, 13 Sep 2011 11:08:46 +0200 +Subject: [PATCH 1/2] lib: do not attempt to close(0) in sysfs_deinit() + +If the 'open' fails we 'goto err' which runs 'sysfs_deinit()' on a 'cxt' +which hasn't been fully initialised. The 'dir_fd' is still 0, so +sysfs_deinit calls "close(0)". + +Addresses: https://bugzilla.novell.com/show_bug.cgi?id=714151 +Reported-by: Diego Ercolani <diego.ercolani@gmail.com> +Analysed-by: Neil Brown <nfbrown@suse.com> +Signed-off-by: Petr Uzel <petr.uzel@suse.cz> +--- + lib/sysfs.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/lib/sysfs.c b/lib/sysfs.c +index eec1f24..ebb3bb5 100644 +--- a/lib/sysfs.c ++++ b/lib/sysfs.c +@@ -140,6 +140,7 @@ int sysfs_init(struct sysfs_cxt *cxt, dev_t devno, struct sysfs_cxt *parent) + int fd, rc = 0; + + memset(cxt, 0, sizeof(*cxt)); ++ cxt->dir_fd = -1; + + if (!sysfs_devno_path(devno, path, sizeof(path))) + goto err; +-- +1.7.6.1 + diff --git a/testing/util-linux/fix-remount.patch b/testing/util-linux/fix-remount.patch new file mode 100644 index 000000000..67149ab46 --- /dev/null +++ b/testing/util-linux/fix-remount.patch @@ -0,0 +1,37 @@ +From 277a6dd53569a409e05316a7bdaed0e78e326762 Mon Sep 17 00:00:00 2001 +From: Karel Zak <kzak@redhat.com> +Date: Tue, 13 Sep 2011 22:59:39 +0200 +Subject: [PATCH 2/2] mount: check for target before source on remount + +Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=737091 +Reported-by: Eric Paris <eparis@redhat.com> +Signed-off-by: Karel Zak <kzak@redhat.com> +--- + mount/fstab.c | 9 +++++++-- + 1 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/mount/fstab.c b/mount/fstab.c +index 8d88f68..77bf81c 100644 +--- a/mount/fstab.c ++++ b/mount/fstab.c +@@ -272,10 +272,15 @@ getmntfilebackward (const char *name, struct mntentchn *mcprev) { + mc0 = mtab_head(); + if (!mcprev) + mcprev = mc0; ++ + for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev) +- if (streq(mc->m.mnt_dir, name) || +- streq(mc->m.mnt_fsname, name)) ++ if (streq(mc->m.mnt_dir, name)) + return mc; ++ ++ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev) ++ if (streq(mc->m.mnt_fsname, name)) ++ return mc; ++ + return NULL; + } + +-- +1.7.6.1 + |