summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-testing/vdrift/PKGBUILD4
-rw-r--r--community/bullet/PKGBUILD8
-rw-r--r--community/dmenu/PKGBUILD6
-rw-r--r--community/dvdstyler/PKGBUILD13
-rw-r--r--community/dvdstyler/dvdstyler-ffmpeg.patch1915
-rw-r--r--community/pcb/PKGBUILD8
-rw-r--r--community/pigeonhole/PKGBUILD4
-rw-r--r--community/vnstat/PKGBUILD5
-rw-r--r--community/wxsvg/PKGBUILD27
-rw-r--r--core/file/PKGBUILD6
-rw-r--r--core/mkinitcpio-nfs-utils/PKGBUILD6
-rw-r--r--core/wget/PKGBUILD6
-rw-r--r--extra/audacious/PKGBUILD14
-rw-r--r--extra/audacious/install4
-rw-r--r--extra/banshee/PKGBUILD17
-rw-r--r--extra/banshee/banshee-recent-gpod.patch24
-rw-r--r--gnome-unstable/caribou/PKGBUILD6
-rw-r--r--gnome-unstable/cheese/PKGBUILD8
-rw-r--r--gnome-unstable/clutter/PKGBUILD8
-rw-r--r--gnome-unstable/cogl/PKGBUILD9
-rw-r--r--gnome-unstable/dconf/PKGBUILD7
-rw-r--r--gnome-unstable/empathy/PKGBUILD11
-rw-r--r--gnome-unstable/empathy/empathy.install4
-rw-r--r--gnome-unstable/eog/PKGBUILD6
-rw-r--r--gnome-unstable/evolution-data-server/PKGBUILD8
-rw-r--r--gnome-unstable/evolution/PKGBUILD8
-rw-r--r--gnome-unstable/gconf/PKGBUILD6
-rw-r--r--gnome-unstable/gedit/PKGBUILD6
-rw-r--r--gnome-unstable/glib-networking/PKGBUILD13
-rw-r--r--gnome-unstable/gnome-color-manager/PKGBUILD20
-rw-r--r--gnome-unstable/gnome-contacts/PKGBUILD6
-rw-r--r--gnome-unstable/gnome-desktop/PKGBUILD6
-rw-r--r--gnome-unstable/gnome-menus/PKGBUILD6
-rw-r--r--gnome-unstable/gnome-online-accounts/PKGBUILD7
-rw-r--r--gnome-unstable/gnome-panel/PKGBUILD6
-rw-r--r--gnome-unstable/gnome-power-manager/PKGBUILD10
-rw-r--r--gnome-unstable/gnome-screensaver/PKGBUILD6
-rw-r--r--gnome-unstable/gnome-session/PKGBUILD2
-rw-r--r--gnome-unstable/gnome-settings-daemon/PKGBUILD12
-rw-r--r--gnome-unstable/gnome-shell/PKGBUILD6
-rw-r--r--gnome-unstable/gnome-themes-standard/PKGBUILD6
-rw-r--r--gnome-unstable/gnome-utils/PKGBUILD6
-rw-r--r--gnome-unstable/gtk3/PKGBUILD6
-rw-r--r--gnome-unstable/gtkhtml4/PKGBUILD6
-rw-r--r--gnome-unstable/gtkmm3/PKGBUILD6
-rw-r--r--gnome-unstable/gtksourceview3/PKGBUILD6
-rw-r--r--gnome-unstable/gucharmap/PKGBUILD33
-rw-r--r--gnome-unstable/gucharmap/gucharmap.install22
-rw-r--r--gnome-unstable/json-glib/PKGBUILD8
-rw-r--r--gnome-unstable/libsoup/PKGBUILD6
-rw-r--r--gnome-unstable/libwnck3/PKGBUILD7
-rw-r--r--gnome-unstable/mash/PKGBUILD4
-rw-r--r--gnome-unstable/mutter/PKGBUILD4
-rw-r--r--gnome-unstable/mx/PKGBUILD4
-rw-r--r--gnome-unstable/pygobject/PKGBUILD13
-rw-r--r--gnome-unstable/sushi/PKGBUILD8
-rw-r--r--gnome-unstable/tomboy/PKGBUILD37
-rw-r--r--gnome-unstable/tomboy/tomboy.install25
-rw-r--r--testing/util-linux/PKGBUILD17
-rw-r--r--testing/util-linux/dont-close-0.patch32
-rw-r--r--testing/util-linux/fix-remount.patch37
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
+