summaryrefslogtreecommitdiff
path: root/testing/tracker
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-19 08:15:39 -0700
committerroot <root@rshg054.dnsready.net>2012-10-19 08:15:39 -0700
commitdcc55a1cfa32068d0759c1c8307f6c07c11aec99 (patch)
tree2f6cd8ae52f7f49ed4ac2db1b0f4bf88a8ba5d96 /testing/tracker
parent9e3985ed7c9851da65023a0ab3d0739cce1858e2 (diff)
Fri Oct 19 08:15:38 PDT 2012
Diffstat (limited to 'testing/tracker')
-rw-r--r--testing/tracker/PKGBUILD90
-rw-r--r--testing/tracker/bug675660.patch29
-rw-r--r--testing/tracker/tracker-extract-pdf-crash-fix.patch22
-rw-r--r--testing/tracker/tracker.install13
4 files changed, 154 insertions, 0 deletions
diff --git a/testing/tracker/PKGBUILD b/testing/tracker/PKGBUILD
new file mode 100644
index 000000000..3c396174c
--- /dev/null
+++ b/testing/tracker/PKGBUILD
@@ -0,0 +1,90 @@
+# $Id: PKGBUILD 169148 2012-10-18 19:22:25Z jgc $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+
+pkgbase=tracker
+pkgname=(tracker libtracker-sparql)
+pkgver=0.14.2
+_tver=${pkgver%.*}
+pkgrel=2
+pkgdesc="All-in-one indexer, search tool and metadata database"
+arch=('i686' 'x86_64')
+license=('GPL')
+makedepends=('libgee' 'libgnome-keyring' 'upower' 'libexif' 'exempi'
+ 'poppler-glib' 'libgsf' 'icu' 'enca' 'networkmanager' 'gtk3'
+ 'desktop-file-utils' 'hicolor-icon-theme' 'gobject-introspection'
+ 'intltool' 'giflib' 'gstreamer0.10-base' 'totem-plparser'
+ 'taglib' 'nautilus' 'gnome-panel' 'libvorbis' 'flac' 'vala')
+url="http://www.gnome.org"
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/$_tver/$pkgbase-$pkgver.tar.xz
+ bug675660.patch
+ tracker-extract-pdf-crash-fix.patch)
+sha256sums=('9b59330aa2e9e09feee587ded895e9247f71fc25f46b023d616d9969314bc7f1'
+ '77c1377860f09aba42fc0bb662cb188613d5ed3744f3ffb3a710d1e60499cb8c'
+ 'afa14805b9a1adb2442dc4a6032b1575a07a87aa969599ca28669a2cf975e772')
+
+build() {
+ cd $pkgbase-$pkgver
+
+ patch -Np1 -i "${srcdir}/bug675660.patch"
+ patch -Np1 -i "${srcdir}/tracker-extract-pdf-crash-fix.patch"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/tracker \
+ --disable-unit-tests \
+ --enable-libflac \
+ --enable-libvorbis
+
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+
+ make
+}
+
+package_tracker() {
+ depends=("libtracker-sparql=$pkgver-$pkgrel" 'libgee' 'libgnome-keyring'
+ 'upower' 'libexif' 'exempi' 'poppler-glib' 'libgsf' 'enca'
+ 'networkmanager' 'gtk3' 'desktop-file-utils' 'hicolor-icon-theme')
+ optdepends=('giflib: extractor for GIF data'
+ 'gstreamer0.10-base: video extractor'
+ 'totem-plparser: playlist support'
+ 'nautilus: nautilus-extension'
+ 'libvorbis: Vorbis metadata extractor'
+ 'flac: FLAC metadata extractor'
+ 'taglib: writeback for audio files'
+ 'gnome-panel: tracker-search-bar')
+ groups=('gnome-extra')
+ install=tracker.install
+
+ cd $pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install
+
+### Split libtracker-sparql
+
+ mkdir -p "$srcdir"/sparql/usr/{include,lib}/tracker-$_tver
+ mkdir -p "$srcdir"/sparql/usr/lib/{girepository-1.0,pkgconfig}
+ mkdir -p "$srcdir"/sparql/usr/share/{gir-1.0,vala/vapi}
+
+ mv "$pkgdir"/usr/lib/libtracker-sparql-* "$srcdir/sparql/usr/lib"
+
+ mv "$pkgdir"/usr/lib/tracker-$_tver/*.so* \
+ "$srcdir/sparql/usr/lib/tracker-$_tver"
+
+ mv "$pkgdir"/usr/share/vala/vapi/tracker-sparql-* \
+ "$srcdir/sparql/usr/share/vala/vapi"
+
+ mv {"$pkgdir","$srcdir/sparql"}/usr/include/tracker-$_tver/libtracker-sparql
+ mv {"$pkgdir","$srcdir/sparql"}/usr/lib/girepository-1.0/Tracker-$_tver.typelib
+ mv {"$pkgdir","$srcdir/sparql"}/usr/lib/pkgconfig/tracker-sparql-$_tver.pc
+ mv {"$pkgdir","$srcdir/sparql"}/usr/share/gir-1.0/Tracker-$_tver.gir
+}
+
+package_libtracker-sparql() {
+ pkgdesc="$pkgdesc (SPARQL library)"
+ depends=('sqlite' 'icu' 'glib2' 'libffi' 'pcre' 'util-linux')
+
+ mv "$srcdir"/sparql/* "$pkgdir"
+}
diff --git a/testing/tracker/bug675660.patch b/testing/tracker/bug675660.patch
new file mode 100644
index 000000000..5f217d983
--- /dev/null
+++ b/testing/tracker/bug675660.patch
@@ -0,0 +1,29 @@
+From 48713ba26af38a15a97fc7ebb0828cd287ef2447 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Fri, 20 Jul 2012 14:46:33 +0000
+Subject: libtracker-fts: ICU cannot handle complex locale descriptions
+
+ubrk_open expects the name of just a single locale (e.g. "en_US.UTF-8"),
+not the full definition of your various locale variables and their
+values as returned by glibc's setlocale(LC_ALL, NULL).
+
+Instead, limit ourselves to LC_CTYPE, since after all, that's all we
+need to determine word boundaries.
+
+Fixes GB#675660.
+---
+diff --git a/src/libtracker-fts/tracker-parser-libicu.c b/src/libtracker-fts/tracker-parser-libicu.c
+index 7388f69..69f75ed 100644
+--- a/src/libtracker-fts/tracker-parser-libicu.c
++++ b/src/libtracker-fts/tracker-parser-libicu.c
+@@ -676,7 +676,7 @@ tracker_parser_reset (TrackerParser *parser,
+
+ /* Open word-break iterator */
+ parser->bi = ubrk_open(UBRK_WORD,
+- setlocale (LC_ALL, NULL),
++ setlocale (LC_CTYPE, NULL),
+ parser->utxt,
+ parser->utxt_size,
+ &error);
+--
+cgit v0.9.0.2
diff --git a/testing/tracker/tracker-extract-pdf-crash-fix.patch b/testing/tracker/tracker-extract-pdf-crash-fix.patch
new file mode 100644
index 000000000..ac8522f6a
--- /dev/null
+++ b/testing/tracker/tracker-extract-pdf-crash-fix.patch
@@ -0,0 +1,22 @@
+From 008677280d32b6db56483832b143760888c91ad4 Mon Sep 17 00:00:00 2001
+From: Sam Thursfield <sam.thursfield@codethink.co.uk>
+Date: Tue, 31 Jul 2012 14:26:53 +0000
+Subject: tracker-extract-pdf: Fix crash if mmap() fails
+
+Patch from Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=751922
+---
+diff --git a/src/tracker-extract/tracker-extract-pdf.c b/src/tracker-extract/tracker-extract-pdf.c
+index caa24c7..85066b3 100644
+--- a/src/tracker-extract/tracker-extract-pdf.c
++++ b/src/tracker-extract/tracker-extract-pdf.c
+@@ -451,7 +451,7 @@ tracker_extract_get_metadata (TrackerExtractInfo *info)
+ len = 0;
+ } else {
+ contents = (gchar *) mmap (NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
+- if (contents == NULL) {
++ if (contents == NULL || contents == MAP_FAILED) {
+ g_warning ("Could not mmap pdf file '%s': %s\n",
+ filename,
+ g_strerror (errno));
+--
+cgit v0.9.0.2
diff --git a/testing/tracker/tracker.install b/testing/tracker/tracker.install
new file mode 100644
index 000000000..95114273e
--- /dev/null
+++ b/testing/tracker/tracker.install
@@ -0,0 +1,13 @@
+post_install() {
+ 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_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}