summaryrefslogtreecommitdiff
path: root/community/shotwell
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-12-06 02:18:52 -0800
committerroot <root@rshg054.dnsready.net>2012-12-06 02:18:52 -0800
commit3f0c4efbf72adbd091565fcc39ad1d09c92be5d0 (patch)
treef9b2abf9234090740a20840b7ca92991803a9316 /community/shotwell
parent947a049195183934ba5dffc131f9512fe253f4db (diff)
Thu Dec 6 02:15:36 PST 2012
Diffstat (limited to 'community/shotwell')
-rw-r--r--community/shotwell/0001-Port-to-GStreamer-1.0.patch159
-rw-r--r--community/shotwell/PKGBUILD19
2 files changed, 171 insertions, 7 deletions
diff --git a/community/shotwell/0001-Port-to-GStreamer-1.0.patch b/community/shotwell/0001-Port-to-GStreamer-1.0.patch
new file mode 100644
index 000000000..7d7ac742d
--- /dev/null
+++ b/community/shotwell/0001-Port-to-GStreamer-1.0.patch
@@ -0,0 +1,159 @@
+From 9cb0726dd0873e3664f3589aabadea8bb7c8ff37 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= <olivier.crete@collabora.com>
+Date: Tue, 25 Sep 2012 18:15:02 -0400
+Subject: [PATCH] Port to GStreamer 1.0
+
+---
+ Makefile | 21 +++++++++++----------
+ src/VideoSupport.vala | 8 ++++----
+ src/libshotwell.deps | 5 +++--
+ thumbnailer/shotwell-video-thumbnailer.vala | 18 ++++++++----------
+ 4 files changed, 26 insertions(+), 26 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1bd09e0..06059e3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -37,7 +37,7 @@ EXTRAS_SUPPORTED_LANGUAGES=fr de it es pl et sv sk lv pt bg bn nl da zh_CN el ru
+ LOCAL_LANG_DIR=locale-langpack
+ SYSTEM_LANG_DIR := $(DESTDIR)$(PREFIX)/share/locale
+
+-VALAFLAGS := -g --enable-checking --thread --fatal-warnings --enable-deprecated $(USER_VALAFLAGS)
++VALAFLAGS := -g --enable-checking --thread --enable-deprecated $(USER_VALAFLAGS)
+ ifdef UNITY_SUPPORT
+ VALAFLAGS := $(VALAFLAGS) --define UNITY_SUPPORT
+ endif
+@@ -293,9 +293,9 @@ EXT_PKGS = \
+ gio-unix-2.0 \
+ glib-2.0 \
+ gmodule-2.0 \
+- gstreamer-0.10 \
+- gstreamer-base-0.10 \
+- gstreamer-pbutils-0.10 \
++ gstreamer-1.0 \
++ gstreamer-base-1.0 \
++ gstreamer-pbutils-1.0 \
+ gtk+-3.0 \
+ gudev-1.0 \
+ libexif \
+@@ -314,8 +314,9 @@ endif
+ THUMBNAILER_PKGS = \
+ gtk+-3.0 \
+ gee-1.0 \
+- gstreamer-0.10 \
+- gstreamer-base-0.10
++ gstreamer-1.0 \
++ gstreamer-base-1.0 \
++ gstreamer-app-1.0 \
+
+ DIRECT_LIBS =
+
+@@ -325,10 +326,10 @@ EXT_PKG_VERSIONS = \
+ gio-unix-2.0 >= 2.20 \
+ glib-2.0 >= $(MIN_GLIB_VERSION) \
+ gmodule-2.0 >= 2.24.0 \
+- gstreamer-0.10 >= 0.10.28 \
+- gstreamer-base-0.10 >= 0.10.28 \
+- gstreamer-plugins-base-0.10 >= 0.10.32 \
+- gstreamer-pbutils-0.10 >= 0.10.32 \
++ gstreamer-1.0 >= 1.0.0 \
++ gstreamer-base-1.0 >= 1.0.0 \
++ gstreamer-plugins-base-1.0 >= 1.0.0 \
++ gstreamer-pbutils-1.0 >= 1.0.0 \
+ gtk+-3.0 >= 3.0.11 \
+ gudev-1.0 >= 145 \
+ libexif >= 0.6.16 \
+diff --git a/src/VideoSupport.vala b/src/VideoSupport.vala
+index deb45e2..f679bd0 100644
+--- a/src/VideoSupport.vala
++++ b/src/VideoSupport.vala
+@@ -163,8 +163,8 @@ public class VideoReader {
+ file.get_path()));
+
+ try {
+- Gst.Discoverer d = new Gst.Discoverer((Gst.ClockTime) (Gst.SECOND * 5));
+- Gst.DiscovererInfo info = d.discover_uri(file.get_uri());
++ Gst.PbUtils.Discoverer d = new Gst.PbUtils.Discoverer((Gst.ClockTime) (Gst.SECOND * 5));
++ Gst.PbUtils.DiscovererInfo info = d.discover_uri(file.get_uri());
+
+ clip_duration = ((double) info.get_duration()) / 1000000000.0;
+
+@@ -172,7 +172,7 @@ public class VideoReader {
+ // TODO: Note that TAG_DATE can be changed to TAG_DATE_TIME in the future
+ // (and the corresponding output struct) in order to implement #2836.
+ Date? video_date = null;
+- if (info.get_tags() != null && info.get_tags().get_date(Gst.TAG_DATE, out video_date)) {
++ if (info.get_tags() != null && info.get_tags().get_date(Gst.Tags.DATE, out video_date)) {
+ timestamp = new DateTime.local(video_date.get_year(), video_date.get_month(),
+ video_date.get_day(), 0, 0, 0);
+ }
+@@ -323,7 +323,7 @@ public class Video : VideoSource, Flaggable, Monitorable, Dateable {
+ Gst.init(ref fake_unowned_args);
+
+ int saved_state = Config.Facade.get_instance().get_video_interpreter_state_cookie();
+- current_state = (int) Gst.Registry.get_default().get_feature_list_cookie();
++ current_state = (int) Gst.Registry.get().get_feature_list_cookie();
+ if (saved_state == Config.Facade.NO_VIDEO_INTERPRETER_STATE) {
+ message("interpreter state cookie not found; assuming all video thumbnails are out of date");
+ interpreter_state_changed = true;
+diff --git a/thumbnailer/shotwell-video-thumbnailer.vala b/thumbnailer/shotwell-video-thumbnailer.vala
+index a4d7dc2..c12784e 100644
+--- a/thumbnailer/shotwell-video-thumbnailer.vala
++++ b/thumbnailer/shotwell-video-thumbnailer.vala
+@@ -10,11 +10,7 @@
+ // Shotwell Thumbnailer takes in a video file and returns a thumbnail to stdout. This is
+ // a replacement for totem-video-thumbnailer
+ class ShotwellThumbnailer {
+- const string caps_string = """video/x-raw-rgb,bpp = (int) 32, depth = (int) 32,
+- endianness = (int) BIG_ENDIAN,
+- red_mask = (int) 0xFF000000,
+- green_mask = (int) 0x00FF0000,
+- blue_mask = (int) 0x0000FF00,
++ const string caps_string = """video/x-raw, format=RGBA,
+ width = (int) [ 1, max ],
+ height = (int) [ 1, max ],
+ framerate = (fraction) [ 0, max ]""";
+@@ -36,7 +32,7 @@ class ShotwellThumbnailer {
+ return 1;
+ }
+
+- descr = "filesrc location=\"%s\" ! decodebin2 ! ffmpegcolorspace ! ".printf(args[1]) +
++ descr = "filesrc location=\"%s\" ! decodebin ! videoconvert ! ".printf(args[1]) +
+ "appsink name=sink caps=\"%s\"".printf(caps_string);
+
+ try {
+@@ -69,7 +65,7 @@ class ShotwellThumbnailer {
+ // by seeking to somewhere else we have a bigger chance of getting something
+ // more interesting. An optimization would be to detect black images and then
+ // seek a little more.
+- position = (int64) (Gst.Format.PERCENT_MAX * 0.05);
++ position = (int64) (Gst.FORMAT_PERCENT_MAX * 0.05);
+ pipeline.seek_simple(Gst.Format.PERCENT, Gst.SeekFlags.KEY_UNIT | Gst.SeekFlags.FLUSH , position);
+
+ // Get the preroll buffer from appsink, this block untils appsink really
+@@ -86,7 +82,7 @@ class ShotwellThumbnailer {
+ // that it can only be an rgb buffer. The only thing we have not specified
+ // on the caps is the height, which is dependant on the pixel-aspect-ratio
+ // of the source material.
+- caps = buffer.get_caps();
++ caps = (sink as Gst.App.Sink).caps;
+ if (caps == null) {
+ stderr.printf("could not get snapshot format\n");
+ return 5;
+@@ -104,9 +100,11 @@ class ShotwellThumbnailer {
+
+ // Create pixmap from buffer and save, gstreamer video buffers have a stride
+ // that is rounded up to the nearest multiple of 4.
+- pixbuf = new Gdk.Pixbuf.from_data(buffer.data, Gdk.Colorspace.RGB, true, 8,
++ Gst.MapInfo info;
++ buffer.map(out info, Gst.MapFlags.READ);
++ pixbuf = new Gdk.Pixbuf.from_data(info.data, Gdk.Colorspace.RGB, true, 8,
+ width, height, width * 4, null);
+-
++ buffer.unmap(info);
+ // Save the pixbuf.
+ pixbuf.save("/dev/stdout", "png");
+ } else {
+--
+1.7.11.4
+
diff --git a/community/shotwell/PKGBUILD b/community/shotwell/PKGBUILD
index f156811aa..14a61356c 100644
--- a/community/shotwell/PKGBUILD
+++ b/community/shotwell/PKGBUILD
@@ -1,30 +1,35 @@
-# $Id: PKGBUILD 79739 2012-11-11 19:39:26Z spupykin $
+# $Id: PKGBUILD 80877 2012-12-05 06:02:30Z bgyorgy $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com>
pkgname=shotwell
pkgver=0.13.1
-pkgrel=3
+pkgrel=4
pkgdesc="A digital photo organizer designed for the GNOME desktop environment"
arch=('i686' 'x86_64')
url="http://yorba.org/shotwell/"
license=('LGPL2.1')
-depends=('libgee' 'libunique3' 'libwebkit3' 'libgexiv2' 'libraw' 'rest'
+depends=('libgee' 'libwebkit3' 'libgexiv2' 'libraw' 'rest'
'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'json-glib'
- 'gstreamer0.10-base-plugins' 'libgphoto2')
-makedepends=('intltool' 'vala>=0.17.2')
+ 'gst-plugins-base' 'libgphoto2')
+makedepends=('intltool' 'vala>=0.17.2' 'libunique3')
install=shotwell.install
source=("http://yorba.org/download/shotwell/0.13/shotwell-${pkgver}.tar.xz"
- "no-libexec.patch")
+ "no-libexec.patch"
+ "0001-Port-to-GStreamer-1.0.patch")
md5sums=('71eb1346093705ca2b37c12a21994d14'
- 'b4124e022c98b4382530e6fbcef965e2')
+ 'b4124e022c98b4382530e6fbcef965e2'
+ '86e47eade2b5a49bd6503294751d95f0')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
patch -p1 <$srcdir/no-libexec.patch
+ # http://redmine.yorba.org/issues/5548
+ patch -p1 <$srcdir/0001-Port-to-GStreamer-1.0.patch
+
./configure --prefix=/usr \
--disable-schemas-compile \
--disable-desktop-update \