summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-05-31 13:59:08 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-05-31 13:59:08 -0300
commitca4b95e91b33e5b8f02a063862359ab00c5260d5 (patch)
tree872d6a54fa0e59e017aa3101880d82f0e54fb70a /libre
parent041ebdb9062909e39f81cca8c491c7f8adeed2a3 (diff)
parent2ed96c6eb798c762b61a93a8b4cf80220c00ac1f (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community-testing/libvirt/PKGBUILD community/opendkim/opendkim.rc core/nfs-utils/blkmapd.service multilib/lib32-glib2/PKGBUILD multilib/lib32-libssh2/PKGBUILD multilib/lib32-libx11/PKGBUILD multilib/lib32-qt/PKGBUILD testing/php/PKGBUILD testing/xorg-server/PKGBUILD ~fauno/notmuch/PKGBUILD
Diffstat (limited to 'libre')
-rw-r--r--libre/blackbox-libre/PKGBUILD47
-rw-r--r--libre/blackbox-libre/bbdock.patch16
-rw-r--r--libre/blackbox-libre/bsetbg-feh.patch23
-rw-r--r--libre/blackbox-libre/gcc4.3.patch111
-rw-r--r--libre/blackbox-libre/menu112
-rw-r--r--libre/blackbox-libre/textpropertytostring-unconditional.patch28
-rw-r--r--libre/clementine-libre/PKGBUILD62
-rw-r--r--libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch20
-rw-r--r--libre/clementine-libre/clementine-fresh-start.patch9
-rw-r--r--libre/clementine-libre/clementine.install13
-rw-r--r--libre/clementine-libre/remove-and-disable-spotify.patch3268
-rw-r--r--libre/clementine-libre/remove-nonfree-references-on-translations.patch20088
-rw-r--r--libre/crosstool-ng/PKGBUILD6
-rw-r--r--libre/cups-libre/PKGBUILD52
-rw-r--r--libre/cups-libre/cups-avahi-1-config.patch12
-rw-r--r--libre/cups-libre/cups-avahi-2-backend.patch101
-rw-r--r--libre/cups-libre/cups-avahi-3-timeouts.patch28
-rw-r--r--libre/cups-libre/cups-avahi-4-poll.patch18
-rw-r--r--libre/cups-libre/cups-avahi-5-services.patch161
-rw-r--r--libre/cups-libre/cups-no-gzip-man.patch18
-rw-r--r--libre/cups-libre/rePKGBUILD6
-rw-r--r--libre/dvdrip-libre/PKGBUILD55
-rw-r--r--libre/dvdrip-libre/dvdrip.desktop8
-rw-r--r--libre/dvdrip-libre/dvdrip.install11
-rw-r--r--libre/dvdrip-libre/libre.patch81
-rw-r--r--libre/file-roller-libre/PKGBUILD6
-rw-r--r--libre/filesystem/PKGBUILD6
-rw-r--r--libre/foomatic-filters-libre/PKGBUILD39
-rw-r--r--libre/foomatic/PKGBUILD92
-rw-r--r--libre/ghostscript-libre/PKGBUILD29
-rw-r--r--libre/ghostscript-libre/SRCBUILD32
-rw-r--r--libre/ghostscript-libre/ghostscript-cups-rgbw.patch263
-rw-r--r--libre/ghostscript-libre/ghostscript-gpl-9.04-freetype-underlinking.patch12
-rw-r--r--libre/ghostscript-libre/gs_bug691759and691760.diff215
-rw-r--r--libre/grub/PKGBUILD5
-rw-r--r--libre/grub/rePKGBUILD9
-rw-r--r--libre/gstreamer0.10-good/PKGBUILD55
-rw-r--r--libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install19
-rw-r--r--libre/hplip-libre/PKGBUILD13
-rw-r--r--libre/iceape-i18n/Makefile59
-rw-r--r--libre/iceape-i18n/PKGBUILD81
-rw-r--r--libre/iceape-i18n/PKGBUILD.in64
-rw-r--r--libre/iceape-libre/PKGBUILD117
-rw-r--r--libre/iceape-libre/clrf.patch260
-rw-r--r--libre/iceape-libre/gcc47.patch63
-rw-r--r--libre/iceape-libre/iceape-2.0-lang.patch11
-rw-r--r--libre/iceape-libre/iceape.desktop11
-rw-r--r--libre/iceape-libre/iceape.install12
-rw-r--r--libre/iceape-libre/libre.patch288
-rw-r--r--libre/iceape-libre/mozconfig61
-rw-r--r--libre/icedove-i18n/PKGBUILD524
-rw-r--r--libre/icedove-libre/.directory2
-rw-r--r--libre/icedove-libre/PKGBUILD95
-rw-r--r--libre/icedove-libre/channel-prefs.js9
-rw-r--r--libre/icedove-libre/clrf.patch260
-rw-r--r--libre/icedove-libre/gcc47.patch63
-rw-r--r--libre/icedove-libre/icedove.desktop13
-rw-r--r--libre/icedove-libre/icedove.install (renamed from libre/kdenetwork-libre/kdenetwork-kget.install)2
-rw-r--r--libre/icedove-libre/makefile.patch46
-rw-r--r--libre/icedove-libre/mozconfig64
-rw-r--r--libre/icedove-libre/vendor.js12
-rw-r--r--libre/iceweasel-i18n/PKGBUILD172
-rw-r--r--libre/iceweasel-libre/PKGBUILD31
-rw-r--r--libre/iceweasel-libre/gcc47.patch75
-rw-r--r--libre/iceweasel-libre/libre.patch28
-rw-r--r--libre/initscripts/PKGBUILD13
-rw-r--r--libre/kdebase-konqueror-libre/PKGBUILD12
-rw-r--r--libre/kdelibs-libre/PKGBUILD6
-rw-r--r--libre/kdenetwork-kopete-libre/PKGBUILD59
-rw-r--r--libre/kdenetwork-kopete-libre/gcc47.patch59
-rw-r--r--libre/kdenetwork-kopete-libre/kdenetwork-kopete.install (renamed from libre/kdenetwork-libre/kdenetwork-kopete.install)0
-rw-r--r--libre/kdenetwork-kopete-libre/kdenetwork.install (renamed from libre/kdenetwork-libre/kdenetwork.install)0
-rw-r--r--libre/kdenetwork-libre/PKGBUILD121
-rw-r--r--libre/kdenetwork-libre/kdenetwork-kppp.install12
-rw-r--r--libre/kdeutils-ark-libre/PKGBUILD6
-rw-r--r--libre/kile-libre/PKGBUILD22
-rw-r--r--libre/lilo/.directory2
-rw-r--r--libre/lilo/PKGBUILD5
-rw-r--r--libre/linux-libre-lts/CVE-2012-0056.patch269
-rw-r--r--libre/linux-libre-lts/PKGBUILD20
-rw-r--r--libre/linux-libre-lts/linux-libre-lts.install2
-rw-r--r--libre/linux-libre-lts/linux-libre-lts.preset2
-rw-r--r--libre/linux-libre-tools/PKGBUILD55
-rw-r--r--libre/linux-libre-tools/cpupower.rc2
-rw-r--r--libre/linux-libre/CVE-2012-0056.patch268
-rw-r--r--libre/linux-libre/ChangeLog5
-rw-r--r--libre/linux-libre/PKGBUILD47
-rw-r--r--libre/linux-libre/config.i686171
-rw-r--r--libre/linux-libre/config.x86_64176
-rw-r--r--libre/linux-libre/dib0700-fix.patch1487
-rw-r--r--libre/linux-libre/ext4-options.patch50
-rw-r--r--libre/linux-libre/fix-i915.patch26
-rw-r--r--libre/linux-libre/fix-memblock-3.3.x.patch65
-rw-r--r--libre/linux-libre/fix-r8712u-3.3.2.patch56
-rw-r--r--libre/linux-libre/i915-fix-incorrect-error-message.patch22
-rw-r--r--libre/linux-libre/i915-gpu-finish.patch55
-rw-r--r--libre/linux-libre/iwlagn-fix-NULL-pointer-dereference.patch38
-rw-r--r--libre/linux-libre/linux-libre.install4
-rw-r--r--libre/linux-libre/linux-libre.preset2
-rw-r--r--libre/linux-libre/md-raid10-fix-bug-when-activating-a-hot-spare.patch40
-rw-r--r--libre/linux-libre/usb-add-reset-resume-quirk-for-several-webcams.patch99
-rw-r--r--libre/mplayer-vaapi-libre/PKGBUILD24
-rw-r--r--libre/mplayer-vaapi-libre/live-media.patch13
-rw-r--r--libre/mplayer-vaapi-libre/mplayer-vaapi.install4
-rw-r--r--libre/mplayer-vaapi-libre/tweak-desktop-file.patch28
-rw-r--r--libre/pacman-mirrorlist-libre/PKGBUILD6
-rw-r--r--libre/parabola-archiso-git/PKGBUILD45
-rw-r--r--libre/parabolaweb-git/Makefile26
-rw-r--r--libre/parabolaweb-git/PKGBUILD43
-rw-r--r--libre/parabolaweb-git/deps-ver.txt7
-rw-r--r--libre/parabolaweb-git/parabolaweb.init.sh52
-rw-r--r--libre/parabolaweb-git/parabolaweb.update.sh.in59
-rw-r--r--libre/parabolaweb-git/requirements_prod.txt7
-rw-r--r--libre/python2-ply/PKGBUILD16
-rw-r--r--libre/seamonkey-libre/PKGBUILD20
-rw-r--r--libre/seamonkey-libre/clrf.patch265
-rw-r--r--libre/seamonkey-libre/gcc47.patch39
-rw-r--r--libre/seamonkey-libre/mozconfig3
-rw-r--r--libre/syslinux/PKGBUILD61
-rw-r--r--libre/syslinux/fix-undefined-type-umode_t.patch58
-rw-r--r--libre/syslinux/rePKGBUILD45
-rw-r--r--libre/syslinux/splash.pngbin0 -> 9932 bytes
-rw-r--r--libre/syslinux/syslinux-dont-build-dos-windows-targets.patch12
-rw-r--r--libre/syslinux/syslinux-install_update463
-rw-r--r--libre/syslinux/syslinux.cfg79
-rw-r--r--libre/syslinux/syslinux.install13
-rw-r--r--libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch27
-rw-r--r--libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch155
-rw-r--r--libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch31
-rw-r--r--libre/systemd/PKGBUILD123
-rw-r--r--libre/systemd/os-release7
-rw-r--r--libre/systemd/rePKGBUILD52
-rw-r--r--libre/systemd/systemd.install50
-rw-r--r--libre/texlive-bin-libre/PKGBUILD10
-rw-r--r--libre/texlive-bin-libre/luatex-poppler-0.20.patch77
-rw-r--r--libre/thunderbird-libre/PKGBUILD10
-rw-r--r--libre/thunderbird-libre/gcc46.patch12
-rw-r--r--libre/thunderbird-libre/gnuzilla-addons.patch36
-rw-r--r--libre/thunderbird-libre/libvpx.patch12
-rw-r--r--libre/thunderbird-libre/mozilla-notify.patch12
-rw-r--r--libre/thunderbird-libre/python2.7.patch11
-rw-r--r--libre/thunderbird-libre/thunderbird-appversion.patch12
-rw-r--r--libre/thunderbird-libre/thunderbird-preferences.patch30
-rw-r--r--libre/thunderbird-libre/thunderbird-shared-error.patch15
-rw-r--r--libre/thunderbird-libre/xulrunner-png14.patch11
-rw-r--r--libre/unarchiver/PKGBUILD2
-rw-r--r--libre/virtualbox-libre/PKGBUILD10
-rw-r--r--libre/virtualbox-modules-lts/60-vboxguest.rules2
-rw-r--r--libre/virtualbox-modules-lts/LocalConfig.kmk19
-rw-r--r--libre/virtualbox-modules-lts/PKGBUILD101
-rw-r--r--libre/virtualbox-modules-lts/virtualbox-modules-lts.install18
-rw-r--r--libre/virtualbox-modules-lts/virtualbox-parabola-modules-lts.install16
-rw-r--r--libre/virtualbox-modules/PKGBUILD23
-rw-r--r--libre/virtualbox-modules/linux34.patch12
-rw-r--r--libre/virtualbox-modules/virtualbox-modules.install6
-rw-r--r--libre/virtualbox-modules/virtualbox-parabola-modules.install6
-rw-r--r--libre/xulrunner-libre/PKGBUILD14
-rw-r--r--libre/xulrunner-libre/gcc47.patch89
-rw-r--r--libre/xulrunner-libre/mozconfig6
-rw-r--r--libre/your-freedom/PKGBUILD2
160 files changed, 29301 insertions, 3956 deletions
diff --git a/libre/blackbox-libre/PKGBUILD b/libre/blackbox-libre/PKGBUILD
new file mode 100644
index 000000000..c76d7cba5
--- /dev/null
+++ b/libre/blackbox-libre/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: durbatuluk <dvdscripter@gmail.org>
+# Contributor: Steve Ponsford <sp4d@lavabit.com>
+# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+
+_pkgname=blackbox
+pkgname=${_pkgname}-libre
+pkgver=0.70.1
+pkgrel=10.1
+pkgdesc="A window manager for X11 without non-free programs on menu"
+url="http://${_pkgname}wm.sourceforge.net/"
+arch=('i686' 'x86_64')
+depends=('gcc-libs' 'libxft' 'libxext' 'libx11' 'libxt')
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}")
+provides=("${_pkgname}=${pkgver}")
+license=('MIT')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/${_pkgname}wm/${_pkgname}-${pkgver}.tar.gz
+ gcc4.3.patch
+ bbdock.patch
+ bsetbg-feh.patch
+ textpropertytostring-unconditional.patch
+ menu)
+md5sums=('2d173b95ca5e64ef478c6a5d2deee9df'
+ 'bc7a1335d77cdeb6f85cba4d01e68e63'
+ '69c5a5e981b087b2d8267cab996b48dd'
+ 'e7fb0d5bfd95820c0194ec73df66dadc'
+ '3b92ad246f07126dd55ae9634d6e875e'
+ 'f4fefa5f25c65c5d9a601e9c14646757')
+
+build() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ patch -Np1 -i ../gcc4.3.patch
+ patch -Np0 -i ../bbdock.patch
+ patch -Np0 -i ../bsetbg-feh.patch
+ patch -Np1 -i ../textpropertytostring-unconditional.patch
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+ make DESTDIR=${pkgdir} install
+
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE
+ install -D -m644 ${srcdir}/menu ${pkgdir}/usr/share/${_pkgname}/menu
+}
diff --git a/libre/blackbox-libre/bbdock.patch b/libre/blackbox-libre/bbdock.patch
new file mode 100644
index 000000000..709b6cfe1
--- /dev/null
+++ b/libre/blackbox-libre/bbdock.patch
@@ -0,0 +1,16 @@
+--- src/Slit.cc 2005-01-04 05:58:33.000000000 -0700
++++ /root/tmp/Slit.cc 2007-12-29 11:13:09.000000000 -0700
+@@ -248,6 +248,13 @@
+ bt::PixmapCache::find(screen->screenNumber(), texture,
+ frame.rect.width(), frame.rect.height(),
+ frame.pixmap);
++/*** START: BBDOCK PATCH FOR DOCK APPS THAT USE ParentRelative **************/
++ if ((texture.texture() & bt::Texture::Gradient) && frame.pixmap)
++ XSetWindowBackgroundPixmap(display, frame.window, frame.pixmap);
++ else if ((texture.texture() & bt::Texture::Solid))
++ XSetWindowBackground(display, frame.window,
++ texture.color1().pixel(screen->screenNumber()));
++/*** STOP: BBDOCK PATCH FOR DOCK APPS THAT USE ParentRelative ***************/
+ XClearArea(display, frame.window, 0, 0,
+ frame.rect.width(), frame.rect.height(), True);
+
diff --git a/libre/blackbox-libre/bsetbg-feh.patch b/libre/blackbox-libre/bsetbg-feh.patch
new file mode 100644
index 000000000..17a612ff0
--- /dev/null
+++ b/libre/blackbox-libre/bsetbg-feh.patch
@@ -0,0 +1,23 @@
+--- util/bsetbg.orig 2008-03-26 21:17:04.000000000 -0700
++++ util/bsetbg 2008-03-26 21:21:57.000000000 -0700
+@@ -22,7 +22,7 @@
+
+ PATH=$PATH:/usr/bin:/usr/local/bin:/usr/X11R6/bin
+
+-img_apps="display xli xsetbg Esetroot qiv wmsetbg xv"
++img_apps="display xli xsetbg Esetroot qiv wmsetbg xv feh"
+
+ display_full_cmd="display -geometry 800x600 -window root"
+ display_tile_cmd="display -window root"
+@@ -59,6 +59,11 @@
+ xsetbg_center_cmd="xsetbg -center"
+ xsetbg_default_cmd="$xsetbg_center_cmd"
+
++feh_full_cmd="feh --bg-scale"
++feh_tile_cmd="feh --bg-tile"
++feh_center_cmd="feh --bg-center"
++feh_default_cmd="$feh_center_cmd"
++
+ ##################################
+
+ me=`basename $0`
diff --git a/libre/blackbox-libre/gcc4.3.patch b/libre/blackbox-libre/gcc4.3.patch
new file mode 100644
index 000000000..40a9dcdef
--- /dev/null
+++ b/libre/blackbox-libre/gcc4.3.patch
@@ -0,0 +1,111 @@
+diff -Nur blackbox-0.70.1/lib/Image.cc blackbox-0.70.1-new/lib/Image.cc
+--- blackbox-0.70.1/lib/Image.cc 2005-04-08 08:41:09.000000000 -0700
++++ blackbox-0.70.1-new/lib/Image.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -45,6 +45,8 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+
++#include <cstring>
++
+ // #define COLORTABLE_DEBUG
+ // #define MITSHM_DEBUG
+
+diff -Nur blackbox-0.70.1/lib/Resource.cc blackbox-0.70.1-new/lib/Resource.cc
+--- blackbox-0.70.1/lib/Resource.cc 2005-04-06 14:16:50.000000000 -0700
++++ blackbox-0.70.1-new/lib/Resource.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -30,6 +30,8 @@
+
+ #include <stdio.h>
+
++#include <cstring>
++
+
+ bt::Resource::Resource(void)
+ : db(NULL)
+diff -Nur blackbox-0.70.1/lib/XDG.cc blackbox-0.70.1-new/lib/XDG.cc
+--- blackbox-0.70.1/lib/XDG.cc 2005-04-06 07:04:38.000000000 -0700
++++ blackbox-0.70.1-new/lib/XDG.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -26,7 +26,7 @@
+ #include "XDG.hh"
+
+ #include <stdlib.h>
+-
++#include <algorithm>
+
+ // make sure directory names end with a slash
+ static std::string terminateDir(const std::string &string)
+diff -Nur blackbox-0.70.1/src/BlackboxResource.cc blackbox-0.70.1-new/src/BlackboxResource.cc
+--- blackbox-0.70.1/src/BlackboxResource.cc 2005-10-18 00:34:46.000000000 -0700
++++ blackbox-0.70.1-new/src/BlackboxResource.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -33,6 +33,8 @@
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
+
++#include <cstring>
++
+
+ BlackboxResource::BlackboxResource(const std::string& rc): rc_file(rc) {
+ screen_resources = 0;
+diff -Nur blackbox-0.70.1/src/Screen.cc blackbox-0.70.1-new/src/Screen.cc
+--- blackbox-0.70.1/src/Screen.cc 2005-10-18 01:07:22.000000000 -0700
++++ blackbox-0.70.1-new/src/Screen.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -48,6 +48,8 @@
+ #include <ctype.h>
+ #include <dirent.h>
+
++#include <cstring>
++
+
+ static bool running = true;
+ static int anotherWMRunning(Display *, XErrorEvent *) {
+diff -Nur blackbox-0.70.1/src/ScreenResource.cc blackbox-0.70.1-new/src/ScreenResource.cc
+--- blackbox-0.70.1/src/ScreenResource.cc 2005-04-12 22:54:08.000000000 -0700
++++ blackbox-0.70.1-new/src/ScreenResource.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -33,6 +33,8 @@
+
+ #include <assert.h>
+
++#include <cstring>
++
+
+ static const int iconify_width = 9;
+ static const int iconify_height = 9;
+diff -Nur blackbox-0.70.1/src/main.cc blackbox-0.70.1-new/src/main.cc
+--- blackbox-0.70.1/src/main.cc 2005-01-03 02:42:57.000000000 -0700
++++ blackbox-0.70.1-new/src/main.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -36,6 +36,8 @@
+
+ #include <stdio.h>
+
++#include <cstring>
++
+
+ static void showHelp(int exitval) {
+ // print version - this should not be localized!
+diff -Nur blackbox-0.70.1/util/bsetbg blackbox-0.70.1-new/util/bsetbg
+--- blackbox-0.70.1/util/bsetbg 2004-12-22 02:40:18.000000000 -0700
++++ blackbox-0.70.1-new/util/bsetbg 2008-05-21 20:52:44.000000000 -0700
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+
+ # Copyright (c) 2000-2002 Timothy M. King (tmk@lordzork.com)
+ #
+diff -Nur blackbox-0.70.1/util/bsetroot.cc blackbox-0.70.1-new/util/bsetroot.cc
+--- blackbox-0.70.1/util/bsetroot.cc 2005-03-15 00:01:37.000000000 -0700
++++ blackbox-0.70.1-new/util/bsetroot.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -27,11 +27,14 @@
+ #include <Pen.hh>
+ #include <Texture.hh>
+
++#include <cstdlib>
+ #include <cctype>
+
+ #include <X11/Xatom.h>
+ #include <stdio.h>
+
++#include <cstring>
++
+
+ // ignore all X errors
+ static int x11_error(::Display *, XErrorEvent *)
diff --git a/libre/blackbox-libre/menu b/libre/blackbox-libre/menu
new file mode 100644
index 000000000..9cba27d16
--- /dev/null
+++ b/libre/blackbox-libre/menu
@@ -0,0 +1,112 @@
+# This is the default menu file for Blackbox 0.33.0 and up
+#
+# Lines beginning with the '#' character are ignored.
+#
+# The new syntax is simpler than the old X resource format...
+# Each menu item consists of 2 or 3 fields:
+#
+# [command] (label) {data}
+#
+# where [command] is one of:
+#
+# [begin] [end] [exec] [exit] [reconfig] [restart] [submenu]
+# [style] [stylesdir] [include] [workspaces] [config]
+#
+# [begin] is used for the top level menu
+# [submenu] is used for submenus
+# [end] must be used with BOTH [begin] and [submenu] to tell the parser to stop
+# reading from the file.
+#
+# [exec] (label) {string}
+# This will insert an item that runs a program.
+#
+# [exit] (label)
+# This will insert an item that exits the window manager.
+#
+# [reconfig] (label) {string}
+# This will insert an item that tells blackbox to re-read it's configuration
+# files. {string} is optional, and if supplied, will execute the string with
+# /bin/sh -c before the reconfiguration is performed. (this is helpful for
+# writing multiple config files and switching between them)
+#
+# [restart] (label) {string}
+# This will insert an item to restart the window manager. {string} is
+# optional, and if omitted, blackbox will restart itself. If {string} is
+# specified, then a different window manager will be started.
+#
+# [style] (filename)
+# This will insert an item to reconfigure blackbox with the new style. This
+# change is saved when blackbox exits or restarts.
+#
+# [include] (filename)
+# This will read more menu items from the file "filename". The file cannot
+# contain a [begin] or [end], except for the [end] needed for submenus.
+#
+# [workspaces] (label)
+# This tells Blackbox to insert a "link" to the workspaces menu directly
+# into your menu.
+#
+# [config] (label)
+# This tells Blackbox to insert the ConfigMenu into your menu. The ConfigMenu
+# allows you to change several options found in your ~/.blackboxrc file on the
+# fly.
+#
+# example:
+
+[begin] (Blackbox)
+ [exec] (xterm) {xterm -ls}
+ [exec] (rxvt) {rxvt}
+
+ [exec] (LibreOffice) {soffice}
+ [exec] (XEmacs) {xemacs}
+ [exec] (XPDF) {xpdf}
+
+ [submenu] (Graphics)
+ [exec] (The GIMP) {gimp}
+ [exec] (Image Magick) {display}
+ [end]
+
+ [submenu] (Internet)
+ [exec] (Icecat) {icecat}
+ [exec] (Iceweasel libre) {iceweasel}
+ [submenu] (Icedove libre)
+ [exec] (Icedove libre Mail) {icedove -mail}
+ [exec] (Icedove libre News) {icedove -news}
+ [end]
+ [submenu] (Iceape libre)
+ [exec] (Iceape libre Mail) {icedove -mail}
+ [exec] (Iceape libre News) {icedove -news}
+ [exec] (Iceape libre Composer) {icedove -edit}
+ [end]
+ [end]
+
+ [submenu] (X Utilities)
+ [exec] (Xfontsel) {xfontsel}
+ [exec] (Xman) {xman}
+ [exec] (Xcalc) {xcalc}
+ [exec] (Xload) {xload}
+ [end]
+
+ [submenu] (Styles) {Choose a style...}
+ [stylesdir] (/usr/share/blackbox/styles)
+ [end]
+
+ [workspaces] (Workspace List)
+ [config] (Configuration)
+
+ [reconfig] (Reconfigure)
+ [restart] (Restart)
+ [submenu] (Others) {Other Window Managers}
+ [restart] (Start FVWM) {fvwm}
+ [restart] (Start WindowMaker) {wmaker}
+ [restart] (Start Afterstep) {afterstep}
+ [restart] (Start Enlightenment) {enlightenment}
+ [restart] (Start TWM) {twm}
+ [restart] (Start KWIM) {kwim}
+ [end]
+
+ [exit] (Exit)
+[end]
+
+# End of example menu.
+
diff --git a/libre/blackbox-libre/textpropertytostring-unconditional.patch b/libre/blackbox-libre/textpropertytostring-unconditional.patch
new file mode 100644
index 000000000..ed320388a
--- /dev/null
+++ b/libre/blackbox-libre/textpropertytostring-unconditional.patch
@@ -0,0 +1,28 @@
+Description: Declare bt::textPropertyToString unconditionally.
+Author: Jakub Wilk <jwilk@debian.org>
+Forwarded: no
+Bug-Debian: http://bugs.debian.org/614468
+Last-Update: 2011-03-12
+
+--- a/lib/Util.hh
++++ b/lib/Util.hh
+@@ -25,6 +25,8 @@
+ #ifndef __Util_hh
+ #define __Util_hh
+
++#include <X11/Xutil.h>
++
+ #include <limits.h>
+ #include <string>
+
+@@ -94,10 +96,8 @@
+
+ std::string tolower(const std::string &string);
+
+-#ifdef _XUTIL_H_
+ std::string textPropertyToString(::Display *display,
+ ::XTextProperty& text_prop);
+-#endif
+
+ } // namespace bt
+
diff --git a/libre/clementine-libre/PKGBUILD b/libre/clementine-libre/PKGBUILD
new file mode 100644
index 000000000..defa4ae57
--- /dev/null
+++ b/libre/clementine-libre/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id$
+#Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+#Contributor: BlackEagle <ike.devolder@gmail.com>
+#Contributor: Dany Martineau <dany.luc.martineau@gmail.com>
+#Maintainer (Parabola): Kete <kete@ninthfloor.org>
+#Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+
+_pkgname=clementine
+pkgname=clementine-libre
+pkgver=1.0.1
+pkgrel=3.1
+pkgdesc="A music player and library organizer, without spotify support"
+url="http://www.clementine-player.org/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gstreamer0.10-base' 'taglib' 'glew' 'liblastfm' 'libgpod'
+ 'libmtp' 'libplist' 'hicolor-icon-theme' 'qt' 'libimobiledevice'
+ 'qjson' 'libcdio' 'protobuf' 'qca' 'qca-ossl')
+makedepends=('cmake' 'boost')
+optdepends=('gstreamer0.10-base-plugins: for more open formats'
+ 'gstreamer0.10-good-plugins: for use with "Good" plugin libraries'
+ 'gstreamer0.10-bad-libre-plugins: for use with "Bad" plugin libraries'
+ 'gstreamer0.10-ugly-plugins: for use with "Ugly" plugin libraries')
+replaces=('clementine')
+conflicts=('clementine')
+provides=("clementine=$pkgver")
+source=(http://clementine-player.googlecode.com/files/${_pkgname}-${pkgver}.tar.gz
+ clementine-fix-albumcoverfetch-crash.patch
+ clementine-fresh-start.patch
+ remove-and-disable-spotify.patch
+ remove-nonfree-references-on-translations.patch)
+sha1sums=('e05320da689e2fad744fd3e68518bc4103ecf0fd'
+ 'fddd2e784181ce1dcc7809e7122cbade0af7b01f'
+ 'd8abab4b8fb2d5284a2f43107505325e62d4af5f'
+ '2fef46eaffa7b5cd61afbf19b1dc909d11972a34'
+ '745bc4fd639d7ef3230592c6275fb43b8956f3d5')
+install=clementine.install
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # https://bugs.gentoo.org/401713?id=401713
+ patch -Np1 -i ../clementine-fresh-start.patch
+
+ # http://code.google.com/p/clementine-player/issues/detail?id=2752
+ patch -Np1 -i ../clementine-fix-albumcoverfetch-crash.patch
+
+ # https://labs.parabola.nu/issues/99
+ patch -Np1 -i ../remove-and-disable-spotify.patch
+ patch -Np1 -i ../remove-nonfree-references-on-translations.patch
+
+ # Remove nonfree spotifyblob folder
+ rm -Rf "./spotifyblob"
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DENABLE_REMOTE=ON
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch b/libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch
new file mode 100644
index 000000000..d7e64388c
--- /dev/null
+++ b/libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch
@@ -0,0 +1,20 @@
+diff -rupN clementine-1.0.1.old/src/covers/albumcoverfetcher.cpp clementine-1.0.1/src/covers/albumcoverfetcher.cpp
+--- clementine-1.0.1.old/src/covers/albumcoverfetcher.cpp 2011-12-02 16:24:44.000000000 -0500
++++ clementine-1.0.1/src/covers/albumcoverfetcher.cpp 2012-02-26 11:37:56.351044572 -0500
+@@ -108,12 +108,16 @@ void AlbumCoverFetcher::StartRequests()
+
+ void AlbumCoverFetcher::SingleSearchFinished(quint64 request_id, CoverSearchResults results) {
+ AlbumCoverFetcherSearch* search = active_requests_.take(request_id);
++ if (!search)
++ return;
+ search->deleteLater();
+ emit SearchFinished(request_id, results, search->statistics());
+ }
+
+ void AlbumCoverFetcher::SingleCoverFetched(quint64 request_id, const QImage& image) {
+ AlbumCoverFetcherSearch* search = active_requests_.take(request_id);
++ if (!search)
++ return;
+ search->deleteLater();
+ emit AlbumCoverFetched(request_id, image, search->statistics());
+ }
diff --git a/libre/clementine-libre/clementine-fresh-start.patch b/libre/clementine-libre/clementine-fresh-start.patch
new file mode 100644
index 000000000..9bf12973d
--- /dev/null
+++ b/libre/clementine-libre/clementine-fresh-start.patch
@@ -0,0 +1,9 @@
+diff -rupN clementine-0.7.1.old/data/schema/schema.sql clementine-0.7.1/data/schema/schema.sql
+--- clementine-0.7.1.old/data/schema/schema.sql 2011-03-29 15:16:12.000000000 -0400
++++ clementine-0.7.1/data/schema/schema.sql 2012-01-12 19:15:39.889374607 -0500
+@@ -35,4 +35,5 @@ CREATE TABLE songs (
+ CREATE TABLE schema_version (
+ version INTEGER NOT NULL
+ );
++
+ INSERT INTO schema_version (version) VALUES (0);
diff --git a/libre/clementine-libre/clementine.install b/libre/clementine-libre/clementine.install
new file mode 100644
index 000000000..2f0338d8a
--- /dev/null
+++ b/libre/clementine-libre/clementine.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/clementine-libre/remove-and-disable-spotify.patch b/libre/clementine-libre/remove-and-disable-spotify.patch
new file mode 100644
index 000000000..9cfc3092a
--- /dev/null
+++ b/libre/clementine-libre/remove-and-disable-spotify.patch
@@ -0,0 +1,3268 @@
+diff -rauN clementine-1.0.1/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m clementine-libre-1.0.1/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m
+--- clementine-1.0.1/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m 2011-12-02 19:24:43.000000000 -0200
++++ clementine-libre-1.0.1/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m 2012-05-28 17:19:14.612750904 -0300
+@@ -98,7 +98,6 @@
+ {
+ return [NSArray arrayWithObjects:
+ [[NSBundle mainBundle] bundleIdentifier], // your app
+- @"com.spotify.client",
+ @"com.apple.iTunes",
+ @"com.apple.QuickTimePlayerX",
+ @"com.apple.quicktimeplayer",
+diff -rauN clementine-1.0.1/Changelog clementine-libre-1.0.1/Changelog
+--- clementine-1.0.1/Changelog 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/Changelog 2012-05-28 13:50:10.422664725 -0300
+@@ -1,3 +1,7 @@
++Version 1.0.1 (libre version):
++ Major features:
++ * Disabled and removed Spotify.
++
+ Version 1.0.1:
+ Bugfixes:
+ * Use Chromaprinter and Acoustid instead of Echoprint and MusicDNS.
+diff -rauN clementine-1.0.1/cmake/SpotifyVersion.cmake /dev/null
+--- clementine-1.0.1/cmake/SpotifyVersion.cmake 2011-12-02 19:24:43.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,3 +0,0 @@
+-# Increment this whenever the user needs to download a new blob
+-# Remember to upload and sign the new version of the blob.
+-set(SPOTIFY_BLOB_VERSION 11)
+diff -rauN clementine-1.0.1/CMakeLists.txt clementine-libre-1.0.1/CMakeLists.txt
+--- clementine-1.0.1/CMakeLists.txt 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/CMakeLists.txt 2012-05-28 17:32:48.690568781 -0300
+@@ -6,7 +6,6 @@
+ include(cmake/Version.cmake)
+ include(cmake/Deb.cmake)
+ include(cmake/Rpm.cmake)
+-include(cmake/SpotifyVersion.cmake)
+ include(cmake/OptionalSource.cmake)
+
+ if (UNIX AND NOT APPLE)
+@@ -66,7 +65,6 @@
+ pkg_check_modules(USBMUXD libusbmuxd)
+ pkg_check_modules(LIBMTP libmtp>=1.0)
+ pkg_check_modules(INDICATEQT indicate-qt)
+-pkg_check_modules(SPOTIFY libspotify>=10.1.16)
+ pkg_check_modules(CDIO libcdio)
+ pkg_check_modules(QCA qca2)
+ pkg_check_modules(CHROMAPRINT libchromaprint)
+@@ -90,13 +88,6 @@
+ set(HAVE_SPARKLE ON)
+ endif (ENABLE_SPARKLE AND SPARKLE)
+
+- find_library(SPOTIFY libspotify)
+- if (SPOTIFY)
+- set (SPOTIFY_FOUND ON)
+- set (SPOTIFY_INCLUDE_DIRS ${SPOTIFY})
+- set (SPOTIFY_LIBRARIES ${SPOTIFY})
+- endif (SPOTIFY)
+-
+ add_subdirectory(3rdparty/SPMediaKeyTap)
+ set(SPMEDIAKEYTAP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/SPMediaKeyTap)
+ set(SPMEDIAKEYTAP_LIBRARIES SPMediaKeyTap)
+@@ -191,8 +182,8 @@
+ option(ENABLE_LIBLASTFM "Use liblastfm for fetching song info, scrobbling and radio streams" ON)
+ option(ENABLE_REMOTE "Enable support for using remote controls with Clementine" OFF)
+ option(ENABLE_BREAKPAD "Enable crash reporting" OFF)
+-option(ENABLE_SPOTIFY_BLOB "Build the spotify non-GPL binary" ON)
+-option(ENABLE_SPOTIFY "Enable spotify support" ON)
++option(ENABLE_SPOTIFY_BLOB "Build the spotify non-GPL binary" OFF)
++option(ENABLE_SPOTIFY "Enable spotify support" OFF)
+ option(ENABLE_PLASMARUNNER "Enable plasma krunner global search" OFF)
+
+ if(WIN32)
+@@ -235,24 +226,6 @@
+ set(HAVE_BREAKPAD ON)
+ endif(ENABLE_BREAKPAD)
+
+-if(ENABLE_SPOTIFY AND PROTOBUF_FOUND AND PROTOBUF_PROTOC_EXECUTABLE)
+- set(HAVE_SPOTIFY ON)
+-endif(ENABLE_SPOTIFY AND PROTOBUF_FOUND AND PROTOBUF_PROTOC_EXECUTABLE)
+-
+-if(ENABLE_SPOTIFY_BLOB AND PROTOBUF_FOUND AND PROTOBUF_PROTOC_EXECUTABLE AND SPOTIFY_FOUND)
+- set(HAVE_SPOTIFY_BLOB ON)
+-endif(ENABLE_SPOTIFY_BLOB AND PROTOBUF_FOUND AND PROTOBUF_PROTOC_EXECUTABLE AND SPOTIFY_FOUND)
+-
+-if((NOT HAVE_SPOTIFY_BLOB) AND (NOT QCA_FOUND))
+- # If we're not bundling the spotify blob then we must ensure QCA is available
+- # so we can verify the blob we download at runtime.
+- unset(HAVE_SPOTIFY)
+-endif((NOT HAVE_SPOTIFY_BLOB) AND (NOT QCA_FOUND))
+-
+-if(QCA_FOUND AND HAVE_SPOTIFY)
+- set(HAVE_QCA ON)
+-endif(QCA_FOUND AND HAVE_SPOTIFY)
+-
+
+ if(ENABLE_VISUALISATIONS)
+ # When/if upstream accepts our patches then these options can be used to link
+@@ -391,14 +364,6 @@
+ add_subdirectory(3rdparty/google-breakpad)
+ endif(HAVE_BREAKPAD)
+
+-if(HAVE_SPOTIFY)
+- add_subdirectory(spotifyblob/common)
+-endif(HAVE_SPOTIFY)
+-
+-if(HAVE_SPOTIFY_BLOB)
+- add_subdirectory(spotifyblob/blob)
+-endif(HAVE_SPOTIFY_BLOB)
+-
+ # This goes after everything else because KDE fucks everything else up with its
+ # cmake includes.
+ find_package(KDE4 4.3.60)
+@@ -430,8 +395,6 @@
+ summary_add("Devices: GIO backend" HAVE_GIO)
+ summary_add("Gnome sound menu integration" HAVE_LIBINDICATE)
+ summary_add("Last.fm support" HAVE_LIBLASTFM)
+-summary_add("Spotify support: core code" HAVE_SPOTIFY)
+-summary_add("Spotify support: non-GPL binary helper" HAVE_SPOTIFY_BLOB)
+ summary_add("Visualisations" ENABLE_VISUALISATIONS)
+ summary_add("Wiimote support" HAVE_WIIMOTEDEV)
+ summary_add("(KDE) Plasma global search" HAVE_PLASMARUNNER)
+diff -rauN clementine-1.0.1/data/data.qrc clementine-libre-1.0.1/data/data.qrc
+--- clementine-1.0.1/data/data.qrc 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/data/data.qrc 2012-05-28 17:50:22.768352061 -0300
+@@ -49,9 +49,6 @@
+ <file>providers/magnatune.png</file>
+ <file>schema/schema-8.sql</file>
+ <file>schema/schema-9.sql</file>
+- <file>icons/22x22/spotify.png</file>
+- <file>icons/32x32/spotify.png</file>
+- <file>icons/48x48/spotify.png</file>
+ <file>icons/22x22/application-exit.png</file>
+ <file>icons/22x22/applications-internet.png</file>
+ <file>icons/22x22/configure.png</file>
+@@ -320,7 +317,6 @@
+ <file>icons/32x32/edit-find.png</file>
+ <file>icons/48x48/edit-find.png</file>
+ <file>schema/schema-33.sql</file>
+- <file>spotify-core-logo-128x128.png</file>
+ <file>icons/22x22/dialog-warning.png</file>
+ <file>icons/22x22/dialog-ok-apply.png</file>
+ <file>schema/schema-34.sql</file>
+@@ -331,7 +327,6 @@
+ <file>providers/grooveshark.png</file>
+ <file>allthethings.png</file>
+ <file>globalsearch.css</file>
+- <file>clementine-spotify-public.pem</file>
+ <file>icons/22x22/user-away.png</file>
+ <file>icons/32x32/search.png</file>
+ <file>schema/schema-35.sql</file>
+diff -rauN clementine-1.0.1/data/icons/svg/spotify.svg /dev/null
+--- clementine-1.0.1/data/icons/svg/spotify.svg 2011-12-02 19:24:43.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,285 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+-<!-- Created with Inkscape (http://www.inkscape.org/) -->
+-<svg
+- xmlns:dc="http://purl.org/dc/elements/1.1/"
+- xmlns:cc="http://creativecommons.org/ns#"
+- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+- xmlns:svg="http://www.w3.org/2000/svg"
+- xmlns="http://www.w3.org/2000/svg"
+- xmlns:xlink="http://www.w3.org/1999/xlink"
+- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+- width="48"
+- height="48"
+- id="svg2"
+- sodipodi:version="0.32"
+- inkscape:version="0.46"
+- version="1.0"
+- sodipodi:docname="spotify.svg"
+- inkscape:output_extension="org.inkscape.output.svg.inkscape">
+- <defs
+- id="defs4">
+- <linearGradient
+- inkscape:collect="always"
+- id="linearGradient7729">
+- <stop
+- style="stop-color:#467700;stop-opacity:1"
+- offset="0"
+- id="stop7731" />
+- <stop
+- style="stop-color:#518900;stop-opacity:1"
+- offset="1"
+- id="stop7733" />
+- </linearGradient>
+- <linearGradient
+- inkscape:collect="always"
+- id="linearGradient7721">
+- <stop
+- style="stop-color:#1a4300;stop-opacity:1"
+- offset="0"
+- id="stop7723" />
+- <stop
+- style="stop-color:#215300;stop-opacity:1"
+- offset="1"
+- id="stop7725" />
+- </linearGradient>
+- <linearGradient
+- inkscape:collect="always"
+- id="linearGradient7713">
+- <stop
+- style="stop-color:#193d00;stop-opacity:1"
+- offset="0"
+- id="stop7715" />
+- <stop
+- style="stop-color:#1f4b00;stop-opacity:1"
+- offset="1"
+- id="stop7717" />
+- </linearGradient>
+- <linearGradient
+- inkscape:collect="always"
+- id="linearGradient6355">
+- <stop
+- style="stop-color:#23371c;stop-opacity:1"
+- offset="0"
+- id="stop6357" />
+- <stop
+- style="stop-color:#004100;stop-opacity:1"
+- offset="1"
+- id="stop6359" />
+- </linearGradient>
+- <linearGradient
+- inkscape:collect="always"
+- id="linearGradient6347">
+- <stop
+- style="stop-color:#abd033;stop-opacity:1"
+- offset="0"
+- id="stop6349" />
+- <stop
+- style="stop-color:#9ec02d;stop-opacity:0;"
+- offset="1"
+- id="stop6351" />
+- </linearGradient>
+- <linearGradient
+- id="linearGradient5519">
+- <stop
+- style="stop-color:#88ae04;stop-opacity:1"
+- offset="0"
+- id="stop5521" />
+- <stop
+- style="stop-color:#73a400;stop-opacity:1"
+- offset="1"
+- id="stop5523" />
+- </linearGradient>
+- <inkscape:perspective
+- sodipodi:type="inkscape:persp3d"
+- inkscape:vp_x="0 : 526.18109 : 1"
+- inkscape:vp_y="0 : 1000 : 0"
+- inkscape:vp_z="744.09448 : 526.18109 : 1"
+- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+- id="perspective10" />
+- <inkscape:perspective
+- id="perspective5505"
+- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+- inkscape:vp_z="744.09448 : 526.18109 : 1"
+- inkscape:vp_y="0 : 1000 : 0"
+- inkscape:vp_x="0 : 526.18109 : 1"
+- sodipodi:type="inkscape:persp3d" />
+- <linearGradient
+- inkscape:collect="always"
+- xlink:href="#linearGradient5519"
+- id="linearGradient6853"
+- gradientUnits="userSpaceOnUse"
+- x1="119.5"
+- y1="91.362183"
+- x2="102.5"
+- y2="128.36218" />
+- <radialGradient
+- inkscape:collect="always"
+- xlink:href="#linearGradient6355"
+- id="radialGradient6855"
+- gradientUnits="userSpaceOnUse"
+- gradientTransform="matrix(1.1318093,0.197699,-0.1703116,0.9750189,-125.44033,-100.50883)"
+- cx="147.76869"
+- cy="120.16964"
+- fx="147.76869"
+- fy="120.16964"
+- r="14.451495" />
+- <linearGradient
+- inkscape:collect="always"
+- xlink:href="#linearGradient6347"
+- id="linearGradient6857"
+- gradientUnits="userSpaceOnUse"
+- gradientTransform="translate(-125.45979,-77.491488)"
+- x1="149.09062"
+- y1="85.104187"
+- x2="139.1649"
+- y2="106.61218" />
+- <filter
+- inkscape:collect="always"
+- id="filter7655"
+- x="-1.0712544"
+- width="3.1425087"
+- y="-1.0712544"
+- height="3.1425087">
+- <feGaussianBlur
+- inkscape:collect="always"
+- stdDeviation="20.086019"
+- id="feGaussianBlur7657" />
+- </filter>
+- <linearGradient
+- inkscape:collect="always"
+- xlink:href="#linearGradient7713"
+- id="linearGradient7719"
+- x1="38.714096"
+- y1="17.417631"
+- x2="31.1127"
+- y2="15.165503"
+- gradientUnits="userSpaceOnUse"
+- gradientTransform="matrix(0.999924,1.232938e-2,-1.232938e-2,0.999924,0.2587749,-0.2864042)" />
+- <linearGradient
+- inkscape:collect="always"
+- xlink:href="#linearGradient7721"
+- id="linearGradient7727"
+- x1="35.708893"
+- y1="25.90625"
+- x2="27.400389"
+- y2="22.312458"
+- gradientUnits="userSpaceOnUse"
+- gradientTransform="matrix(0.965063,1.1899533e-2,-1.232938e-2,0.999924,1.1112913,-0.2758924)" />
+- <linearGradient
+- inkscape:collect="always"
+- xlink:href="#linearGradient7729"
+- id="linearGradient7735"
+- x1="35.607697"
+- y1="31.414557"
+- x2="23.13369"
+- y2="26.433243"
+- gradientUnits="userSpaceOnUse"
+- gradientTransform="matrix(0.8596429,1.059967e-2,-1.232938e-2,0.999924,3.5039934,-0.2463897)" />
+- <filter
+- inkscape:collect="always"
+- id="filter7785"
+- x="-0.089479765"
+- width="1.1789595"
+- y="-0.14834692"
+- height="1.2966938">
+- <feGaussianBlur
+- inkscape:collect="always"
+- stdDeviation="1.5684595"
+- id="feGaussianBlur7787" />
+- </filter>
+- </defs>
+- <sodipodi:namedview
+- id="base"
+- pagecolor="#ffffff"
+- bordercolor="#666666"
+- borderopacity="1.0"
+- gridtolerance="10000"
+- guidetolerance="10"
+- objecttolerance="10"
+- inkscape:pageopacity="0.0"
+- inkscape:pageshadow="2"
+- inkscape:zoom="5.6568542"
+- inkscape:cx="-0.10040691"
+- inkscape:cy="47.355194"
+- inkscape:document-units="px"
+- inkscape:current-layer="layer1"
+- showgrid="false"
+- inkscape:snap-bbox="true"
+- inkscape:snap-nodes="false"
+- inkscape:window-width="1440"
+- inkscape:window-height="853"
+- inkscape:window-x="0"
+- inkscape:window-y="25">
+- <inkscape:grid
+- type="xygrid"
+- id="grid5511"
+- visible="true"
+- enabled="true" />
+- </sodipodi:namedview>
+- <metadata
+- id="metadata7">
+- <rdf:RDF>
+- <cc:Work
+- rdf:about="">
+- <dc:format>image/svg+xml</dc:format>
+- <dc:type
+- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+- </cc:Work>
+- </rdf:RDF>
+- </metadata>
+- <g
+- inkscape:label="Layer 1"
+- inkscape:groupmode="layer"
+- id="layer1">
+- <g
+- id="g6847"
+- transform="translate(-0.29021,-0.7456946)">
+- <path
+- sodipodi:type="arc"
+- style="opacity:0.64566926;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter7655);enable-background:accumulate"
+- id="path6363"
+- sodipodi:cx="112.5"
+- sodipodi:cy="109.86218"
+- sodipodi:rx="22.5"
+- sodipodi:ry="22.5"
+- d="M 135,109.86218 A 22.5,22.5 0 1 1 90,109.86218 A 22.5,22.5 0 1 1 135,109.86218 z"
+- transform="matrix(0.4666666,0,0,0.111111,-28.709782,33.038802)" />
+- <path
+- transform="translate(-88.70979,-85.616488)"
+- d="M 135,109.86218 A 22.5,22.5 0 1 1 90,109.86218 A 22.5,22.5 0 1 1 135,109.86218 z"
+- sodipodi:ry="22.5"
+- sodipodi:rx="22.5"
+- sodipodi:cy="109.86218"
+- sodipodi:cx="112.5"
+- id="path5513"
+- style="opacity:1;fill:url(#linearGradient6853);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+- sodipodi:type="arc" />
+- <path
+- sodipodi:nodetypes="csccscc"
+- id="path5529"
+- d="M 7.6378996,39.420202 C 8.1682296,39.420202 11.29843,32.092852 23.23086,33.507062 C 35.16329,34.921272 36.54089,42.778952 36.54089,42.778952 C 34.49039,44.179572 32.3092,45.405922 29.55821,45.872552 C 29.55821,45.872552 26.55929,40.325532 21.1676,40.679082 C 15.77591,41.032632 13.91347,44.193172 13.91347,44.193172 C 11.14188,43.198092 8.9957096,41.593432 7.6378996,39.420202 z"
+- style="fill:url(#radialGradient6855);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+- <path
+- sodipodi:nodetypes="cccc"
+- id="path5531"
+- d="M 2.6652096,29.120692 C 35.315841,10.631207 30.66521,27.370692 44.66521,26.495692 C 44.14296,15.562843 35.20292,3.7456934 23.66521,3.7456934 C 6.6997296,4.3119254 1.9479196,20.58416 2.6652096,29.120692 z"
+- style="fill:url(#linearGradient6857);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter7785)" />
+- </g>
+- <path
+- style="opacity:1;fill:url(#linearGradient7719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+- d="M 10.300245,11.619555 C 8.241027,12.012805 7.9425774,15.355405 10.765465,15.313073 C 21.977063,13.20149 31.048724,15.49889 39.670046,19.826041 C 40.808245,20.378971 42.647611,18.028703 41.02047,16.758511 C 31.316836,11.614062 19.960975,9.8780472 10.300245,11.619555 z"
+- id="path7661"
+- sodipodi:nodetypes="ccccc" />
+- <path
+- style="opacity:1;fill:url(#linearGradient7727);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+- d="M 12.303532,19.144827 C 10.172718,19.381037 9.829391,22.969311 12.56196,22.64828 C 21.903655,21.50982 27.85363,22.62879 35.683323,25.808592 C 37.647192,26.873264 38.724998,23.482585 36.929338,22.604961 C 28.133565,18.889799 21.412131,18.726151 12.303532,19.144827 z"
+- id="path7666"
+- sodipodi:nodetypes="ccccc" />
+- <path
+- style="opacity:1;fill:url(#linearGradient7735);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+- d="M 14.447653,25.703011 C 12.75416,26.30833 13.053805,29.148649 14.863112,29.052139 C 17.870832,28.722372 20.153948,28.706138 23.615532,29.097554 C 27.126432,29.494545 29.233258,30.435974 32.157356,31.453048 C 33.350406,31.961876 34.447173,29.764482 33.187538,28.528027 C 29.966426,27.274723 27.415802,26.174879 23.388506,25.719498 C 20.084015,25.348048 17.755584,25.371512 14.447653,25.703011 z"
+- id="path7668"
+- sodipodi:nodetypes="ccscccc" />
+- </g>
+-</svg>
+diff -rauN clementine-1.0.1/data/schema/schema-30.sql clementine-libre-1.0.1/data/schema/schema-30.sql
+--- clementine-1.0.1/data/schema/schema-30.sql 2011-12-02 19:24:43.000000000 -0200
++++ clementine-libre-1.0.1/data/schema/schema-30.sql 2012-05-28 17:55:40.840489308 -0300
+@@ -1,45 +1 @@
+-CREATE TABLE spotify_search_songs (
+- title TEXT,
+- album TEXT,
+- artist TEXT,
+- albumartist TEXT,
+- composer TEXT,
+- track INTEGER,
+- disc INTEGER,
+- bpm REAL,
+- year INTEGER,
+- genre TEXT,
+- comment TEXT,
+- compilation INTEGER,
+-
+- length INTEGER,
+- bitrate INTEGER,
+- samplerate INTEGER,
+-
+- directory INTEGER NOT NULL,
+- filename TEXT NOT NULL,
+- mtime INTEGER NOT NULL,
+- ctime INTEGER NOT NULL,
+- filesize INTEGER NOT NULL,
+- sampler INTEGER NOT NULL DEFAULT 0,
+- art_automatic TEXT,
+- art_manual TEXT,
+- filetype INTEGER NOT NULL DEFAULT 0,
+- playcount INTEGER NOT NULL DEFAULT 0,
+- lastplayed INTEGER,
+- rating INTEGER,
+- forced_compilation_on INTEGER NOT NULL DEFAULT 0,
+- forced_compilation_off INTEGER NOT NULL DEFAULT 0,
+- effective_compilation NOT NULL DEFAULT 0,
+- skipcount INTEGER NOT NULL DEFAULT 0,
+- score INTEGER NOT NULL DEFAULT 0,
+- beginning INTEGER NOT NULL DEFAULT 0,
+- cue_path TEXT
+-);
+-
+-CREATE VIRTUAL TABLE spotify_search_songs_fts USING fts3 (
+- ftstitle, ftsalbum, ftsartist, ftsalbumartist, ftscomposer, ftsgenre, ftscomment,
+- tokenize=unicode
+-);
+-
+ UPDATE schema_version SET version=30;
+diff -rauN clementine-1.0.1/dist/macdeploy.py clementine-libre-1.0.1/dist/macdeploy.py
+--- clementine-1.0.1/dist/macdeploy.py 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/dist/macdeploy.py 2012-05-28 17:58:29.937662793 -0300
+@@ -367,11 +367,6 @@
+
+ FixPlugin(FindGstreamerPlugin('gst-plugin-scanner'), '.')
+
+-try:
+- FixPlugin('clementine-spotifyblob', '.')
+-except:
+- print 'Failed to find spotify blob'
+-
+ for plugin in QT_PLUGINS:
+ FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin))
+
+diff -rauN clementine-1.0.1/dist/windows/clementine.nsi clementine-libre-1.0.1/dist/windows/clementine.nsi
+--- clementine-1.0.1/dist/windows/clementine.nsi 2012-01-22 10:43:46.000000000 -0200
++++ clementine-libre-1.0.1/dist/windows/clementine.nsi 2012-05-28 18:06:56.812551755 -0300
+@@ -95,7 +95,6 @@
+ Delete "$INSTDIR\gstreamer-plugins\libgstsoup.dll"
+
+ ; 1.0 prerelease
+- Delete "$INSTDIR\spotify.dll"
+
+ ; 1.0
+ Delete "$INSTDIR\libofa.dll"
+@@ -109,7 +108,6 @@
+ File "avformat-52.dll"
+ File "avutil-50.dll"
+ File "clementine.exe"
+- File "clementine-spotifyblob.exe"
+ File "clementine.ico"
+ File "glew32.dll"
+ File "intl.dll"
+@@ -163,7 +161,6 @@
+ File "libqjson.dll"
+ File "libsoup-2.4-1.dll"
+ File "libspeex-1.dll"
+- File "libspotify.dll"
+ File "libtag.dll"
+ File "libtasn1-3.dll"
+ File "libusbmuxd.dll"
+@@ -949,7 +946,6 @@
+ Delete "$INSTDIR\avutil-50.dll"
+ Delete "$INSTDIR\clementine.ico"
+ Delete "$INSTDIR\clementine.exe"
+- Delete "$INSTDIR\clementine-spotifyblob.exe"
+ Delete "$INSTDIR\glew32.dll"
+ Delete "$INSTDIR\intl.dll"
+ Delete "$INSTDIR\libcdio-12.dll"
+@@ -1002,7 +998,6 @@
+ Delete "$INSTDIR\libqjson.dll"
+ Delete "$INSTDIR\libsoup-2.4-1.dll"
+ Delete "$INSTDIR\libspeex-1.dll"
+- Delete "$INSTDIR\libspotify.dll"
+ Delete "$INSTDIR\libtag.dll"
+ Delete "$INSTDIR\libtasn1-3.dll"
+ Delete "$INSTDIR\libusbmuxd.dll"
+diff -rauN clementine-1.0.1/dist/windows/clementine.nsi.in clementine-libre-1.0.1/dist/windows/clementine.nsi.in
+--- clementine-1.0.1/dist/windows/clementine.nsi.in 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/dist/windows/clementine.nsi.in 2012-05-28 18:09:14.664818947 -0300
+@@ -95,7 +95,6 @@
+ Delete "$INSTDIR\gstreamer-plugins\libgstsoup.dll"
+
+ ; 1.0 prerelease
+- Delete "$INSTDIR\spotify.dll"
+
+ ; 1.0
+ Delete "$INSTDIR\libofa.dll"
+@@ -109,7 +108,6 @@
+ File "avformat-52.dll"
+ File "avutil-50.dll"
+ File "clementine.exe"
+- File "clementine-spotifyblob.exe"
+ File "clementine.ico"
+ File "glew32.dll"
+ File "intl.dll"
+@@ -163,7 +161,6 @@
+ File "libqjson.dll"
+ File "libsoup-2.4-1.dll"
+ File "libspeex-1.dll"
+- File "libspotify.dll"
+ File "libtag.dll"
+ File "libtasn1-3.dll"
+ File "libusbmuxd.dll"
+@@ -949,7 +946,6 @@
+ Delete "$INSTDIR\avutil-50.dll"
+ Delete "$INSTDIR\clementine.ico"
+ Delete "$INSTDIR\clementine.exe"
+- Delete "$INSTDIR\clementine-spotifyblob.exe"
+ Delete "$INSTDIR\glew32.dll"
+ Delete "$INSTDIR\intl.dll"
+ Delete "$INSTDIR\libcdio-12.dll"
+@@ -1002,7 +998,6 @@
+ Delete "$INSTDIR\libqjson.dll"
+ Delete "$INSTDIR\libsoup-2.4-1.dll"
+ Delete "$INSTDIR\libspeex-1.dll"
+- Delete "$INSTDIR\libspotify.dll"
+ Delete "$INSTDIR\libtag.dll"
+ Delete "$INSTDIR\libtasn1-3.dll"
+ Delete "$INSTDIR\libusbmuxd.dll"
+diff -rauN clementine-1.0.1/src/CMakeLists.txt clementine-libre-1.0.1/src/CMakeLists.txt
+--- clementine-1.0.1/src/CMakeLists.txt 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/src/CMakeLists.txt 2012-05-30 02:50:15.725755468 -0300
+@@ -552,7 +552,6 @@
+ internet/internetviewcontainer.ui
+ internet/magnatunedownloaddialog.ui
+ internet/magnatunesettingspage.ui
+- internet/spotifysettingspage.ui
+
+ library/groupbydialog.ui
+ library/libraryfilterwidget.ui
+@@ -690,23 +689,6 @@
+ internet/lastfmstationdialog.ui
+ )
+
+-# Spotify
+-optional_source(HAVE_SPOTIFY
+- SOURCES
+- globalsearch/spotifysearchprovider.cpp
+- internet/spotifyblobdownloader.cpp
+- internet/spotifysearchplaylisttype.cpp
+- internet/spotifyserver.cpp
+- internet/spotifyservice.cpp
+- internet/spotifysettingspage.cpp
+- HEADERS
+- globalsearch/spotifysearchprovider.h
+- internet/spotifyblobdownloader.h
+- internet/spotifyserver.h
+- internet/spotifyservice.h
+- internet/spotifysettingspage.h
+-)
+-
+ optional_source(HAVE_QCA INCLUDE_DIRECTORIES ${QCA_INCLUDE_DIRS})
+
+ # Platform specific - OS X
+@@ -1037,14 +1019,6 @@
+ endif (LINUX)
+ endif(HAVE_BREAKPAD)
+
+-if(HAVE_SPOTIFY)
+- target_link_libraries(clementine_lib
+- clementine-spotifyblob-messages
+- ${QCA_LIBRARIES}
+- )
+- link_directories(${QCA_LIBRARY_DIRS})
+-endif(HAVE_SPOTIFY)
+-
+ if (APPLE)
+ target_link_libraries(clementine_lib
+ ${GROWL}
+@@ -1118,11 +1092,6 @@
+ clementine_lib
+ )
+
+-# macdeploy.py relies on the blob being built first.
+-if(HAVE_SPOTIFY_BLOB)
+- add_dependencies(clementine clementine-spotifyblob)
+-endif(HAVE_SPOTIFY_BLOB)
+-
+ set_target_properties(clementine PROPERTIES
+ MACOSX_BUNDLE_INFO_PLIST "../dist/Info.plist"
+ )
+diff -rauN clementine-1.0.1/src/config.h.in clementine-libre-1.0.1/src/config.h.in
+--- clementine-1.0.1/src/config.h.in 2011-12-02 19:24:43.000000000 -0200
++++ clementine-libre-1.0.1/src/config.h.in 2012-05-28 18:17:13.027993639 -0300
+@@ -35,7 +35,6 @@
+ #cmakedefine HAVE_QCA
+ #cmakedefine HAVE_REMOTE
+ #cmakedefine HAVE_SPARKLE
+-#cmakedefine HAVE_SPOTIFY
+ #cmakedefine HAVE_STATIC_SQLITE
+ #cmakedefine HAVE_WIIMOTEDEV
+ #cmakedefine LEOPARD
+diff -rauN clementine-1.0.1/src/core/utilities.cpp clementine-libre-1.0.1/src/core/utilities.cpp
+--- clementine-1.0.1/src/core/utilities.cpp 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/src/core/utilities.cpp 2012-05-28 18:25:43.252728803 -0300
+@@ -277,9 +277,6 @@
+ return QDir::homePath();
+ #endif
+
+- case Path_LocalSpotifyBlob:
+- return GetConfigPath(Path_Root) + "/spotifyblob";
+-
+ default:
+ qFatal("%s", Q_FUNC_INFO);
+ return QString::null;
+diff -rauN clementine-1.0.1/src/core/utilities.h clementine-libre-1.0.1/src/core/utilities.h
+--- clementine-1.0.1/src/core/utilities.h 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/src/core/utilities.h 2012-05-28 18:27:31.686659381 -0300
+@@ -88,7 +88,6 @@
+ Path_NetworkCache,
+ Path_GstreamerRegistry,
+ Path_DefaultMusicLibrary,
+- Path_LocalSpotifyBlob,
+ };
+ QString GetConfigPath(ConfigPath config);
+
+diff -rauN clementine-1.0.1/src/covers/albumcoverloader.cpp clementine-libre-1.0.1/src/covers/albumcoverloader.cpp
+--- clementine-1.0.1/src/covers/albumcoverloader.cpp 2011-12-02 19:24:44.000000000 -0200
++++ clementine-libre-1.0.1/src/covers/albumcoverloader.cpp 2012-05-28 18:34:26.543457483 -0300
+@@ -28,10 +28,6 @@
+ #include <QUrl>
+ #include <QNetworkReply>
+
+-#ifdef HAVE_SPOTIFY
+-# include "internet/spotifyservice.h"
+-#endif
+-
+
+ AlbumCoverLoader::AlbumCoverLoader(QObject* parent)
+ : QObject(parent),
+@@ -40,8 +36,7 @@
+ scale_(true),
+ padding_(true),
+ next_id_(0),
+- network_(new NetworkAccessManager(this)),
+- connected_spotify_(false)
++ network_(new NetworkAccessManager(this))
+ {
+ }
+
+@@ -148,46 +143,12 @@
+
+ remote_tasks_.insert(reply, task);
+ return TryLoadResult(true, false, QImage());
+- } else if (filename.toLower().startsWith("spotify://image/")) {
+- // HACK: we should add generic image URL handlers
+- #ifdef HAVE_SPOTIFY
+- SpotifyService* spotify = InternetModel::Service<SpotifyService>();
+-
+- if (!connected_spotify_) {
+- connect(spotify, SIGNAL(ImageLoaded(QString,QImage)),
+- SLOT(SpotifyImageLoaded(QString,QImage)));
+- connected_spotify_ = true;
+- }
+-
+- QString id = QUrl(filename).path();
+- if (id.startsWith('/')) {
+- id.remove(0, 1);
+- }
+- remote_spotify_tasks_.insert(id, task);
+-
+- // Need to schedule this in the spotify service's thread
+- QMetaObject::invokeMethod(spotify, "LoadImage", Qt::QueuedConnection,
+- Q_ARG(QString, id));
+- return TryLoadResult(true, false, QImage());
+- #else
+- return TryLoadResult(false, false, QImage());
+- #endif
+ }
+
+ QImage image(filename);
+ return TryLoadResult(false, !image.isNull(), image.isNull() ? default_ : image);
+ }
+
+-void AlbumCoverLoader::SpotifyImageLoaded(const QString& id, const QImage& image) {
+- if (!remote_spotify_tasks_.contains(id))
+- return;
+-
+- Task task = remote_spotify_tasks_.take(id);
+- QImage scaled = ScaleAndPad(image);
+- emit ImageLoaded(task.id, scaled);
+- emit ImageLoaded(task.id, scaled, image);
+-}
+-
+ void AlbumCoverLoader::RemoteFetchFinished() {
+ QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
+ if (!reply)
+diff -rauN clementine-1.0.1/src/covers/albumcoverloader.h clementine-libre-1.0.1/src/covers/albumcoverloader.h
+--- clementine-1.0.1/src/covers/albumcoverloader.h 2011-12-02 19:24:44.000000000 -0200
++++ clementine-libre-1.0.1/src/covers/albumcoverloader.h 2012-05-28 18:38:03.228006474 -0300
+@@ -65,7 +65,6 @@
+ protected slots:
+ void ProcessTasks();
+ void RemoteFetchFinished();
+- void SpotifyImageLoaded(const QString& url, const QImage& image);
+
+ protected:
+ enum State {
+@@ -108,13 +107,10 @@
+ QMutex mutex_;
+ QQueue<Task> tasks_;
+ QMap<QNetworkReply*, Task> remote_tasks_;
+- QMap<QString, Task> remote_spotify_tasks_;
+ quint64 next_id_;
+
+ NetworkAccessManager* network_;
+
+- bool connected_spotify_;
+-
+ static const int kMaxRedirects = 3;
+ };
+
+diff -rauN clementine-1.0.1/src/engines/gstenginepipeline.cpp clementine-libre-1.0.1/src/engines/gstenginepipeline.cpp
+--- clementine-1.0.1/src/engines/gstenginepipeline.cpp 2011-12-02 19:24:44.000000000 -0200
++++ clementine-libre-1.0.1/src/engines/gstenginepipeline.cpp 2012-05-28 18:51:35.779395089 -0300
+@@ -26,11 +26,6 @@
+ #include "core/utilities.h"
+ #include "internet/internetmodel.h"
+
+-#ifdef HAVE_SPOTIFY
+-# include "internet/spotifyserver.h"
+-# include "internet/spotifyservice.h"
+-#endif
+-
+ #include <QtConcurrentRun>
+
+ const int GstEnginePipeline::kGstStateTimeoutNanosecs = 10000000;
+@@ -131,36 +126,6 @@
+ bool GstEnginePipeline::ReplaceDecodeBin(const QUrl& url) {
+ GstElement* new_bin = NULL;
+
+- if (url.scheme() == "spotify") {
+- #ifdef HAVE_SPOTIFY
+- new_bin = gst_bin_new("spotify_bin");
+-
+- // Create elements
+- GstElement* src = engine_->CreateElement("tcpserversrc", new_bin);
+- GstElement* gdp = engine_->CreateElement("gdpdepay", new_bin);
+- if (!src || !gdp)
+- return false;
+-
+- // Pick a port number
+- const int port = Utilities::PickUnusedPort();
+- g_object_set(G_OBJECT(src), "host", "127.0.0.1", NULL);
+- g_object_set(G_OBJECT(src), "port", port, NULL);
+-
+- // Link the elements
+- gst_element_link(src, gdp);
+-
+- // Add a ghost pad
+- GstPad* pad = gst_element_get_static_pad(gdp, "src");
+- gst_element_add_pad(GST_ELEMENT(new_bin), gst_ghost_pad_new("src", pad));
+- gst_object_unref(GST_OBJECT(pad));
+-
+- // Tell spotify to start sending data to us.
+- InternetModel::Service<SpotifyService>()->server()->StartPlaybackLater(url.toString(), port);
+- #else // HAVE_SPOTIFY
+- qLog(Error) << "Tried to play a spotify:// url, but spotify support is not compiled in";
+- return false;
+- #endif
+- } else {
+ new_bin = engine_->CreateElement("uridecodebin");
+ g_object_set(G_OBJECT(new_bin), "uri", url.toEncoded().constData(), NULL);
+ g_object_set(G_OBJECT(new_bin), "buffer-duration", buffer_duration_nanosec_, NULL);
+@@ -169,7 +134,6 @@
+ g_signal_connect(G_OBJECT(new_bin), "drained", G_CALLBACK(SourceDrainedCallback), this);
+ g_signal_connect(G_OBJECT(new_bin), "pad-added", G_CALLBACK(NewPadCallback), this);
+ g_signal_connect(G_OBJECT(new_bin), "notify::source", G_CALLBACK(SourceSetupCallback), this);
+- }
+
+ return ReplaceDecodeBin(new_bin);
+ }
+diff -rauN clementine-1.0.1/src/globalsearch/spotifysearchprovider.cpp /dev/null
+--- clementine-1.0.1/src/globalsearch/spotifysearchprovider.cpp 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,208 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#include "spotifysearchprovider.h"
+-#include "core/logging.h"
+-#include "internet/internetmodel.h"
+-#include "internet/spotifyserver.h"
+-#include "internet/spotifyservice.h"
+-#include "playlist/songmimedata.h"
+-#include "spotifyblob/common/spotifymessagehandler.h"
+-
+-SpotifySearchProvider::SpotifySearchProvider(QObject* parent)
+- : SearchProvider(parent),
+- server_(NULL),
+- service_(NULL)
+-{
+- Init("Spotify", "spotify", QIcon(":icons/32x32/spotify.png"),
+- WantsDelayedQueries | WantsSerialisedArtQueries | ArtIsProbablyRemote |
+- CanShowConfig);
+-}
+-
+-SpotifyServer* SpotifySearchProvider::server() {
+- if (server_)
+- return server_;
+-
+- if (!service_)
+- service_ = InternetModel::Service<SpotifyService>();
+-
+- if (service_->login_state() != SpotifyService::LoginState_LoggedIn)
+- return NULL;
+-
+- server_ = service_->server();
+- connect(server_, SIGNAL(SearchResults(spotify_pb::SearchResponse)),
+- SLOT(SearchFinishedSlot(spotify_pb::SearchResponse)));
+- connect(server_, SIGNAL(ImageLoaded(QString,QImage)),
+- SLOT(ArtLoadedSlot(QString,QImage)));
+- connect(server_, SIGNAL(AlbumBrowseResults(spotify_pb::BrowseAlbumResponse)),
+- SLOT(AlbumBrowseResponse(spotify_pb::BrowseAlbumResponse)));
+- connect(server_, SIGNAL(destroyed()), SLOT(ServerDestroyed()));
+-
+- return server_;
+-}
+-
+-void SpotifySearchProvider::ServerDestroyed() {
+- server_ = NULL;
+-}
+-
+-void SpotifySearchProvider::SearchAsync(int id, const QString& query) {
+- SpotifyServer* s = server();
+- if (!s) {
+- emit SearchFinished(id);
+- return;
+- }
+-
+- PendingState state;
+- state.orig_id_ = id;
+- state.tokens_ = TokenizeQuery(query);
+-
+- const QString query_string = state.tokens_.join(" ");
+- s->Search(query_string, 5, 5);
+- queries_[query_string] = state;
+-}
+-
+-void SpotifySearchProvider::SearchFinishedSlot(const spotify_pb::SearchResponse& response) {
+- QString query_string = QString::fromUtf8(response.request().query().c_str());
+- QMap<QString, PendingState>::iterator it = queries_.find(query_string);
+- if (it == queries_.end())
+- return;
+-
+- PendingState state = it.value();
+- queries_.erase(it);
+-
+- ResultList ret;
+- for (int i=0; i < response.result_size() ; ++i) {
+- const spotify_pb::Track& track = response.result(i);
+-
+- Result result(this);
+- result.type_ = globalsearch::Type_Track;
+- SpotifyService::SongFromProtobuf(track, &result.metadata_);
+- result.match_quality_ = MatchQuality(state.tokens_, result.metadata_.title());
+-
+- ret << result;
+- }
+-
+- for (int i=0 ; i<response.album_size() ; ++i) {
+- const spotify_pb::Album& album = response.album(i);
+-
+- Result result(this);
+- result.type_ = globalsearch::Type_Album;
+- SpotifyService::SongFromProtobuf(album.metadata(), &result.metadata_);
+- result.match_quality_ =
+- qMin(MatchQuality(state.tokens_, result.metadata_.album()),
+- MatchQuality(state.tokens_, result.metadata_.artist()));
+- result.album_size_ = album.metadata().track();
+-
+- for (int j=0; j < album.track_size() ; ++j) {
+- Song track_song;
+- SpotifyService::SongFromProtobuf(album.track(j), &track_song);
+- result.album_songs_ << track_song;
+- }
+-
+- ret << result;
+- }
+-
+- emit ResultsAvailable(state.orig_id_, ret);
+- emit SearchFinished(state.orig_id_);
+-}
+-
+-void SpotifySearchProvider::LoadArtAsync(int id, const Result& result) {
+- SpotifyServer* s = server();
+- if (!s) {
+- emit ArtLoaded(id, QImage());
+- return;
+- }
+-
+- QString image_id = QUrl(result.metadata_.art_automatic()).path();
+- if (image_id.startsWith('/'))
+- image_id.remove(0, 1);
+-
+- pending_art_[image_id] = id;
+- s->LoadImage(image_id);
+-}
+-
+-void SpotifySearchProvider::ArtLoadedSlot(const QString& id, const QImage& image) {
+- QMap<QString, int>::iterator it = pending_art_.find(id);
+- if (it == pending_art_.end())
+- return;
+-
+- const int orig_id = it.value();
+- pending_art_.erase(it);
+-
+- emit ArtLoaded(orig_id, ScaleAndPad(image));
+-}
+-
+-void SpotifySearchProvider::LoadTracksAsync(int id, const Result& result) {
+- switch (result.type_) {
+- case globalsearch::Type_Track: {
+- SongMimeData* mime_data = new SongMimeData;
+- mime_data->songs = SongList() << result.metadata_;
+- emit TracksLoaded(id, mime_data);
+- break;
+- }
+-
+- case globalsearch::Type_Album: {
+- SpotifyServer* s = server();
+- if (!s) {
+- emit TracksLoaded(id, NULL);
+- return;
+- }
+-
+- QString uri = result.metadata_.url().toString();
+-
+- pending_tracks_[uri] = id;
+- s->AlbumBrowse(uri);
+- break;
+- }
+-
+- default:
+- break;
+- }
+-}
+-
+-void SpotifySearchProvider::AlbumBrowseResponse(const spotify_pb::BrowseAlbumResponse& response) {
+- QString uri = QStringFromStdString(response.uri());
+- QMap<QString, int>::iterator it = pending_tracks_.find(uri);
+- if (it == pending_tracks_.end())
+- return;
+-
+- const int orig_id = it.value();
+- pending_tracks_.erase(it);
+-
+- SongMimeData* mime_data = new SongMimeData;
+-
+- for (int i=0 ; i<response.track_size() ; ++i) {
+- Song song;
+- SpotifyService::SongFromProtobuf(response.track(i), &song);
+- mime_data->songs << song;
+- }
+-
+- emit TracksLoaded(orig_id, mime_data);
+-}
+-
+-bool SpotifySearchProvider::IsLoggedIn() {
+- if (server()) {
+- return service_->IsLoggedIn();
+- }
+- return false;
+-}
+-
+-void SpotifySearchProvider::ShowConfig() {
+- if (service_) {
+- return service_->ShowConfig();
+- }
+-}
+diff -rauN clementine-1.0.1/src/globalsearch/spotifysearchprovider.h /dev/null
+--- clementine-1.0.1/src/globalsearch/spotifysearchprovider.h 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,60 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#ifndef SPOTIFYSEARCHPROVIDER_H
+-#define SPOTIFYSEARCHPROVIDER_H
+-
+-#include "searchprovider.h"
+-#include "spotifyblob/common/spotifymessages.pb.h"
+-
+-class SpotifyServer;
+-class SpotifyService;
+-
+-
+-class SpotifySearchProvider : public SearchProvider {
+- Q_OBJECT
+-
+-public:
+- SpotifySearchProvider(QObject* parent = 0);
+-
+- void SearchAsync(int id, const QString& query);
+- void LoadArtAsync(int id, const Result& result);
+- void LoadTracksAsync(int id, const Result& result);
+-
+- bool IsLoggedIn();
+- void ShowConfig();
+-
+-private slots:
+- void ServerDestroyed();
+- void SearchFinishedSlot(const spotify_pb::SearchResponse& response);
+- void ArtLoadedSlot(const QString& id, const QImage& image);
+-
+- void AlbumBrowseResponse(const spotify_pb::BrowseAlbumResponse& response);
+-
+-private:
+- SpotifyServer* server();
+-
+-private:
+- SpotifyServer* server_;
+- SpotifyService* service_;
+-
+- QMap<QString, PendingState> queries_;
+- QMap<QString, int> pending_art_;
+- QMap<QString, int> pending_tracks_;
+-};
+-
+-#endif // SPOTIFYSEARCHPROVIDER_H
+diff -rauN clementine-1.0.1/src/internet/internetmodel.cpp clementine-libre-1.0.1/src/internet/internetmodel.cpp
+--- clementine-1.0.1/src/internet/internetmodel.cpp 2011-12-02 19:24:44.000000000 -0200
++++ clementine-libre-1.0.1/src/internet/internetmodel.cpp 2012-05-28 18:56:58.934758916 -0300
+@@ -32,9 +32,6 @@
+ #ifdef HAVE_LIBLASTFM
+ #include "lastfmservice.h"
+ #endif
+-#ifdef HAVE_SPOTIFY
+- #include "spotifyservice.h"
+-#endif
+
+ #include <QMimeData>
+ #include <QtDebug>
+@@ -75,9 +72,6 @@
+ AddService(new SavedRadio(this));
+ AddService(new SkyFmService(this));
+ AddService(new SomaFMService(this));
+-#ifdef HAVE_SPOTIFY
+- AddService(new SpotifyService(this));
+-#endif
+ }
+
+ void InternetModel::AddService(InternetService *service) {
+diff -rauN clementine-1.0.1/src/internet/spotifyblobdownloader.cpp /dev/null
+--- clementine-1.0.1/src/internet/spotifyblobdownloader.cpp 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,222 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#include "config.h"
+-#include "spotifyblobdownloader.h"
+-#include "spotifyservice.h"
+-#include "core/logging.h"
+-#include "core/network.h"
+-#include "core/utilities.h"
+-
+-#include <QDir>
+-#include <QMessageBox>
+-#include <QNetworkReply>
+-#include <QProgressDialog>
+-
+-#ifdef HAVE_QCA
+- #include <QtCrypto>
+-#endif // HAVE_QCA
+-
+-const char* SpotifyBlobDownloader::kSignatureSuffix = ".sha1";
+-
+-
+-SpotifyBlobDownloader::SpotifyBlobDownloader(
+- const QString& version, const QString& path, QObject* parent)
+- : QObject(parent),
+- version_(version),
+- path_(path),
+- network_(new NetworkAccessManager(this)),
+- progress_(new QProgressDialog(tr("Downloading Spotify plugin"), tr("Cancel"), 0, 0))
+-{
+- progress_->setWindowTitle(QCoreApplication::applicationName());
+- connect(progress_, SIGNAL(canceled()), SLOT(Cancel()));
+-}
+-
+-SpotifyBlobDownloader::~SpotifyBlobDownloader() {
+- qDeleteAll(replies_);
+- replies_.clear();
+-
+- delete progress_;
+-}
+-
+-bool SpotifyBlobDownloader::Prompt() {
+- QMessageBox::StandardButton ret = QMessageBox::question(NULL,
+- tr("Spotify plugin not installed"),
+- tr("An additional plugin is required to use Spotify in Clementine. Would you like to download and install it now?"),
+- QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
+- return ret == QMessageBox::Yes;
+-}
+-
+-void SpotifyBlobDownloader::Start() {
+- qDeleteAll(replies_);
+- replies_.clear();
+-
+- const QStringList filenames = QStringList()
+- << "blob"
+- << "blob" + QString(kSignatureSuffix)
+- << "libspotify.so.10.1.16"
+- << "libspotify.so.10.1.16" + QString(kSignatureSuffix);
+-
+- foreach (const QString& filename, filenames) {
+- const QUrl url(SpotifyService::kBlobDownloadUrl + version_ + "/" + filename);
+- qLog(Info) << "Downloading" << url;
+-
+- QNetworkReply* reply = network_->get(QNetworkRequest(url));
+- connect(reply, SIGNAL(finished()), SLOT(ReplyFinished()));
+- connect(reply, SIGNAL(downloadProgress(qint64,qint64)), SLOT(ReplyProgress()));
+-
+- replies_ << reply;
+- }
+-
+- progress_->show();
+-}
+-
+-void SpotifyBlobDownloader::ReplyFinished() {
+- QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
+- if (reply->error() != QNetworkReply::NoError) {
+- // Handle network errors
+- ShowError(reply->errorString());
+- return;
+- }
+-
+- // Is everything finished?
+- foreach (QNetworkReply* reply, replies_) {
+- if (!reply->isFinished()) {
+- return;
+- }
+- }
+-
+- // Read files into memory first.
+- QMap<QString, QByteArray> file_data;
+- QStringList signature_filenames;
+-
+- foreach (QNetworkReply* reply, replies_) {
+- const QString filename = reply->url().path().section('/', -1, -1);
+-
+- if (filename.endsWith(kSignatureSuffix)) {
+- signature_filenames << filename;
+- }
+-
+- file_data[filename] = reply->readAll();
+- }
+-
+-#ifdef HAVE_QCA
+- // Load the public key
+- QCA::ConvertResult conversion_result;
+- QCA::PublicKey key = QCA::PublicKey::fromPEMFile(":/clementine-spotify-public.pem",
+- &conversion_result);
+- if (QCA::ConvertGood != conversion_result) {
+- ShowError("Failed to load Spotify public key");
+- return;
+- }
+-
+- // Verify signatures
+- foreach (const QString& signature_filename, signature_filenames) {
+- QString actual_filename = signature_filename;
+- actual_filename.remove(kSignatureSuffix);
+-
+- qLog(Debug) << "Verifying" << actual_filename << "against" << signature_filename;
+-
+- if (!key.verifyMessage(file_data[actual_filename],
+- file_data[signature_filename],
+- QCA::EMSA3_SHA1)) {
+- ShowError("Invalid signature: " + actual_filename);
+- return;
+- }
+- }
+-#endif // HAVE_QCA
+-
+- // Make the destination directory and write the files into it
+- QDir().mkpath(path_);
+-
+- foreach (const QString& filename, file_data.keys()) {
+- const QString dest_path = path_ + "/" + filename;
+-
+- if (filename.endsWith(kSignatureSuffix))
+- continue;
+-
+- qLog(Info) << "Writing" << dest_path;
+-
+- QFile file(dest_path);
+- if (!file.open(QIODevice::WriteOnly)) {
+- ShowError("Failed to open " + dest_path + " for writing");
+- return;
+- }
+-
+- file.write(file_data[filename]);
+- file.close();
+- file.setPermissions(QFile::Permissions(0x7755));
+-
+-#ifdef Q_OS_UNIX
+- const int so_pos = filename.lastIndexOf(".so.");
+- if (so_pos != -1) {
+- QString link_path = path_ + "/" + filename.left(so_pos + 3);
+- QStringList version_parts = filename.mid(so_pos + 4).split('.');
+-
+- while (!version_parts.isEmpty()) {
+- qLog(Debug) << "Linking" << dest_path << "to" << link_path;
+- int ret = symlink(dest_path.toLocal8Bit().constData(),
+- link_path.toLocal8Bit().constData());
+-
+- if (ret != 0) {
+- qLog(Warning) << "Creating symlink failed with return code" << ret;
+- }
+-
+- link_path += "." + version_parts.takeFirst();
+- }
+- }
+-#endif // Q_OS_UNIX
+- }
+-
+- EmitFinished();
+-}
+-
+-void SpotifyBlobDownloader::ReplyProgress() {
+- int progress = 0;
+- int total = 0;
+-
+- foreach (QNetworkReply* reply, replies_) {
+- progress += reply->bytesAvailable();
+- total += reply->rawHeader("Content-Length").toInt();
+- }
+-
+- progress_->setMaximum(total);
+- progress_->setValue(progress);
+-}
+-
+-void SpotifyBlobDownloader::Cancel() {
+- deleteLater();
+-}
+-
+-void SpotifyBlobDownloader::ShowError(const QString& message) {
+- // Stop any remaining replies before showing the dialog so they don't
+- // carry on in the background
+- foreach (QNetworkReply* reply, replies_) {
+- disconnect(reply, 0, this, 0);
+- reply->abort();
+- }
+-
+- qLog(Warning) << message;
+- QMessageBox::warning(NULL, tr("Error downloading Spotify plugin"), message,
+- QMessageBox::Close);
+- deleteLater();
+-}
+-
+-void SpotifyBlobDownloader::EmitFinished() {
+- emit Finished();
+- deleteLater();
+-}
+diff -rauN clementine-1.0.1/src/internet/spotifyblobdownloader.h /dev/null
+--- clementine-1.0.1/src/internet/spotifyblobdownloader.h 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,63 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#ifndef SPOTIFYBLOBDOWNLOADER_H
+-#define SPOTIFYBLOBDOWNLOADER_H
+-
+-#include <QObject>
+-
+-class QNetworkAccessManager;
+-class QNetworkReply;
+-class QProgressDialog;
+-
+-class SpotifyBlobDownloader : public QObject {
+- Q_OBJECT
+-
+-public:
+- SpotifyBlobDownloader(const QString& version, const QString& path,
+- QObject* parent = 0);
+- ~SpotifyBlobDownloader();
+-
+- static const char* kSignatureSuffix;
+-
+- static bool Prompt();
+-
+- void Start();
+-
+-signals:
+- void Finished();
+-
+-private slots:
+- void ReplyFinished();
+- void ReplyProgress();
+- void Cancel();
+-
+-private:
+- void ShowError(const QString& message);
+- void EmitFinished();
+-
+-private:
+- QString version_;
+- QString path_;
+-
+- QNetworkAccessManager* network_;
+- QList<QNetworkReply*> replies_;
+-
+- QProgressDialog* progress_;
+-};
+-
+-#endif // SPOTIFYBLOBDOWNLOADER_H
+diff -rauN clementine-1.0.1/src/internet/spotifysearchplaylisttype.cpp /dev/null
+--- clementine-1.0.1/src/internet/spotifysearchplaylisttype.cpp 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,49 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#include "spotifysearchplaylisttype.h"
+-#include "spotifyservice.h"
+-
+-const char* SpotifySearchPlaylistType::kName = "spotify-search";
+-
+-SpotifySearchPlaylistType::SpotifySearchPlaylistType(SpotifyService* service)
+- : service_(service) {
+-}
+-
+-QIcon SpotifySearchPlaylistType::icon(Playlist* playlist) const {
+- return QIcon(":icons/32x32/spotify.png");
+-}
+-
+-QString SpotifySearchPlaylistType::search_hint_text(Playlist* playlist) const {
+- return QObject::tr("Search Spotify");
+-}
+-
+-QString SpotifySearchPlaylistType::empty_playlist_text(Playlist* playlist) const {
+- return QObject::tr("Start typing in the search box above to find music on %1.").arg("Spotify");
+-}
+-
+-bool SpotifySearchPlaylistType::has_special_search_behaviour(Playlist* playlist) const {
+- return true;
+-}
+-
+-void SpotifySearchPlaylistType::Search(const QString& text, Playlist* playlist) {
+- service_->Search(text, playlist);
+-}
+-
+-void SpotifySearchPlaylistType::DidYouMeanClicked(const QString& text, Playlist* playlist) {
+- service_->Search(text, playlist, true);
+-}
+diff -rauN clementine-1.0.1/src/internet/spotifysearchplaylisttype.h /dev/null
+--- clementine-1.0.1/src/internet/spotifysearchplaylisttype.h 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,44 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#ifndef SPOTIFYSEARCHPLAYLISTTYPE_H
+-#define SPOTIFYSEARCHPLAYLISTTYPE_H
+-
+-#include "playlist/specialplaylisttype.h"
+-
+-class SpotifyService;
+-
+-class SpotifySearchPlaylistType : public SpecialPlaylistType {
+-public:
+- SpotifySearchPlaylistType(SpotifyService* service);
+-
+- static const char* kName;
+- virtual QString name() const { return kName; }
+-
+- virtual QIcon icon(Playlist* playlist) const;
+- virtual QString search_hint_text(Playlist* playlist) const;
+- virtual QString empty_playlist_text(Playlist* playlist) const;
+-
+- virtual bool has_special_search_behaviour(Playlist* playlist) const;
+- virtual void Search(const QString& text, Playlist* playlist);
+- virtual void DidYouMeanClicked(const QString& text, Playlist* playlist);
+-
+-private:
+- SpotifyService* service_;
+-};
+-
+-#endif // SPOTIFYSEARCHPLAYLISTTYPE_H
+diff -rauN clementine-1.0.1/src/internet/spotifyserver.cpp /dev/null
+--- clementine-1.0.1/src/internet/spotifyserver.cpp 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,261 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#include "spotifyserver.h"
+-#include "core/closure.h"
+-#include "core/logging.h"
+-
+-#include "spotifyblob/common/spotifymessages.pb.h"
+-#include "spotifyblob/common/spotifymessagehandler.h"
+-
+-#include <QTcpServer>
+-#include <QTcpSocket>
+-#include <QTimer>
+-
+-SpotifyServer::SpotifyServer(QObject* parent)
+- : QObject(parent),
+- server_(new QTcpServer(this)),
+- protocol_socket_(NULL),
+- handler_(NULL),
+- logged_in_(false)
+-{
+- connect(server_, SIGNAL(newConnection()), SLOT(NewConnection()));
+-}
+-
+-void SpotifyServer::Init() {
+- if (!server_->listen(QHostAddress::LocalHost)) {
+- qLog(Error) << "Couldn't open server socket" << server_->errorString();
+- }
+-}
+-
+-int SpotifyServer::server_port() const {
+- return server_->serverPort();
+-}
+-
+-void SpotifyServer::NewConnection() {
+- delete protocol_socket_;
+- delete handler_;
+-
+- protocol_socket_ = server_->nextPendingConnection();
+- handler_ = new SpotifyMessageHandler(protocol_socket_, this);
+- connect(handler_, SIGNAL(MessageArrived(spotify_pb::SpotifyMessage)),
+- SLOT(HandleMessage(spotify_pb::SpotifyMessage)));
+-
+- qLog(Info) << "Connection from port" << protocol_socket_->peerPort();
+-
+- // Send any login messages that were queued before the client connected
+- foreach (const spotify_pb::SpotifyMessage& message, queued_login_messages_) {
+- SendMessage(message);
+- }
+- queued_login_messages_.clear();
+-}
+-
+-void SpotifyServer::SendMessage(const spotify_pb::SpotifyMessage& message) {
+- const bool is_login_message = message.has_login_request();
+-
+- QList<spotify_pb::SpotifyMessage>* queue =
+- is_login_message ? &queued_login_messages_ : &queued_messages_;
+-
+- if (!protocol_socket_ || (!is_login_message && !logged_in_)) {
+- queue->append(message);
+- } else {
+- handler_->SendMessage(message);
+- }
+-}
+-
+-void SpotifyServer::Login(const QString& username, const QString& password,
+- spotify_pb::Bitrate bitrate, bool volume_normalisation) {
+- spotify_pb::SpotifyMessage message;
+-
+- spotify_pb::LoginRequest* request = message.mutable_login_request();
+- request->set_username(DataCommaSizeFromQString(username));
+- if (!password.isEmpty()) {
+- request->set_password(DataCommaSizeFromQString(password));
+- }
+- request->mutable_playback_settings()->set_bitrate(bitrate);
+- request->mutable_playback_settings()->set_volume_normalisation(volume_normalisation);
+-
+- SendMessage(message);
+-}
+-
+-void SpotifyServer::SetPlaybackSettings(spotify_pb::Bitrate bitrate, bool volume_normalisation) {
+- spotify_pb::SpotifyMessage message;
+-
+- spotify_pb::PlaybackSettings* request = message.mutable_set_playback_settings_request();
+- request->set_bitrate(bitrate);
+- request->set_volume_normalisation(volume_normalisation);
+-
+- SendMessage(message);
+-}
+-
+-void SpotifyServer::HandleMessage(const spotify_pb::SpotifyMessage& message) {
+- if (message.has_login_response()) {
+- const spotify_pb::LoginResponse& response = message.login_response();
+- logged_in_ = response.success();
+-
+- if (response.success()) {
+- // Send any messages that were queued before the client logged in
+- foreach (const spotify_pb::SpotifyMessage& message, queued_messages_) {
+- SendMessage(message);
+- }
+- queued_messages_.clear();
+- }
+-
+- emit LoginCompleted(response.success(), QStringFromStdString(response.error()),
+- response.error_code());
+- } else if (message.has_playlists_updated()) {
+- emit PlaylistsUpdated(message.playlists_updated());
+- } else if (message.has_load_playlist_response()) {
+- const spotify_pb::LoadPlaylistResponse& response = message.load_playlist_response();
+-
+- switch (response.request().type()) {
+- case spotify_pb::Inbox:
+- emit InboxLoaded(response);
+- break;
+-
+- case spotify_pb::Starred:
+- emit StarredLoaded(response);
+- break;
+-
+- case spotify_pb::UserPlaylist:
+- emit UserPlaylistLoaded(response);
+- break;
+- }
+- } else if (message.has_playback_error()) {
+- emit PlaybackError(QStringFromStdString(message.playback_error().error()));
+- } else if (message.has_search_response()) {
+- emit SearchResults(message.search_response());
+- } else if (message.has_image_response()) {
+- const spotify_pb::ImageResponse& response = message.image_response();
+- const QString id = QStringFromStdString(response.id());
+-
+- if (response.has_data()) {
+- emit ImageLoaded(id, QImage::fromData(QByteArray(
+- response.data().data(), response.data().size())));
+- } else {
+- emit ImageLoaded(id, QImage());
+- }
+- } else if (message.has_sync_playlist_progress()) {
+- emit SyncPlaylistProgress(message.sync_playlist_progress());
+- } else if (message.has_browse_album_response()) {
+- emit AlbumBrowseResults(message.browse_album_response());
+- }
+-}
+-
+-void SpotifyServer::LoadPlaylist(spotify_pb::PlaylistType type, int index) {
+- spotify_pb::SpotifyMessage message;
+- spotify_pb::LoadPlaylistRequest* req = message.mutable_load_playlist_request();
+-
+- req->set_type(type);
+- if (index != -1) {
+- req->set_user_playlist_index(index);
+- }
+-
+- SendMessage(message);
+-}
+-
+-void SpotifyServer::SyncPlaylist(
+- spotify_pb::PlaylistType type, int index, bool offline) {
+- spotify_pb::SpotifyMessage message;
+- spotify_pb::SyncPlaylistRequest* req = message.mutable_sync_playlist_request();
+- req->mutable_request()->set_type(type);
+- if (index != -1) {
+- req->mutable_request()->set_user_playlist_index(index);
+- }
+- req->set_offline_sync(offline);
+-
+- SendMessage(message);
+-}
+-
+-void SpotifyServer::SyncInbox() {
+- SyncPlaylist(spotify_pb::Inbox, -1, true);
+-}
+-
+-void SpotifyServer::SyncStarred() {
+- SyncPlaylist(spotify_pb::Starred, -1, true);
+-}
+-
+-void SpotifyServer::SyncUserPlaylist(int index) {
+- Q_ASSERT(index >= 0);
+- SyncPlaylist(spotify_pb::UserPlaylist, index, true);
+-}
+-
+-void SpotifyServer::LoadInbox() {
+- LoadPlaylist(spotify_pb::Inbox);
+-}
+-
+-void SpotifyServer::LoadStarred() {
+- LoadPlaylist(spotify_pb::Starred);
+-}
+-
+-void SpotifyServer::LoadUserPlaylist(int index) {
+- Q_ASSERT(index >= 0);
+- LoadPlaylist(spotify_pb::UserPlaylist, index);
+-}
+-
+-void SpotifyServer::StartPlaybackLater(const QString& uri, quint16 port) {
+- QTimer* timer = new QTimer(this);
+- connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()));
+-
+- timer->start(100); // lol
+- NewClosure(timer, SIGNAL(timeout()),
+- this, SLOT(StartPlayback(QString,quint16)),
+- uri, port);
+-}
+-
+-void SpotifyServer::StartPlayback(const QString& uri, quint16 port) {
+- spotify_pb::SpotifyMessage message;
+- spotify_pb::PlaybackRequest* req = message.mutable_playback_request();
+-
+- req->set_track_uri(DataCommaSizeFromQString(uri));
+- req->set_media_port(port);
+- SendMessage(message);
+-}
+-
+-void SpotifyServer::Seek(qint64 offset_bytes) {
+- spotify_pb::SpotifyMessage message;
+- spotify_pb::SeekRequest* req = message.mutable_seek_request();
+-
+- req->set_offset_bytes(offset_bytes);
+- SendMessage(message);
+-}
+-
+-void SpotifyServer::Search(const QString& text, int limit, int limit_album) {
+- spotify_pb::SpotifyMessage message;
+- spotify_pb::SearchRequest* req = message.mutable_search_request();
+-
+- req->set_query(DataCommaSizeFromQString(text));
+- req->set_limit(limit);
+- req->set_limit_album(limit_album);
+- SendMessage(message);
+-}
+-
+-void SpotifyServer::LoadImage(const QString& id) {
+- spotify_pb::SpotifyMessage message;
+- spotify_pb::ImageRequest* req = message.mutable_image_request();
+-
+- req->set_id(DataCommaSizeFromQString(id));
+- SendMessage(message);
+-}
+-
+-void SpotifyServer::AlbumBrowse(const QString& uri) {
+- spotify_pb::SpotifyMessage message;
+- spotify_pb::BrowseAlbumRequest* req = message.mutable_browse_album_request();
+-
+- req->set_uri(DataCommaSizeFromQString(uri));
+- SendMessage(message);
+-}
+diff -rauN clementine-1.0.1/src/internet/spotifyserver.h /dev/null
+--- clementine-1.0.1/src/internet/spotifyserver.h 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,91 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#ifndef SPOTIFYSERVER_H
+-#define SPOTIFYSERVER_H
+-
+-#include "spotifyblob/common/spotifymessages.pb.h"
+-
+-#include <QImage>
+-#include <QObject>
+-
+-class SpotifyMessageHandler;
+-
+-class QTcpServer;
+-class QTcpSocket;
+-
+-class SpotifyServer : public QObject {
+- Q_OBJECT
+-
+-public:
+- SpotifyServer(QObject* parent = 0);
+-
+- void Init();
+- void Login(const QString& username, const QString& password,
+- spotify_pb::Bitrate bitrate, bool volume_normalisation);
+-
+- void LoadStarred();
+- void SyncStarred();
+- void LoadInbox();
+- void SyncInbox();
+- void LoadUserPlaylist(int index);
+- void SyncUserPlaylist(int index);
+- void StartPlaybackLater(const QString& uri, quint16 port);
+- void Search(const QString& text, int limit, int limit_album = 0);
+- void LoadImage(const QString& id);
+- void AlbumBrowse(const QString& uri);
+- void SetPlaybackSettings(spotify_pb::Bitrate bitrate, bool volume_normalisation);
+-
+- int server_port() const;
+-
+-public slots:
+- void StartPlayback(const QString& uri, quint16 port);
+- void Seek(qint64 offset_bytes);
+-
+-signals:
+- void LoginCompleted(bool success, const QString& error,
+- spotify_pb::LoginResponse_Error error_code);
+- void PlaylistsUpdated(const spotify_pb::Playlists& playlists);
+-
+- void StarredLoaded(const spotify_pb::LoadPlaylistResponse& response);
+- void InboxLoaded(const spotify_pb::LoadPlaylistResponse& response);
+- void UserPlaylistLoaded(const spotify_pb::LoadPlaylistResponse& response);
+- void PlaybackError(const QString& message);
+- void SearchResults(const spotify_pb::SearchResponse& response);
+- void ImageLoaded(const QString& id, const QImage& image);
+- void SyncPlaylistProgress(const spotify_pb::SyncPlaylistProgress& progress);
+- void AlbumBrowseResults(const spotify_pb::BrowseAlbumResponse& response);
+-
+-private slots:
+- void NewConnection();
+- void HandleMessage(const spotify_pb::SpotifyMessage& message);
+-
+-private:
+- void LoadPlaylist(spotify_pb::PlaylistType type, int index = -1);
+- void SyncPlaylist(spotify_pb::PlaylistType type, int index, bool offline);
+- void SendMessage(const spotify_pb::SpotifyMessage& message);
+-
+- QTcpServer* server_;
+- QTcpSocket* protocol_socket_;
+- SpotifyMessageHandler* handler_;
+- bool logged_in_;
+-
+- QList<spotify_pb::SpotifyMessage> queued_login_messages_;
+- QList<spotify_pb::SpotifyMessage> queued_messages_;
+-};
+-
+-#endif // SPOTIFYSERVER_H
+diff -rauN clementine-1.0.1/src/internet/spotifyservice.cpp /dev/null
+--- clementine-1.0.1/src/internet/spotifyservice.cpp 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,669 +0,0 @@
+-#include "config.h"
+-#include "internetmodel.h"
+-#include "spotifyblobdownloader.h"
+-#include "spotifyserver.h"
+-#include "spotifyservice.h"
+-#include "spotifysearchplaylisttype.h"
+-#include "core/database.h"
+-#include "core/logging.h"
+-#include "core/player.h"
+-#include "core/taskmanager.h"
+-#include "core/timeconstants.h"
+-#include "core/utilities.h"
+-#include "globalsearch/globalsearch.h"
+-#include "globalsearch/spotifysearchprovider.h"
+-#include "playlist/playlist.h"
+-#include "playlist/playlistcontainer.h"
+-#include "playlist/playlistmanager.h"
+-#include "spotifyblob/common/blobversion.h"
+-#include "spotifyblob/common/spotifymessagehandler.h"
+-#include "widgets/didyoumean.h"
+-#include "ui/iconloader.h"
+-
+-#include <QCoreApplication>
+-#include <QFile>
+-#include <QFileInfo>
+-#include <QMenu>
+-#include <QMessageBox>
+-#include <QProcess>
+-#include <QSettings>
+-#include <QVariant>
+-
+-Q_DECLARE_METATYPE(QStandardItem*);
+-
+-const char* SpotifyService::kServiceName = "Spotify";
+-const char* SpotifyService::kSettingsGroup = "Spotify";
+-const char* SpotifyService::kBlobDownloadUrl = "http://spotify.clementine-player.org/";
+-const int SpotifyService::kSearchDelayMsec = 400;
+-
+-SpotifyService::SpotifyService(InternetModel* parent)
+- : InternetService(kServiceName, parent, parent),
+- server_(NULL),
+- blob_process_(NULL),
+- root_(NULL),
+- search_(NULL),
+- starred_(NULL),
+- inbox_(NULL),
+- login_task_id_(0),
+- pending_search_playlist_(NULL),
+- context_menu_(NULL),
+- search_delay_(new QTimer(this)),
+- login_state_(LoginState_OtherError),
+- bitrate_(spotify_pb::Bitrate320k),
+- volume_normalisation_(false)
+-{
+- // Build the search path for the binary blob.
+- // Look for one distributed alongside clementine first, then check in the
+- // user's home directory for any that have been downloaded.
+-#ifdef Q_OS_MAC
+- system_blob_path_ = QCoreApplication::applicationDirPath() +
+- "/../PlugIns/clementine-spotifyblob";
+-#else
+- system_blob_path_ = QCoreApplication::applicationDirPath() +
+- "/clementine-spotifyblob" CMAKE_EXECUTABLE_SUFFIX;
+-#endif
+-
+- local_blob_version_ = QString("version%1-%2bit").arg(SPOTIFY_BLOB_VERSION).arg(sizeof(void*) * 8);
+- local_blob_path_ = Utilities::GetConfigPath(Utilities::Path_LocalSpotifyBlob) +
+- "/" + local_blob_version_ + "/blob";
+-
+- qLog(Debug) << "Spotify system blob path:" << system_blob_path_;
+- qLog(Debug) << "Spotify local blob path:" << local_blob_path_;
+-
+- model()->player()->playlists()->RegisterSpecialPlaylistType(
+- new SpotifySearchPlaylistType(this));
+-
+- model()->global_search()->AddProvider(new SpotifySearchProvider(this));
+-
+- search_delay_->setInterval(kSearchDelayMsec);
+- search_delay_->setSingleShot(true);
+- connect(search_delay_, SIGNAL(timeout()), SLOT(DoSearch()));
+-}
+-
+-SpotifyService::~SpotifyService() {
+- if (blob_process_ && blob_process_->state() == QProcess::Running) {
+- qLog(Info) << "Terminating blob process...";
+- blob_process_->terminate();
+- blob_process_->waitForFinished(1000);
+- }
+-}
+-
+-QStandardItem* SpotifyService::CreateRootItem() {
+- root_ = new QStandardItem(QIcon(":icons/22x22/spotify.png"), kServiceName);
+- root_->setData(true, InternetModel::Role_CanLazyLoad);
+- return root_;
+-}
+-
+-void SpotifyService::LazyPopulate(QStandardItem* item) {
+- switch (item->data(InternetModel::Role_Type).toInt()) {
+- case InternetModel::Type_Service:
+- EnsureServerCreated();
+- break;
+-
+- case Type_SearchResults:
+- break;
+-
+- case Type_InboxPlaylist:
+- EnsureServerCreated();
+- server_->LoadInbox();
+- break;
+-
+- case Type_StarredPlaylist:
+- EnsureServerCreated();
+- server_->LoadStarred();
+- break;
+-
+- case InternetModel::Type_UserPlaylist:
+- EnsureServerCreated();
+- server_->LoadUserPlaylist(item->data(Role_UserPlaylistIndex).toInt());
+- break;
+-
+- default:
+- break;
+- }
+-
+- return;
+-}
+-
+-QModelIndex SpotifyService::GetCurrentIndex() {
+- return QModelIndex();
+-}
+-
+-void SpotifyService::Login(const QString& username, const QString& password) {
+- Logout();
+- EnsureServerCreated(username, password);
+-}
+-
+-void SpotifyService::LoginCompleted(bool success, const QString& error,
+- spotify_pb::LoginResponse_Error error_code) {
+- if (login_task_id_) {
+- model()->task_manager()->SetTaskFinished(login_task_id_);
+- login_task_id_ = 0;
+- }
+-
+- if (!success) {
+- bool show_error_dialog = true;
+- QString error_copy(error);
+-
+- switch (error_code) {
+- case spotify_pb::LoginResponse_Error_BadUsernameOrPassword:
+- login_state_ = LoginState_BadCredentials;
+- break;
+-
+- case spotify_pb::LoginResponse_Error_UserBanned:
+- login_state_ = LoginState_Banned;
+- break;
+-
+- case spotify_pb::LoginResponse_Error_UserNeedsPremium:
+- login_state_ = LoginState_NoPremium;
+- break;
+-
+- case spotify_pb::LoginResponse_Error_ReloginFailed:
+- if (login_state_ == LoginState_LoggedIn) {
+- // This is the first time the relogin has failed - show a message this
+- // time only.
+- error_copy = tr("You have been logged out of Spotify, please re-enter your password in the Settings dialog.");
+- } else {
+- show_error_dialog = false;
+- }
+-
+- login_state_ = LoginState_ReloginFailed;
+- break;
+-
+- default:
+- login_state_ = LoginState_OtherError;
+- break;
+- }
+-
+- if (show_error_dialog) {
+- QMessageBox::warning(NULL, tr("Spotify login error"), error_copy, QMessageBox::Close);
+- }
+- } else {
+- login_state_ = LoginState_LoggedIn;
+- }
+-
+- QSettings s;
+- s.beginGroup(kSettingsGroup);
+- s.setValue("login_state", login_state_);
+-
+- emit LoginFinished(success);
+-}
+-
+-void SpotifyService::BlobProcessError(QProcess::ProcessError error) {
+- qLog(Error) << "Spotify blob process failed:" << error;
+- blob_process_->deleteLater();
+- blob_process_ = NULL;
+-
+- if (login_task_id_) {
+- model()->task_manager()->SetTaskFinished(login_task_id_);
+- }
+-}
+-
+-void SpotifyService::ReloadSettings() {
+- QSettings s;
+- s.beginGroup(kSettingsGroup);
+-
+- login_state_ = LoginState(s.value("login_state", LoginState_OtherError).toInt());
+- bitrate_ = static_cast<spotify_pb::Bitrate>(
+- s.value("bitrate", spotify_pb::Bitrate320k).toInt());
+- volume_normalisation_ = s.value("volume_normalisation", false).toBool();
+-
+- if (server_ && blob_process_) {
+- server_->SetPlaybackSettings(bitrate_, volume_normalisation_);
+- }
+-}
+-
+-void SpotifyService::EnsureServerCreated(const QString& username,
+- const QString& password) {
+- if (server_ && blob_process_) {
+- return;
+- }
+-
+- delete server_;
+- server_ = new SpotifyServer(this);
+-
+- connect(server_, SIGNAL(LoginCompleted(bool,QString,spotify_pb::LoginResponse_Error)),
+- SLOT(LoginCompleted(bool,QString,spotify_pb::LoginResponse_Error)));
+- connect(server_, SIGNAL(PlaylistsUpdated(spotify_pb::Playlists)),
+- SLOT(PlaylistsUpdated(spotify_pb::Playlists)));
+- connect(server_, SIGNAL(InboxLoaded(spotify_pb::LoadPlaylistResponse)),
+- SLOT(InboxLoaded(spotify_pb::LoadPlaylistResponse)));
+- connect(server_, SIGNAL(StarredLoaded(spotify_pb::LoadPlaylistResponse)),
+- SLOT(StarredLoaded(spotify_pb::LoadPlaylistResponse)));
+- connect(server_, SIGNAL(UserPlaylistLoaded(spotify_pb::LoadPlaylistResponse)),
+- SLOT(UserPlaylistLoaded(spotify_pb::LoadPlaylistResponse)));
+- connect(server_, SIGNAL(PlaybackError(QString)),
+- SIGNAL(StreamError(QString)));
+- connect(server_, SIGNAL(SearchResults(spotify_pb::SearchResponse)),
+- SLOT(SearchResults(spotify_pb::SearchResponse)));
+- connect(server_, SIGNAL(ImageLoaded(QString,QImage)),
+- SIGNAL(ImageLoaded(QString,QImage)));
+- connect(server_, SIGNAL(SyncPlaylistProgress(spotify_pb::SyncPlaylistProgress)),
+- SLOT(SyncPlaylistProgress(spotify_pb::SyncPlaylistProgress)));
+-
+- server_->Init();
+-
+- login_task_id_ = model()->task_manager()->StartTask(tr("Connecting to Spotify"));
+-
+- QString login_username = username;
+- QString login_password = password;
+-
+- if (username.isEmpty()) {
+- QSettings s;
+- s.beginGroup(kSettingsGroup);
+-
+- login_username = s.value("username").toString();
+- login_password = QString();
+- }
+-
+- server_->Login(login_username, login_password, bitrate_, volume_normalisation_);
+-
+- StartBlobProcess();
+-}
+-
+-void SpotifyService::StartBlobProcess() {
+- // Try to find an executable to run
+- QString blob_path;
+- QProcessEnvironment env(QProcessEnvironment::systemEnvironment());
+-
+- // Look in the system search path first
+- if (QFile::exists(system_blob_path_)) {
+- blob_path = system_blob_path_;
+- }
+-
+- // Next look in the local path
+- if (blob_path.isEmpty()) {
+- if (QFile::exists(local_blob_path_)) {
+- blob_path = local_blob_path_;
+- env.insert("LD_LIBRARY_PATH", QFileInfo(local_blob_path_).path());
+- }
+- }
+-
+- if (blob_path.isEmpty()) {
+- // If the blob still wasn't found then we'll prompt the user to download one
+- if (login_task_id_) {
+- model()->task_manager()->SetTaskFinished(login_task_id_);
+- }
+-
+- #ifdef Q_OS_LINUX
+- if (SpotifyBlobDownloader::Prompt()) {
+- InstallBlob();
+- }
+- #endif
+-
+- return;
+- }
+-
+- delete blob_process_;
+- blob_process_ = new QProcess(this);
+- blob_process_->setProcessChannelMode(QProcess::ForwardedChannels);
+- blob_process_->setProcessEnvironment(env);
+-
+- connect(blob_process_,
+- SIGNAL(error(QProcess::ProcessError)),
+- SLOT(BlobProcessError(QProcess::ProcessError)));
+-
+- qLog(Info) << "Starting" << blob_path;
+- blob_process_->start(
+- blob_path, QStringList() << QString::number(server_->server_port()));
+-}
+-
+-bool SpotifyService::IsBlobInstalled() const {
+- return QFile::exists(system_blob_path_) ||
+- QFile::exists(local_blob_path_);
+-}
+-
+-void SpotifyService::InstallBlob() {
+- // The downloader deletes itself when it finishes
+- SpotifyBlobDownloader* downloader = new SpotifyBlobDownloader(
+- local_blob_version_, QFileInfo(local_blob_path_).path(), this);
+- connect(downloader, SIGNAL(Finished()), SLOT(BlobDownloadFinished()));
+- connect(downloader, SIGNAL(Finished()), SIGNAL(BlobStateChanged()));
+- downloader->Start();
+-}
+-
+-void SpotifyService::BlobDownloadFinished() {
+- EnsureServerCreated();
+-}
+-
+-void SpotifyService::PlaylistsUpdated(const spotify_pb::Playlists& response) {
+- if (login_task_id_) {
+- model()->task_manager()->SetTaskFinished(login_task_id_);
+- login_task_id_ = 0;
+- }
+-
+- // Create starred and inbox playlists if they're not here already
+- if (!search_) {
+- search_ = new QStandardItem(IconLoader::Load("edit-find"),
+- tr("Search Spotify (opens a new tab)"));
+- search_->setData(Type_SearchResults, InternetModel::Role_Type);
+- search_->setData(InternetModel::PlayBehaviour_DoubleClickAction,
+- InternetModel::Role_PlayBehaviour);
+-
+- starred_ = new QStandardItem(QIcon(":/star-on.png"), tr("Starred"));
+- starred_->setData(Type_StarredPlaylist, InternetModel::Role_Type);
+- starred_->setData(true, InternetModel::Role_CanLazyLoad);
+-
+- inbox_ = new QStandardItem(IconLoader::Load("mail-message"), tr("Inbox"));
+- inbox_->setData(Type_InboxPlaylist, InternetModel::Role_Type);
+- inbox_->setData(true, InternetModel::Role_CanLazyLoad);
+-
+- root_->appendRow(search_);
+- root_->appendRow(starred_);
+- root_->appendRow(inbox_);
+- }
+-
+- // Don't do anything if the playlists haven't changed since last time.
+- if (!DoPlaylistsDiffer(response)) {
+- qLog(Debug) << "Playlists haven't changed - not updating";
+- return;
+- }
+-
+- // Remove and recreate the other playlists
+- foreach (QStandardItem* item, playlists_) {
+- item->parent()->removeRow(item->row());
+- }
+- playlists_.clear();
+-
+- for (int i=0 ; i<response.playlist_size() ; ++i) {
+- const spotify_pb::Playlists::Playlist& msg = response.playlist(i);
+-
+- QStandardItem* item = new QStandardItem(QStringFromStdString(msg.name()));
+- item->setData(InternetModel::Type_UserPlaylist, InternetModel::Role_Type);
+- item->setData(true, InternetModel::Role_CanLazyLoad);
+- item->setData(msg.index(), Role_UserPlaylistIndex);
+- item->setData(InternetModel::PlayBehaviour_SingleItem, InternetModel::Role_PlayBehaviour);
+-
+- root_->appendRow(item);
+- playlists_ << item;
+-
+- // Preload the playlist items so that drag & drop works immediately.
+- LazyPopulate(item);
+- }
+-}
+-
+-bool SpotifyService::DoPlaylistsDiffer(const spotify_pb::Playlists& response) const {
+- if (playlists_.count() != response.playlist_size()) {
+- return true;
+- }
+-
+- for (int i=0 ; i<response.playlist_size() ; ++i) {
+- const spotify_pb::Playlists::Playlist& msg = response.playlist(i);
+- const QStandardItem* item = PlaylistBySpotifyIndex(msg.index());
+-
+- if (!item) {
+- return true;
+- }
+-
+- if (QStringFromStdString(msg.name()) != item->text()) {
+- return true;
+- }
+- }
+-
+- return false;
+-}
+-
+-void SpotifyService::InboxLoaded(const spotify_pb::LoadPlaylistResponse& response) {
+- FillPlaylist(inbox_, response);
+-}
+-
+-void SpotifyService::StarredLoaded(const spotify_pb::LoadPlaylistResponse& response) {
+- FillPlaylist(starred_, response);
+-}
+-
+-QStandardItem* SpotifyService::PlaylistBySpotifyIndex(int index) const {
+- foreach (QStandardItem* item, playlists_) {
+- if (item->data(Role_UserPlaylistIndex).toInt() == index) {
+- return item;
+- }
+- }
+- return NULL;
+-}
+-
+-void SpotifyService::UserPlaylistLoaded(const spotify_pb::LoadPlaylistResponse& response) {
+- // Find a playlist with this index
+- QStandardItem* item = PlaylistBySpotifyIndex(response.request().user_playlist_index());
+- if (item) {
+- FillPlaylist(item, response);
+- }
+-}
+-
+-void SpotifyService::FillPlaylist(QStandardItem* item, const spotify_pb::LoadPlaylistResponse& response) {
+- qLog(Debug) << "Filling playlist:" << item->text();
+- if (item->hasChildren())
+- item->removeRows(0, item->rowCount());
+-
+- for (int i=0 ; i<response.track_size() ; ++i) {
+- Song song;
+- SongFromProtobuf(response.track(i), &song);
+-
+- QStandardItem* child = new QStandardItem(song.PrettyTitleWithArtist());
+- child->setData(Type_Track, InternetModel::Role_Type);
+- child->setData(QVariant::fromValue(song), InternetModel::Role_SongMetadata);
+- child->setData(InternetModel::PlayBehaviour_SingleItem, InternetModel::Role_PlayBehaviour);
+- child->setData(song.url(), InternetModel::Role_Url);
+-
+- item->appendRow(child);
+- }
+-}
+-
+-void SpotifyService::SongFromProtobuf(const spotify_pb::Track& track, Song* song) {
+- song->set_rating(track.starred() ? 1.0 : 0.0);
+- song->set_title(QStringFromStdString(track.title()));
+- song->set_album(QStringFromStdString(track.album()));
+- song->set_length_nanosec(track.duration_msec() * kNsecPerMsec);
+- song->set_score(track.popularity());
+- song->set_disc(track.disc());
+- song->set_track(track.track());
+- song->set_year(track.year());
+- song->set_url(QUrl(QStringFromStdString(track.uri())));
+- song->set_art_automatic("spotify://image/" + QStringFromStdString(track.album_art_id()));
+-
+- QStringList artists;
+- for (int i=0 ; i<track.artist_size() ; ++i) {
+- artists << QStringFromStdString(track.artist(i));
+- }
+-
+- song->set_artist(artists.join(", "));
+-
+- song->set_filetype(Song::Type_Stream);
+- song->set_valid(true);
+- song->set_directory_id(0);
+- song->set_mtime(0);
+- song->set_ctime(0);
+- song->set_filesize(0);
+-}
+-
+-PlaylistItem::Options SpotifyService::playlistitem_options() const {
+- return PlaylistItem::PauseDisabled | PlaylistItem::SeekDisabled;
+-}
+-
+-void SpotifyService::EnsureMenuCreated() {
+- if (context_menu_)
+- return;
+-
+- context_menu_ = new QMenu;
+-
+- context_menu_->addActions(GetPlaylistActions());
+- context_menu_->addSeparator();
+- context_menu_->addAction(IconLoader::Load("edit-find"), tr("Search Spotify (opens a new tab)..."), this, SLOT(OpenSearchTab()));
+- context_menu_->addSeparator();
+- context_menu_->addAction(IconLoader::Load("configure"), tr("Configure Spotify..."), this, SLOT(ShowConfig()));
+-
+- playlist_context_menu_ = new QMenu;
+- playlist_sync_action_ = playlist_context_menu_->addAction(
+- IconLoader::Load("view-refresh"),
+- tr("Make playlist available offline"),
+- this,
+- SLOT(SyncPlaylist()));
+-}
+-
+-void SpotifyService::SyncPlaylist() {
+- QStandardItem* item = playlist_sync_action_->data().value<QStandardItem*>();
+- Q_ASSERT(item);
+-
+- switch (item->data(InternetModel::Role_Type).toInt()) {
+- case InternetModel::Type_UserPlaylist: {
+- int index = item->data(Role_UserPlaylistIndex).toInt();
+- server_->SyncUserPlaylist(index);
+- playlist_sync_ids_[index] =
+- model()->task_manager()->StartTask(tr("Syncing Spotify playlist"));
+- break;
+- }
+- case Type_InboxPlaylist:
+- server_->SyncInbox();
+- inbox_sync_id_ = model()->task_manager()->StartTask(tr("Syncing Spotify inbox"));
+- break;
+- case Type_StarredPlaylist:
+- server_->SyncStarred();
+- starred_sync_id_ = model()->task_manager()->StartTask(tr("Syncing Spotify starred tracks"));
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void SpotifyService::Search(const QString& text, Playlist* playlist, bool now) {
+- EnsureServerCreated();
+-
+- pending_search_ = text;
+- pending_search_playlist_ = playlist;
+-
+- if (now) {
+- search_delay_->stop();
+- DoSearch();
+- } else {
+- search_delay_->start();
+- }
+-}
+-
+-void SpotifyService::DoSearch() {
+- if (!pending_search_.isEmpty()) {
+- server_->Search(pending_search_, 200);
+- }
+-}
+-
+-void SpotifyService::SearchResults(const spotify_pb::SearchResponse& response) {
+- if (QStringFromStdString(response.request().query()) != pending_search_) {
+- qLog(Debug) << "Old search result for"
+- << QStringFromStdString(response.request().query())
+- << "expecting" << pending_search_;
+- return;
+- }
+- pending_search_.clear();
+-
+- SongList songs;
+- for (int i=0 ; i<response.result_size() ; ++i) {
+- Song song;
+- SongFromProtobuf(response.result(i), &song);
+- songs << song;
+- }
+-
+- qLog(Debug) << "Got" << songs.count() << "results";
+-
+- pending_search_playlist_->Clear();
+- pending_search_playlist_->InsertSongs(songs);
+-
+- const QString did_you_mean = QStringFromStdString(response.did_you_mean());
+- if (!did_you_mean.isEmpty()) {
+- model()->player()->playlists()->playlist_container()->did_you_mean()->Show(did_you_mean);
+- }
+-}
+-
+-SpotifyServer* SpotifyService::server() const {
+- SpotifyService* nonconst_this = const_cast<SpotifyService*>(this);
+-
+- if (QThread::currentThread() != thread()) {
+- metaObject()->invokeMethod(nonconst_this, "EnsureServerCreated",
+- Qt::BlockingQueuedConnection);
+- } else {
+- nonconst_this->EnsureServerCreated();
+- }
+-
+- return server_;
+-}
+-
+-void SpotifyService::ShowContextMenu(const QModelIndex& index, const QPoint& global_pos) {
+- EnsureMenuCreated();
+- QStandardItem* item = model()->itemFromIndex(index);
+- if (item) {
+- int type = item->data(InternetModel::Role_Type).toInt();
+- if (type == Type_InboxPlaylist ||
+- type == Type_StarredPlaylist ||
+- type == InternetModel::Type_UserPlaylist) {
+- playlist_sync_action_->setData(qVariantFromValue(item));
+- playlist_context_menu_->popup(global_pos);
+- return;
+- }
+- }
+-
+- context_menu_->popup(global_pos);
+-}
+-
+-void SpotifyService::OpenSearchTab() {
+- model()->player()->playlists()->New(tr("Search Spotify"), SongList(),
+- SpotifySearchPlaylistType::kName);
+-}
+-
+-void SpotifyService::ItemDoubleClicked(QStandardItem* item) {
+- if (item == search_) {
+- OpenSearchTab();
+- }
+-}
+-
+-void SpotifyService::LoadImage(const QString& id) {
+- EnsureServerCreated();
+- server_->LoadImage(id);
+-}
+-
+-void SpotifyService::SyncPlaylistProgress(
+- const spotify_pb::SyncPlaylistProgress& progress) {
+- qLog(Debug) << "Sync progress:" << progress.sync_progress();
+- int task_id = -1;
+- switch (progress.request().type()) {
+- case spotify_pb::Inbox:
+- task_id = inbox_sync_id_;
+- break;
+- case spotify_pb::Starred:
+- task_id = starred_sync_id_;
+- break;
+- case spotify_pb::UserPlaylist: {
+- QMap<int, int>::const_iterator it = playlist_sync_ids_.constFind(
+- progress.request().user_playlist_index());
+- if (it != playlist_sync_ids_.constEnd()) {
+- task_id = it.value();
+- }
+- break;
+- }
+- default:
+- break;
+- }
+- if (task_id == -1) {
+- qLog(Warning) << "Received sync progress for unknown playlist";
+- return;
+- }
+- model()->task_manager()->SetTaskProgress(task_id, progress.sync_progress(), 100);
+- if (progress.sync_progress() == 100) {
+- model()->task_manager()->SetTaskFinished(task_id);
+- if (progress.request().type() == spotify_pb::UserPlaylist) {
+- playlist_sync_ids_.remove(task_id);
+- }
+- }
+-}
+-
+-void SpotifyService::ShowConfig() {
+- emit OpenSettingsAtPage(SettingsDialog::Page_Spotify);
+-}
+-
+-void SpotifyService::Logout() {
+- delete server_;
+- delete blob_process_;
+- server_ = NULL;
+- blob_process_ = NULL;
+-
+- login_state_ = LoginState_OtherError;
+-
+- QSettings s;
+- s.beginGroup(kSettingsGroup);
+- s.setValue("login_state", login_state_);
+-}
+diff -rauN clementine-1.0.1/src/internet/spotifyservice.h /dev/null
+--- clementine-1.0.1/src/internet/spotifyservice.h 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,147 +0,0 @@
+-#ifndef SPOTIFYSERVICE_H
+-#define SPOTIFYSERVICE_H
+-
+-#include "internetmodel.h"
+-#include "internetservice.h"
+-#include "spotifyblob/common/spotifymessages.pb.h"
+-
+-#include <QProcess>
+-#include <QTimer>
+-
+-#include <boost/shared_ptr.hpp>
+-
+-class Playlist;
+-class SpotifyServer;
+-
+-class QMenu;
+-
+-class SpotifyService : public InternetService {
+- Q_OBJECT
+-
+-public:
+- SpotifyService(InternetModel* parent);
+- ~SpotifyService();
+-
+- enum Type {
+- Type_SearchResults = InternetModel::TypeCount,
+- Type_StarredPlaylist,
+- Type_InboxPlaylist,
+- Type_Track,
+- };
+-
+- enum Role {
+- Role_UserPlaylistIndex = InternetModel::RoleCount,
+- };
+-
+- // Values are persisted - don't change.
+- enum LoginState {
+- LoginState_LoggedIn = 1,
+- LoginState_Banned = 2,
+- LoginState_BadCredentials = 3,
+- LoginState_NoPremium = 4,
+- LoginState_OtherError = 5,
+- LoginState_ReloginFailed = 6
+- };
+-
+- static const char* kServiceName;
+- static const char* kSettingsGroup;
+- static const char* kBlobDownloadUrl;
+- static const int kSearchDelayMsec;
+-
+- void ReloadSettings();
+-
+- QStandardItem* CreateRootItem();
+- void LazyPopulate(QStandardItem* parent);
+- void ShowContextMenu(const QModelIndex& index, const QPoint& global_pos);
+- void ItemDoubleClicked(QStandardItem* item);
+- PlaylistItem::Options playlistitem_options() const;
+-
+- void Logout();
+- void Login(const QString& username, const QString& password);
+- void Search(const QString& text, Playlist* playlist, bool now = false);
+- Q_INVOKABLE void LoadImage(const QString& id);
+-
+- SpotifyServer* server() const;
+-
+- bool IsBlobInstalled() const;
+- void InstallBlob();
+-
+- // Persisted in the settings and updated on each Login().
+- LoginState login_state() const { return login_state_; }
+- bool IsLoggedIn() const { return login_state_ == LoginState_LoggedIn; }
+-
+- static void SongFromProtobuf(const spotify_pb::Track& track, Song* song);
+-
+-signals:
+- void BlobStateChanged();
+- void LoginFinished(bool success);
+- void ImageLoaded(const QString& id, const QImage& image);
+-
+-public slots:
+- void ShowConfig();
+-
+-protected:
+- virtual QModelIndex GetCurrentIndex();
+-
+-private:
+- void StartBlobProcess();
+- void FillPlaylist(QStandardItem* item, const spotify_pb::LoadPlaylistResponse& response);
+- void EnsureMenuCreated();
+-
+- QStandardItem* PlaylistBySpotifyIndex(int index) const;
+- bool DoPlaylistsDiffer(const spotify_pb::Playlists& response) const;
+-
+-private slots:
+- void EnsureServerCreated(const QString& username = QString(),
+- const QString& password = QString());
+- void BlobProcessError(QProcess::ProcessError error);
+- void LoginCompleted(bool success, const QString& error,
+- spotify_pb::LoginResponse_Error error_code);
+- void PlaylistsUpdated(const spotify_pb::Playlists& response);
+- void InboxLoaded(const spotify_pb::LoadPlaylistResponse& response);
+- void StarredLoaded(const spotify_pb::LoadPlaylistResponse& response);
+- void UserPlaylistLoaded(const spotify_pb::LoadPlaylistResponse& response);
+- void SearchResults(const spotify_pb::SearchResponse& response);
+- void SyncPlaylistProgress(const spotify_pb::SyncPlaylistProgress& progress);
+-
+- void OpenSearchTab();
+- void DoSearch();
+-
+- void SyncPlaylist();
+- void BlobDownloadFinished();
+-
+-private:
+- SpotifyServer* server_;
+-
+- QString system_blob_path_;
+- QString local_blob_version_;
+- QString local_blob_path_;
+- QProcess* blob_process_;
+-
+- QStandardItem* root_;
+- QStandardItem* search_;
+- QStandardItem* starred_;
+- QStandardItem* inbox_;
+- QList<QStandardItem*> playlists_;
+-
+- int login_task_id_;
+- QString pending_search_;
+- Playlist* pending_search_playlist_;
+-
+- QMenu* context_menu_;
+- QMenu* playlist_context_menu_;
+- QAction* playlist_sync_action_;
+- QModelIndex context_item_;
+-
+- QTimer* search_delay_;
+-
+- int inbox_sync_id_;
+- int starred_sync_id_;
+- QMap<int, int> playlist_sync_ids_;
+-
+- LoginState login_state_;
+- spotify_pb::Bitrate bitrate_;
+- bool volume_normalisation_;
+-};
+-
+-#endif
+diff -rauN clementine-1.0.1/src/internet/spotifysettingspage.cpp /dev/null
+--- clementine-1.0.1/src/internet/spotifysettingspage.cpp 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,172 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#include "spotifysettingspage.h"
+-
+-#include "spotifyservice.h"
+-#include "internetmodel.h"
+-#include "ui_spotifysettingspage.h"
+-#include "core/network.h"
+-#include "spotifyblob/common/spotifymessages.pb.h"
+-#include "ui/iconloader.h"
+-
+-#include <QMessageBox>
+-#include <QNetworkReply>
+-#include <QNetworkRequest>
+-#include <QSettings>
+-#include <QtDebug>
+-
+-SpotifySettingsPage::SpotifySettingsPage(SettingsDialog* dialog)
+- : SettingsPage(dialog),
+- network_(new NetworkAccessManager(this)),
+- ui_(new Ui_SpotifySettingsPage),
+- service_(InternetModel::Service<SpotifyService>()),
+- validated_(false)
+-{
+- ui_->setupUi(this);
+-
+- setWindowIcon(QIcon(":/icons/48x48/spotify.png"));
+-
+- QFont bold_font(font());
+- bold_font.setBold(true);
+- ui_->blob_status->setFont(bold_font);
+-
+- connect(ui_->download_blob, SIGNAL(clicked()), SLOT(DownloadBlob()));
+- connect(ui_->login, SIGNAL(clicked()), SLOT(Login()));
+- connect(ui_->login_state, SIGNAL(LogoutClicked()), SLOT(Logout()));
+- connect(ui_->login_state, SIGNAL(LoginClicked()), SLOT(Login()));
+-
+- connect(service_, SIGNAL(LoginFinished(bool)), SLOT(LoginFinished(bool)));
+- connect(service_, SIGNAL(BlobStateChanged()), SLOT(BlobStateChanged()));
+-
+- ui_->login_state->AddCredentialField(ui_->username);
+- ui_->login_state->AddCredentialField(ui_->password);
+- ui_->login_state->AddCredentialGroup(ui_->account_group);
+-
+- ui_->bitrate->addItem("96 " + tr("kbps"), spotify_pb::Bitrate96k);
+- ui_->bitrate->addItem("160 " + tr("kbps"), spotify_pb::Bitrate160k);
+- ui_->bitrate->addItem("320 " + tr("kbps"), spotify_pb::Bitrate320k);
+-
+- BlobStateChanged();
+-}
+-
+-SpotifySettingsPage::~SpotifySettingsPage() {
+- delete ui_;
+-}
+-
+-void SpotifySettingsPage::BlobStateChanged() {
+- const bool installed = service_->IsBlobInstalled();
+-
+- ui_->account_group->setEnabled(installed);
+- ui_->blob_status->setText(installed ? tr("Installed") : tr("Not installed"));
+-
+-#ifdef Q_OS_LINUX
+- ui_->download_blob->setEnabled(!installed);
+-#else
+- ui_->download_blob->setEnabled(false);
+-#endif
+-}
+-
+-void SpotifySettingsPage::DownloadBlob() {
+- service_->InstallBlob();
+-}
+-
+-void SpotifySettingsPage::Login() {
+- if (!service_->IsBlobInstalled()) {
+- return;
+- }
+-
+- if (ui_->username->text() == original_username_ &&
+- ui_->password->text() == original_password_ &&
+- service_->login_state() == SpotifyService::LoginState_LoggedIn) {
+- return;
+- }
+-
+- ui_->login_state->SetLoggedIn(LoginStateWidget::LoginInProgress);
+- service_->Login(ui_->username->text(), ui_->password->text());
+-}
+-
+-void SpotifySettingsPage::Load() {
+- QSettings s;
+- s.beginGroup(SpotifyService::kSettingsGroup);
+-
+- original_username_ = s.value("username").toString();
+-
+- ui_->username->setText(original_username_);
+- validated_ = false;
+-
+- ui_->bitrate->setCurrentIndex(ui_->bitrate->findData(
+- s.value("bitrate", spotify_pb::Bitrate320k).toInt()));
+- ui_->volume_normalisation->setChecked(
+- s.value("volume_normalisation", false).toBool());
+-
+- UpdateLoginState();
+-}
+-
+-void SpotifySettingsPage::Save() {
+- QSettings s;
+- s.beginGroup(SpotifyService::kSettingsGroup);
+-
+- s.setValue("username", ui_->username->text());
+- s.setValue("password", ui_->password->text());
+-
+- s.setValue("bitrate", ui_->bitrate->itemData(ui_->bitrate->currentIndex()).toInt());
+- s.setValue("volume_normalisation", ui_->volume_normalisation->isChecked());
+-}
+-
+-void SpotifySettingsPage::LoginFinished(bool success) {
+- validated_ = success;
+-
+- Save();
+- UpdateLoginState();
+-}
+-
+-void SpotifySettingsPage::UpdateLoginState() {
+- const bool logged_in =
+- service_->login_state() == SpotifyService::LoginState_LoggedIn;
+-
+- ui_->login_state->SetLoggedIn(logged_in ? LoginStateWidget::LoggedIn
+- : LoginStateWidget::LoggedOut,
+- ui_->username->text());
+- ui_->login_state->SetAccountTypeVisible(!logged_in);
+-
+- switch (service_->login_state()) {
+- case SpotifyService::LoginState_NoPremium:
+- ui_->login_state->SetAccountTypeText(tr("You do not have a Spotify Premium account."));
+- break;
+-
+- case SpotifyService::LoginState_Banned:
+- case SpotifyService::LoginState_BadCredentials:
+- ui_->login_state->SetAccountTypeText(tr("Your username or password was incorrect."));
+- break;
+-
+- case SpotifyService::LoginState_ReloginFailed:
+- ui_->login_state->SetAccountTypeText(tr("You have been logged out of Spotify, please re-enter your password."));
+- break;
+-
+- default:
+- ui_->login_state->SetAccountTypeText(tr("A Spotify Premium account is required."));
+- break;
+- }
+-}
+-
+-void SpotifySettingsPage::Logout() {
+- service_->Logout();
+- UpdateLoginState();
+-
+- ui_->username->clear();
+-}
+diff -rauN clementine-1.0.1/src/internet/spotifysettingspage.h /dev/null
+--- clementine-1.0.1/src/internet/spotifysettingspage.h 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,59 +0,0 @@
+-/* This file is part of Clementine.
+- Copyright 2010, David Sansome <me@davidsansome.com>
+-
+- Clementine is free software: you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation, either version 3 of the License, or
+- (at your option) any later version.
+-
+- Clementine is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
+-*/
+-
+-#ifndef SPOTIFYSETTINGSPAGE_H
+-#define SPOTIFYSETTINGSPAGE_H
+-
+-#include "ui/settingspage.h"
+-
+-class NetworkAccessManager;
+-class Ui_SpotifySettingsPage;
+-class SpotifyService;
+-
+-class SpotifySettingsPage : public SettingsPage {
+- Q_OBJECT
+-
+-public:
+- SpotifySettingsPage(SettingsDialog* dialog);
+- ~SpotifySettingsPage();
+-
+- void Load();
+- void Save();
+-
+-public slots:
+- void BlobStateChanged();
+- void DownloadBlob();
+-
+-private slots:
+- void Login();
+- void LoginFinished(bool success);
+- void Logout();
+-
+-private:
+- void UpdateLoginState();
+-
+-private:
+- NetworkAccessManager* network_;
+- Ui_SpotifySettingsPage* ui_;
+- SpotifyService* service_;
+-
+- bool validated_;
+- QString original_username_;
+- QString original_password_;
+-};
+-
+-#endif // SPOTIFYSETTINGSPAGE_H
+diff -rauN clementine-1.0.1/src/internet/spotifysettingspage.ui /dev/null
+--- clementine-1.0.1/src/internet/spotifysettingspage.ui 2011-12-02 19:24:44.000000000 -0200
++++ /dev/null 2012-05-28 12:50:04.796939473 -0300
+@@ -1,214 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<ui version="4.0">
+- <class>SpotifySettingsPage</class>
+- <widget class="QWidget" name="SpotifySettingsPage">
+- <property name="geometry">
+- <rect>
+- <x>0</x>
+- <y>0</y>
+- <width>545</width>
+- <height>458</height>
+- </rect>
+- </property>
+- <property name="windowTitle">
+- <string>Spotify</string>
+- </property>
+- <layout class="QVBoxLayout" name="verticalLayout_2">
+- <item>
+- <widget class="LoginStateWidget" name="login_state" native="true"/>
+- </item>
+- <item>
+- <widget class="QGroupBox" name="account_group">
+- <property name="title">
+- <string>Account details</string>
+- </property>
+- <layout class="QVBoxLayout" name="verticalLayout_3">
+- <item>
+- <widget class="QWidget" name="login_container" native="true">
+- <property name="enabled">
+- <bool>true</bool>
+- </property>
+- <layout class="QGridLayout" name="gridLayout">
+- <property name="margin">
+- <number>0</number>
+- </property>
+- <item row="1" column="0">
+- <widget class="QLabel" name="username_label">
+- <property name="text">
+- <string>Username</string>
+- </property>
+- </widget>
+- </item>
+- <item row="1" column="1">
+- <widget class="QLineEdit" name="username"/>
+- </item>
+- <item row="2" column="0">
+- <widget class="QLabel" name="password_label">
+- <property name="text">
+- <string>Password</string>
+- </property>
+- </widget>
+- </item>
+- <item row="2" column="1" colspan="2">
+- <widget class="QLineEdit" name="password">
+- <property name="echoMode">
+- <enum>QLineEdit::Password</enum>
+- </property>
+- </widget>
+- </item>
+- <item row="1" column="2">
+- <widget class="QPushButton" name="login">
+- <property name="text">
+- <string>Login</string>
+- </property>
+- </widget>
+- </item>
+- </layout>
+- </widget>
+- </item>
+- </layout>
+- </widget>
+- </item>
+- <item>
+- <widget class="QGroupBox" name="groupBox_2">
+- <property name="title">
+- <string>Spotify plugin</string>
+- </property>
+- <layout class="QVBoxLayout" name="verticalLayout">
+- <item>
+- <widget class="QLabel" name="label">
+- <property name="text">
+- <string>For licensing reasons Spotify support is in a separate plugin.</string>
+- </property>
+- </widget>
+- </item>
+- <item>
+- <layout class="QHBoxLayout" name="horizontalLayout_2">
+- <item>
+- <widget class="QLabel" name="label_2">
+- <property name="text">
+- <string>Plugin status:</string>
+- </property>
+- </widget>
+- </item>
+- <item>
+- <widget class="QLabel" name="blob_status"/>
+- </item>
+- <item>
+- <spacer name="horizontalSpacer">
+- <property name="orientation">
+- <enum>Qt::Horizontal</enum>
+- </property>
+- <property name="sizeHint" stdset="0">
+- <size>
+- <width>40</width>
+- <height>20</height>
+- </size>
+- </property>
+- </spacer>
+- </item>
+- <item>
+- <widget class="QPushButton" name="download_blob">
+- <property name="text">
+- <string>Download...</string>
+- </property>
+- </widget>
+- </item>
+- </layout>
+- </item>
+- </layout>
+- </widget>
+- </item>
+- <item>
+- <widget class="QGroupBox" name="groupBox">
+- <property name="title">
+- <string>Preferences</string>
+- </property>
+- <layout class="QFormLayout" name="formLayout">
+- <item row="0" column="0">
+- <widget class="QLabel" name="label_4">
+- <property name="text">
+- <string>Preferred bitrate</string>
+- </property>
+- </widget>
+- </item>
+- <item row="0" column="1">
+- <widget class="QComboBox" name="bitrate"/>
+- </item>
+- <item row="1" column="0" colspan="2">
+- <widget class="QCheckBox" name="volume_normalisation">
+- <property name="text">
+- <string>Use volume normalisation</string>
+- </property>
+- </widget>
+- </item>
+- </layout>
+- </widget>
+- </item>
+- <item>
+- <spacer name="verticalSpacer">
+- <property name="orientation">
+- <enum>Qt::Vertical</enum>
+- </property>
+- <property name="sizeHint" stdset="0">
+- <size>
+- <width>20</width>
+- <height>30</height>
+- </size>
+- </property>
+- </spacer>
+- </item>
+- <item>
+- <layout class="QHBoxLayout" name="horizontalLayout_3">
+- <item>
+- <spacer name="horizontalSpacer_2">
+- <property name="orientation">
+- <enum>Qt::Horizontal</enum>
+- </property>
+- <property name="sizeHint" stdset="0">
+- <size>
+- <width>40</width>
+- <height>20</height>
+- </size>
+- </property>
+- </spacer>
+- </item>
+- <item>
+- <widget class="QLabel" name="label_3">
+- <property name="minimumSize">
+- <size>
+- <width>64</width>
+- <height>64</height>
+- </size>
+- </property>
+- <property name="maximumSize">
+- <size>
+- <width>64</width>
+- <height>64</height>
+- </size>
+- </property>
+- <property name="pixmap">
+- <pixmap resource="../../data/data.qrc">:/spotify-core-logo-128x128.png</pixmap>
+- </property>
+- <property name="scaledContents">
+- <bool>true</bool>
+- </property>
+- </widget>
+- </item>
+- </layout>
+- </item>
+- </layout>
+- </widget>
+- <customwidgets>
+- <customwidget>
+- <class>LoginStateWidget</class>
+- <extends>QWidget</extends>
+- <header>widgets/loginstatewidget.h</header>
+- <container>1</container>
+- </customwidget>
+- </customwidgets>
+- <resources>
+- <include location="../../data/data.qrc"/>
+- </resources>
+- <connections/>
+-</ui>
+diff -rauN clementine-1.0.1/src/ui/about.cpp clementine-libre-1.0.1/src/ui/about.cpp
+--- clementine-1.0.1/src/ui/about.cpp 2012-01-22 10:43:26.000000000 -0200
++++ clementine-libre-1.0.1/src/ui/about.cpp 2012-05-28 19:44:38.760244927 -0300
+@@ -79,12 +79,6 @@
+ ret += QString("<br /><a href=\"http://www.smitelli.com/?page=blog&p=54\">Scott Smitelli</a>");
+ ret += QString("<br /><a href=\"http://hyperboleandahalf.blogspot.com\">Allie Brosh</a></p>");
+
+-#ifdef HAVE_SPOTIFY
+- ret += "<p>This product uses SPOTIFY(R) CORE but is not endorsed, certified "
+- "or otherwise approved in any way by Spotify. Spotify is the "
+- "registered trade mark of the Spotify Group.</p>";
+-#endif // HAVE_SPOTIFY
+-
+ return ret;
+ }
+
+diff -rauN clementine-1.0.1/src/ui/settingsdialog.cpp clementine-libre-1.0.1/src/ui/settingsdialog.cpp
+--- clementine-1.0.1/src/ui/settingsdialog.cpp 2011-12-02 19:24:44.000000000 -0200
++++ clementine-libre-1.0.1/src/ui/settingsdialog.cpp 2012-05-28 19:46:49.506369764 -0300
+@@ -55,10 +55,6 @@
+ # include "remote/remotesettingspage.h"
+ #endif
+
+-#ifdef HAVE_SPOTIFY
+-# include "internet/spotifysettingspage.h"
+-#endif
+-
+ #include <QDesktopWidget>
+ #include <QPainter>
+ #include <QPushButton>
+@@ -140,10 +136,6 @@
+
+ AddPage(Page_Grooveshark, new GroovesharkSettingsPage(this), providers);
+
+-#ifdef HAVE_SPOTIFY
+- AddPage(Page_Spotify, new SpotifySettingsPage(this), providers);
+-#endif
+-
+ AddPage(Page_Magnatune, new MagnatuneSettingsPage(this), providers);
+ AddPage(Page_DigitallyImported, new DigitallyImportedSettingsPage(this), providers);
+ AddPage(Page_BackgroundStreams, new BackgroundStreamsSettingsPage(this), providers);
+diff -rauN clementine-1.0.1/src/ui/settingsdialog.h clementine-libre-1.0.1/src/ui/settingsdialog.h
+--- clementine-1.0.1/src/ui/settingsdialog.h 2011-12-02 19:24:44.000000000 -0200
++++ clementine-libre-1.0.1/src/ui/settingsdialog.h 2012-05-28 19:48:55.399426104 -0300
+@@ -65,7 +65,6 @@
+ Page_Library,
+ Page_Lastfm,
+ Page_Grooveshark,
+- Page_Spotify,
+ Page_Magnatune,
+ Page_DigitallyImported,
+ Page_BackgroundStreams,
+--- clementine-1.0.1/src/core/logging.cpp 2011-12-02 19:24:43.000000000 -0200
++++ clementine-libre-1.0.1/src/core/logging.cpp 2012-05-30 03:09:25.554790760 -0300
+@@ -14,10 +14,6 @@
+ limitations under the License.
+ */
+
+-// Note: this file is licensed under the Apache License instead of GPL because
+-// it is used by the Spotify blob which links against libspotify and is not GPL
+-// compatible.
+-
+
+ #include <QCoreApplication>
+ #include <QDateTime>
+--- clementine-1.0.1/src/core/logging.h 2011-12-02 19:24:43.000000000 -0200
++++ clementine-libre-1.0.1/src/core/logging.h 2012-05-30 03:09:44.390404481 -0300
+@@ -14,10 +14,6 @@
+ limitations under the License.
+ */
+
+-// Note: this file is licensed under the Apache License instead of GPL because
+-// it is used by the Spotify blob which links against libspotify and is not GPL
+-// compatible.
+-
+
+ #ifndef LOGGING_H
+ #define LOGGING_H
+--- clementine-1.0.1/src/core/timeconstants.h 2011-12-02 19:24:44.000000000 -0200
++++ clementine-libre-1.0.1/src/core/timeconstants.h 2012-05-30 03:10:10.338953893 -0300
+@@ -14,10 +14,6 @@
+ limitations under the License.
+ */
+
+-// Note: this file is licensed under the Apache License instead of GPL because
+-// it is used by the Spotify blob which links against libspotify and is not GPL
+-// compatible.
+-
+ #ifndef TIMECONSTANTS_H
+ #define TIMECONSTANTS_H
+
diff --git a/libre/clementine-libre/remove-nonfree-references-on-translations.patch b/libre/clementine-libre/remove-nonfree-references-on-translations.patch
new file mode 100644
index 000000000..f80e7f5a7
--- /dev/null
+++ b/libre/clementine-libre/remove-nonfree-references-on-translations.patch
@@ -0,0 +1,20088 @@
+diff -rauN clementine-1.0.1/src/translations/ar.po clementine-libre-1.0.1/src/translations/ar.po
+--- clementine-1.0.1/src/translations/ar.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ar.po 2012-05-28 22:09:35.427205715 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "ابدأ قئمة التشغيل اللتي تعمل حالياً"
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/be.po clementine-libre-1.0.1/src/translations/be.po
+--- clementine-1.0.1/src/translations/be.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/be.po 2012-05-29 13:46:37.876404109 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -311,7 +307,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -584,12 +579,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -815,10 +804,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1025,10 +1010,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Наладзіць калекцыю..."
+@@ -1046,10 +1027,6 @@
+ msgid "Connect device"
+ msgstr "Падлучэнне прылады"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1465,10 +1442,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1481,10 +1454,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Спампаваць каталог Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1634,10 +1603,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1819,10 +1784,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2085,10 +2046,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2117,10 +2074,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2423,7 +2376,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2499,10 +2451,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2759,10 +2707,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2897,7 +2841,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -3004,10 +2947,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3038,7 +2977,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3055,10 +2993,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3449,18 +3383,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3785,30 +3707,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3818,7 +3720,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3904,18 +3805,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4273,10 +4162,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4292,7 +4177,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4516,20 +4400,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4589,7 +4459,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4678,8 +4547,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/bg.po clementine-libre-1.0.1/src/translations/bg.po
+--- clementine-1.0.1/src/translations/bg.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/bg.po 2012-05-29 13:48:35.013070898 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Необходим е Grooveshark Anywhere акаунт"
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Нуждаете се от премиум регистрация в Spotify."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -316,7 +312,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -589,14 +584,6 @@
+ msgid "Always start playing"
+ msgstr "Винаги да се започва възпроизвеждането"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"За да използвате Spotify в Clementine е необходима допълнителна приставка. "
+-"Иската ли да я свалите и инсталирате сега?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Получи се грешка при копирането на iTunes базата данни от утройството"
+@@ -822,10 +809,6 @@
+ msgid "CUE sheet support"
+ msgstr "Поддръжка на CUE листове"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Отказ"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Смени обложката"
+@@ -1038,10 +1021,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Настройване на бързите клавиши"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Настройване на Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Настройване на библиотека..."
+@@ -1060,10 +1039,6 @@
+ msgid "Connect device"
+ msgstr "Свързване на устройство"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Свързване към Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Постоянен битов поток"
+@@ -1480,10 +1455,6 @@
+ msgid "Download this album..."
+ msgstr "Сваляне на този албум..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Изтегляне..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Сваляне на icecast директорията"
+@@ -1496,10 +1467,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Сваляне на каталог Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Изтегляне на приставка за Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Сваляне на метаданни"
+@@ -1654,10 +1621,6 @@
+ msgid "Error deleting songs"
+ msgstr "Грешка при изтриване на песни"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Грешка при изтеглянето на приставка за Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1839,12 +1802,6 @@
+ msgid "Font size"
+ msgstr "Размер на шрифта"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Поради причини, свързани с лицензирането, поддръжката на Spotify е като "
+-"отделна приставка."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Принудително кодиране в моно"
+@@ -2117,10 +2074,6 @@
+ "В динамичен режим новите песни ще бъдат избирани и добавяни към списъка с "
+ "песни всеки път, когато свърши песента."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Входящи"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Включване на обложката в известяването"
+@@ -2149,10 +2102,6 @@
+ msgid "Insert..."
+ msgstr "Вмъкване..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Инсталирани"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Интернет"
+@@ -2459,7 +2408,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2535,10 +2483,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Списъкът с песни да е наличен в режим извън мрежа"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Грешка при отговора"
+@@ -2798,10 +2742,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Недостатъчно съседи"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Не е инсталиран"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Не сте вписан"
+@@ -2936,7 +2876,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Парола"
+@@ -3043,10 +2982,6 @@
+ msgid "Playlists"
+ msgstr "Списъци с песни"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Състояние на приставката:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Поп"
+@@ -3077,7 +3012,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Настройки"
+@@ -3095,10 +3029,6 @@
+ msgid "Preferred audio format"
+ msgstr "Предпочитан аудио формат"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Предпочитан битов поток"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Предпочитан формат"
+@@ -3489,18 +3419,6 @@
+ msgid "Search Magnatune"
+ msgstr "Търси в Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Търсене в Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Търсене в Spotify (отваря нов подпрозорец)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Търсене в Spotify (отваря нов подпрозорец)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Търсене във всички източници (библиотека, интернет услуги, ...)"
+@@ -3826,30 +3744,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Грешка в вписване в Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Приставка за Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Приставката за Spotify не е инсталирана"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Стандартно"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Със звезда"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Стартиране на текущо възпроизвеждания списък с песни"
+@@ -3859,7 +3757,6 @@
+ msgstr "Начало на прекодирането"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Започнете да пишете в полето за търсее за да намерите музика на %1."
+@@ -3945,18 +3842,6 @@
+ msgid "Switch provider"
+ msgstr "Смяна на доставчика"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Синхронизиране на входящата кутия на Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Синхронизиране на списъка с песни от Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Синхронизиране на оценените песни от Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Табовете отгоре"
+@@ -4342,10 +4227,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Използване на системните настройки за сървър-посредник"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Използване на нормализация на звука"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Използван"
+@@ -4361,7 +4242,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Потребителско име"
+@@ -4599,20 +4479,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Нямате Grooveshark Anywhere акаунт."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Нямате Spotify Premium акаунт."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr "Отписан сте от Spotify, моля въведете отново паролата си в Настройки."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Изписан сте от Spotify, моля въведете паролата си отново"
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Харесвате тази песен"
+@@ -4680,7 +4546,6 @@
+ msgstr "Вашите слушания: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Вашето потребителско име или парола не съвпада."
+
+@@ -4769,8 +4634,6 @@
+ msgstr "в последните"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "килобита/сек"
+
+diff -rauN clementine-1.0.1/src/translations/bn.po clementine-libre-1.0.1/src/translations/bn.po
+--- clementine-1.0.1/src/translations/bn.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/bn.po 2012-05-29 13:50:28.419737684 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "এক্ টি স্পটীফাই অ্যাকাউন্ট প্রয়োজন"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -311,7 +307,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -584,14 +579,6 @@
+ msgid "Always start playing"
+ msgstr "স্থায়ী ভাবে সঙ্গীত চালু রাখুন"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"এক্ টি প্লাগ ইন প্রয়োজন। আপনি কি প্লাগ ইন টি ডাউনলোড করে ইন্সটল করতে ইচ্ছুক "
+-"?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "iTune ডাটাবেস কপি করায় ত্রুটি র জন্য দুঃখিত ।"
+@@ -817,10 +804,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1021,10 +1004,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1042,10 +1021,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1455,10 +1430,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1471,10 +1442,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1624,10 +1591,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1809,10 +1772,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2075,10 +2034,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2107,10 +2062,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2413,7 +2364,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2489,10 +2439,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2749,10 +2695,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2887,7 +2829,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2994,10 +2935,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3028,7 +2965,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3045,10 +2981,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3439,18 +3371,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3775,30 +3695,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3808,7 +3708,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3894,18 +3793,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4263,10 +4150,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4282,7 +4165,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4506,20 +4388,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4579,7 +4447,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4668,8 +4535,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/br.po clementine-libre-1.0.1/src/translations/br.po
+--- clementine-1.0.1/src/translations/br.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/br.po 2012-05-29 13:51:23.959737744 -0400
+@@ -252,10 +252,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Ur c'hont Grooveshark a zo dleet"
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Ret eo deoc'h kaout ur kont Spotify Premium."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -314,7 +310,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -588,14 +583,6 @@
+ msgid "Always start playing"
+ msgstr "Atav kregin da lenn"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Un enlugellad a zo ezhomm a-benn implij Spotify e-barzh Clementine. C'hoant "
+-"ho peus pellgargañ ha staliañ anezhañ bremañ ?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -824,10 +811,6 @@
+ msgid "CUE sheet support"
+ msgstr "Kemer e kont ar CUE sheet"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Nullañ"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Kemmañ golo an albom"
+@@ -1040,10 +1023,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Kefluniañ ar Berradennoù"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Kefluniañ Spotify"
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Kefluniañ al levraoueg..."
+@@ -1061,10 +1040,6 @@
+ msgid "Connect device"
+ msgstr "An drobarzhell a zo o kennaskañ"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "O kennaskañ da Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "CBR"
+@@ -1480,10 +1455,6 @@
+ msgid "Download this album..."
+ msgstr "Pellgkargañ an albom..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Pellgargañ"
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "O pellgargañ katalog Icecast"
+@@ -1496,10 +1467,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "O pellgargañ katalog Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "O pellgargañ enlugellad Spotify..."
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "O pellgargañ metadaveennoù"
+@@ -1653,10 +1620,6 @@
+ msgid "Error deleting songs"
+ msgstr "Ur gudenn a zo savet e-kerzh dilamidigezh an tonioù"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Ur gudenn a zo savet o pellgargañ enlugellad Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1841,10 +1804,6 @@
+ msgid "Font size"
+ msgstr "Ment an nodrezh"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Evit abegoù lañsav, meret eo Spotify gant un enlugellad distag."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forsiñ an enkodiñ mono"
+@@ -2119,10 +2078,6 @@
+ "E stumm dinamek, roudennoù nevez a vo choazet hag ouzhpennet e fin al roll "
+ "c'hoari bep taol ma vo echu gant un ton."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Boest degemer"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Diskouez an albom er gemenadenn"
+@@ -2151,10 +2106,6 @@
+ msgid "Insert..."
+ msgstr "Enlakaat..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Staliaet"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2458,7 +2409,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2534,10 +2484,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Profil pennañ (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Lakaat ar roll c'hoari da vezañ lennus ezlinenn"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Respont furmed fall"
+@@ -2798,10 +2744,6 @@
+ msgid "Not enough neighbors"
+ msgstr "N'eus ket trawalc'h a amezeizen"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "N'eo ket staliet"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "N'eo ket kannasket"
+@@ -2936,7 +2878,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Tremenger"
+@@ -3043,10 +2984,6 @@
+ msgid "Playlists"
+ msgstr "Rollioù c'hoari"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Stad an enlugellad"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3077,7 +3014,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Gwellvezioù"
+@@ -3094,10 +3030,6 @@
+ msgid "Preferred audio format"
+ msgstr "Stumm audio gwellañ"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Bitrate gwellañ"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Stumm gwellañ"
+@@ -3488,18 +3420,6 @@
+ msgid "Search Magnatune"
+ msgstr "Klask Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Klask Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Klask Spotify (digeriñ un ivinel nevez)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Klask Spotify (digeriñ un ivinel nevez)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Klask e-touez holl o mammennoù (levraoueg, internet, servijoù...)"
+@@ -3824,30 +3744,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Kudenn kennaskañ gant Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Enlugellad Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Enlugellad Spotify n'eo ket staliet"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Boaz"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Gwellañ"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Kregiñ ar roll c'hoari"
+@@ -3857,7 +3757,6 @@
+ msgstr "Kregin an transkodiñ"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Kregin da skrivañ er boest klask a-us evit kavout sonerezh war %1"
+@@ -3943,18 +3842,6 @@
+ msgid "Switch provider"
+ msgstr "Cheñch servij"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Sinkronizadur ar boest degemer Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Sinkronizadur ar roll c'hoari Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Sinkronizadur tonioù gwellañ Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Ivinelloù a-us"
+@@ -4336,10 +4223,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Implij dibarzhioù dre ziouer ar proksi"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Implij normalizadur an ampled"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Implijet"
+@@ -4355,7 +4238,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Lezanv"
+@@ -4592,22 +4474,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "N'ho peus ket a kont Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "N'ho peus ket a kont Spotify Premium."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Digevreet oc'h bet eus Spotify, adskrivit ho ger-tremen e-barzh prenestr ar "
+-"c'hefluniadoù."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Digevreet oc'h bet eus Spotify, adskrivit ho ger-tremen mar plij."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Karout a rit ar roadenn-mañ"
+@@ -4675,7 +4541,6 @@
+ msgstr "Ho scrobble: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Ho anv implijer pe ho tremenger a zo direizh."
+
+@@ -4764,8 +4629,6 @@
+ msgstr "etrezek ar re ziwezhañ"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbde"
+
+diff -rauN clementine-1.0.1/src/translations/bs.po clementine-libre-1.0.1/src/translations/bs.po
+--- clementine-1.0.1/src/translations/bs.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/bs.po 2012-05-29 13:52:24.389737809 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -311,7 +307,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -584,12 +579,6 @@
+ msgid "Always start playing"
+ msgstr "Uvjek počni sa slušanjem"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Desila se greška prilikom kopiranja iTunes baze podataka sa uređaja"
+@@ -815,10 +804,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE lista podrška"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Promjeni omot"
+@@ -1029,10 +1014,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Podesi prečice"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Podesi biblioteku..."
+@@ -1050,10 +1031,6 @@
+ msgid "Connect device"
+ msgstr "Spoji uređaj"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1467,10 +1444,6 @@
+ msgid "Download this album..."
+ msgstr "Preuzmi ovaj album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Preuzimam Icecast fasciklu"
+@@ -1483,10 +1456,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Preuzimam Magnatune katalog"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1636,10 +1605,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1821,10 +1786,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2087,10 +2048,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2119,10 +2076,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2425,7 +2378,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2501,10 +2453,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2761,10 +2709,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2899,7 +2843,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -3006,10 +2949,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3040,7 +2979,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3057,10 +2995,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3451,18 +3385,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3787,30 +3709,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3820,7 +3722,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3906,18 +3807,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4275,10 +4164,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4294,7 +4179,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4518,20 +4402,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4591,7 +4461,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4680,8 +4549,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/ca.po clementine-libre-1.0.1/src/translations/ca.po
+--- clementine-1.0.1/src/translations/ca.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ca.po 2012-05-29 14:27:32.546406760 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Us cal un compte Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Cal un compte Premium de Spotify"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -318,7 +314,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -591,14 +586,6 @@
+ msgid "Always start playing"
+ msgstr "Començar sempre reproduint"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Cal un connector addicional per utilitzar Spotify a Clementine. Voleu "
+-"descarregar-lo i instaŀlar-lo ara?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -827,10 +814,6 @@
+ msgid "CUE sheet support"
+ msgstr "Suport per a CUE sheet"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Canceŀla"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Canviar la imatge de la portada"
+@@ -1043,10 +1026,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configura dreceres"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Configura l'Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configura la llibreria..."
+@@ -1064,10 +1043,6 @@
+ msgid "Connect device"
+ msgstr "Connecta el dispositiu"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Connectant amb Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Taxa de bits constant"
+@@ -1483,10 +1458,6 @@
+ msgid "Download this album..."
+ msgstr "Descarrega aquest àlbum..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Descarrega..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Descarregant el directori d'Icecast"
+@@ -1499,10 +1470,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Descarregant el catàleg de Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Descarregant el connector d'Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Descarregant metadades"
+@@ -1654,10 +1621,6 @@
+ msgid "Error deleting songs"
+ msgstr "Error esborrant cançons"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1839,10 +1802,6 @@
+ msgid "Font size"
+ msgstr "Mida de la font"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Força la codificació mono"
+@@ -2110,10 +2069,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Safata d'entrafa"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Incloure la caràtula a la notificació"
+@@ -2142,10 +2097,6 @@
+ msgid "Insert..."
+ msgstr "Insereix..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Instaŀlat"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2450,7 +2401,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2526,10 +2476,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Resposta malformada"
+@@ -2788,10 +2734,6 @@
+ msgid "Not enough neighbors"
+ msgstr "No hi ha prous veïns"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "No heu iniciat la sessió"
+@@ -2926,7 +2868,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Contrasenya"
+@@ -3033,10 +2974,6 @@
+ msgid "Playlists"
+ msgstr "Llistes de reproducció"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3067,7 +3004,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Preferències"
+@@ -3084,10 +3020,6 @@
+ msgid "Preferred audio format"
+ msgstr "Format d'àudio preferit"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Format preferit"
+@@ -3478,18 +3410,6 @@
+ msgid "Search Magnatune"
+ msgstr "Cercar a Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3814,30 +3734,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Error en iniciar sessió a Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Connector d'Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Connector d'Spotify no instaŀlat"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Estàndard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Destacat"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Inicia la llista de reproducció que s'està reproduint"
+@@ -3847,7 +3747,6 @@
+ msgstr "Inicia transcodificació"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3933,18 +3832,6 @@
+ msgid "Switch provider"
+ msgstr "Canvia de proveïdor"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4314,10 +4201,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Usat"
+@@ -4333,7 +4216,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Nom d'usuari"
+@@ -4560,20 +4442,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4636,7 +4504,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4725,8 +4592,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/cs.po clementine-libre-1.0.1/src/translations/cs.po
+--- clementine-1.0.1/src/translations/cs.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/cs.po 2012-05-29 14:53:26.439741827 -0400
+@@ -257,10 +257,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Je požadován účet Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Je požadován účet Spotify Premium."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -321,7 +317,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -594,14 +589,6 @@
+ msgid "Always start playing"
+ msgstr "Vždy začít přehrávat"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Pro používání Spotify v Clementine je vyžadován přídavný modul. Chcete jej "
+-"stáhnout a nainstalovat nyní?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Při kopírování databáze iTunes ze zařízení nastala chyba"
+@@ -827,10 +814,6 @@
+ msgid "CUE sheet support"
+ msgstr "Podpora pro list CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Zrušit"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Změnit obal"
+@@ -1041,10 +1024,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Nastavit klávesové zkratky"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Nastavit Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Nastavit sbírku..."
+@@ -1062,10 +1041,6 @@
+ msgid "Connect device"
+ msgstr "Připojit zařízení"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Připojuje se k Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Stálý datový tok"
+@@ -1481,10 +1456,6 @@
+ msgid "Download this album..."
+ msgstr "Stáhnout toto album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Stáhnout..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Stahuje se adresář Icecast"
+@@ -1497,10 +1468,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Stahuje se katalog Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Stahuje se přídavný modul Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Stahují se metadata"
+@@ -1653,10 +1620,6 @@
+ msgid "Error deleting songs"
+ msgstr "Chyba při mazání písní"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Chyba při stahování přídavného modulu Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1838,11 +1801,6 @@
+ msgid "Font size"
+ msgstr "Velikost písma"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Z licenčních důvodů je podpora pro Spotify v odděleném přídavném modulu"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Vynutit monokódování"
+@@ -2115,10 +2073,6 @@
+ "V dynamickém režimu budou nové skladby vybrány a přidány do seznamu skladeb "
+ "pokaždé, když píseň skončí."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Doručená pošta"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Zahrnout obal alba do oznámení"
+@@ -2147,10 +2101,6 @@
+ msgid "Insert..."
+ msgstr "Vložit..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Nainstalován"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2456,7 +2406,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2532,12 +2481,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Hlavní profil"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-"Zajistit, že seznam skladeb bude dostupný, i když počítač nebude připojen k "
+-"internetu"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Poškozená odpověď"
+@@ -2796,10 +2739,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Nedostatek sousedů"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Nenainstalován"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Nepřihlášen"
+@@ -2934,7 +2873,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Heslo"
+@@ -3041,10 +2979,6 @@
+ msgid "Playlists"
+ msgstr "Seznamy skladeb"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Stav přídavného modulu:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3075,7 +3009,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Nastavení"
+@@ -3092,10 +3025,6 @@
+ msgid "Preferred audio format"
+ msgstr "Upřednostňovaný zvukový formát"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Upřednostňovaný datový tok"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Upřednostňovaný formát"
+@@ -3486,18 +3415,6 @@
+ msgid "Search Magnatune"
+ msgstr "Hledat na Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Hledat v Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Hledat v Spotify (otevře novou kartu)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Hledat v Spotify (otevře novou kartu)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Hledat ve všech vašich zdrojích (sbírka, internetové služby, ...)"
+@@ -3822,30 +3739,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Chyba přihlášení k Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Přídavný modul Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Přídavný modul Spotify není nainstalován"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Obvyklý"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "S hvězdičkou"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Přehrát současnou skladbu v seznamu skladeb"
+@@ -3855,7 +3752,6 @@
+ msgstr "Převést"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Začněte psát ve vyhledávacím poli pro nalezení hudby na %1."
+@@ -3941,18 +3837,6 @@
+ msgid "Switch provider"
+ msgstr "Přepnout poskytovatele"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Synchronizuje se schránka Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Synchronizuje se seznam skladeb Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Synchronizují se skladby označené hvězdičkou na Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Karty nahoře"
+@@ -4329,10 +4213,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Použít systémové nastavení proxy"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Použít normalizaci hlasitosti"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Použito"
+@@ -4348,7 +4228,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Uživatelské jméno"
+@@ -4584,22 +4463,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Nemáte účet Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Nemáte účet Spotify Premium."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Byl jste odhlášen ze Spotify. zadejte, prosím, své heslo v dialogu pro "
+-"nastavení znovu."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Byl jste odhlášen ze Spotify. zadejte, prosím, své heslo znovu."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Tato skladba patří mezi vaše oblíbené"
+@@ -4667,7 +4530,6 @@
+ msgstr "Váš počet přehrání: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Uživatelské jméno nebo heslo bylo nesprávné."
+
+@@ -4756,8 +4618,6 @@
+ msgstr "za posledních"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kb/s"
+
+diff -rauN clementine-1.0.1/src/translations/cy.po clementine-libre-1.0.1/src/translations/cy.po
+--- clementine-1.0.1/src/translations/cy.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/cy.po 2012-05-29 14:57:59.696408611 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/da.po clementine-libre-1.0.1/src/translations/da.po
+--- clementine-1.0.1/src/translations/da.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/da.po 2012-05-29 14:59:00.383075364 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "En Spotify Premium konto er påkrævet."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -315,7 +311,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -588,12 +583,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -819,10 +808,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1023,10 +1008,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Konfigurér Genveje"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Indstil bibliotek..."
+@@ -1044,10 +1025,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1457,10 +1434,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1473,10 +1446,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1628,10 +1597,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1813,10 +1778,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2079,10 +2040,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Inkludér albumkunst i bekendtgørelsen"
+@@ -2111,10 +2068,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2417,7 +2370,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2493,10 +2445,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Misdannet svar"
+@@ -2753,10 +2701,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Ikke nok naboer"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2891,7 +2835,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2998,10 +2941,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3032,7 +2971,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3049,10 +2987,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3443,18 +3377,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3781,30 +3703,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Start den spilleliste der afspiller nu"
+@@ -3814,7 +3716,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3900,18 +3801,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4270,10 +4159,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4289,7 +4174,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4513,20 +4397,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4586,7 +4456,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4675,8 +4544,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/de.po clementine-libre-1.0.1/src/translations/de.po
+--- clementine-1.0.1/src/translations/de.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/de.po 2012-05-29 15:03:39.899742271 -0400
+@@ -258,10 +258,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Ein Grooveshark Anywhere-Konto wird benötigt."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Ein Spotify Premium-Konto ist erforderlich."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -323,7 +319,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -597,14 +592,6 @@
+ msgid "Always start playing"
+ msgstr "Immer mit der Wiedergabe beginnen"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Ein zusätzlich Plugin ist benötigt, um Spotify in Clementine zu benutzen. "
+-"Möchten Sie es jetzt herunterladen und installieren?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -832,10 +819,6 @@
+ msgid "CUE sheet support"
+ msgstr "Unterstützung von Cuesheets"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Abbrechen"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Cover ändern"
+@@ -1048,10 +1031,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Tastenkürzel einrichten"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Spotify konfigurieren..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Musiksammlung einrichten..."
+@@ -1069,10 +1048,6 @@
+ msgid "Connect device"
+ msgstr "Gerät verbinden"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Verbindung mit Spotify wird aufgebaut"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Konstante Bitrate"
+@@ -1488,10 +1463,6 @@
+ msgid "Download this album..."
+ msgstr "Album herunterladen..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Herunterladen..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Lade Icecast-Verzeichnis herunter"
+@@ -1504,10 +1475,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Magnatune-Katalog wird geladen"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Spotify-Plugin wird heruntergeladen"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Metadaten werden heruntergeladen"
+@@ -1662,10 +1629,6 @@
+ msgid "Error deleting songs"
+ msgstr "Fehler beim Löschen der Titel"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Fehler beim herunterladen von Spotify-Plugin"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1847,12 +1810,6 @@
+ msgid "Font size"
+ msgstr "Schriftgröße"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Aus lizenzrechtlichen Gründen, ist die Spotify-Unterstützung in einem "
+-"Separaten Plugin enthalten."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Mono Encoding erzwingen"
+@@ -2125,10 +2082,6 @@
+ "Im dynamischen Modus werden neue Stücke automatisch ausgewählt und an die "
+ "Wiedergabeliste angehängt, sobald ein Titel zu Ende ist."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Posteingang"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Cover in der Benachrichtigung anzeigen"
+@@ -2157,10 +2110,6 @@
+ msgid "Insert..."
+ msgstr "Einfügen..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Installiert"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2465,7 +2414,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2541,10 +2489,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Standard - Profil (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Wiedergabeliste für die Offlinebenutzung verfügbar machen"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Ungültige Antwort"
+@@ -2803,10 +2747,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Nicht genug Nachbarn"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Nicht installiert"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Nicht angemeldet"
+@@ -2941,7 +2881,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Passwort"
+@@ -3049,10 +2988,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Plugin-Status"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3083,7 +3018,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Einstellungen"
+@@ -3100,10 +3034,6 @@
+ msgid "Preferred audio format"
+ msgstr "Bevorzugtes Dateiformat"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Bevorzugte Bitrate"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Bevorzugtes Format"
+@@ -3494,18 +3424,6 @@
+ msgid "Search Magnatune"
+ msgstr "Magnatune durchsuchen"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Spotify-Suche"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Spotify-Suche (öffnet im neuen Tab)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Spotify-Suche (öffnet im neuen Tab)"
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Alle Quellen durchsuchen (Sammlung, Internetdienste, …)"
+@@ -3832,30 +3750,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Fehler beim anmelden bei Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify-Plugin"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify-Plugin nicht installiert"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Markiert"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Spiele das aktuelle Stück in der Wiedergabeliste ab"
+@@ -3865,7 +3763,6 @@
+ msgstr "Konvertieren"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Benutzen Sie die Suchleiste um Musik auf %1 zu finden."
+@@ -3951,18 +3848,6 @@
+ msgid "Switch provider"
+ msgstr "Anbieter wechseln"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Synchronisiere Spotify Postfach"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Synchronisiere Spotify Wiedergabeliste"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Synchronisiere markierte Stücke von Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Tabs oben"
+@@ -4345,10 +4230,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Verwende Proxy-Einstellungen des Betriebssystems"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Belegt"
+@@ -4364,7 +4245,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Benutzername"
+@@ -4602,20 +4482,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Sie haben kein Grooveshark Anywhere-Konto."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Sie haben kein Spotify Premium-Konto."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Sie lieben dieses Stück"
+@@ -4683,7 +4549,6 @@
+ msgstr "Ihre Scrobbles: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Ihr Benutzername oder Kennwort sind ungültig."
+
+@@ -4772,8 +4637,6 @@
+ msgstr "in den letzten"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "Kb/s"
+
+diff -rauN clementine-1.0.1/src/translations/el.po clementine-libre-1.0.1/src/translations/el.po
+--- clementine-1.0.1/src/translations/el.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/el.po 2012-05-29 15:04:37.229742284 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Απαιτείτε ένας λογαρισμός Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Απαιτείται premium λογαριασμός Spotify."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -318,7 +314,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -591,14 +586,6 @@
+ msgid "Always start playing"
+ msgstr "Έναρξη αναπαραγωγής πάντα"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Απαιτείται ένα πρόσθετο για να χρησιμοποιήσετε το Spotify. Θέλετε να το "
+-"κατεβάσετε και να το εγκαταστήσετε τώρα;"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -827,10 +814,6 @@
+ msgid "CUE sheet support"
+ msgstr "Υποστήριξη φύλλων CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Άκυρο"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Αλλαγή εξώφυλλου καλλιτέχνη"
+@@ -1046,10 +1029,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Ρύθμιση συντομεύσεων"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Ρύθμιση του Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Παραμετροποίηση της βιβλιοθήκης"
+@@ -1069,10 +1048,6 @@
+ msgid "Connect device"
+ msgstr "Σύνδεση συσκευής"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Σύνδεση στο Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Σταθερός ρυθμός bit"
+@@ -1488,10 +1463,6 @@
+ msgid "Download this album..."
+ msgstr "Μεταφόρτωση αυτού του άλμπουμ..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Λήψη..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Μεταφόρτωση καταλόγου Icecast"
+@@ -1504,10 +1475,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Μεταφόρτωση καταλόγου του Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Λήψη πρόσθετου για το Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Λήψη μεταδεδομένων"
+@@ -1664,10 +1631,6 @@
+ msgid "Error deleting songs"
+ msgstr "Σφάλμα κατά την διαγραφή τραγουδιών"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Σφάλμα στην λήψη του πρόσθετου του Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1850,11 +1813,6 @@
+ msgid "Font size"
+ msgstr "Μέγεθος γραμματοσειράς"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Για λόγους αδειοδότησης η υποστήριξη για το Spotify γίνεται ξεχωριστά."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Επιβολή κωδικοποίησης mono"
+@@ -2129,10 +2087,6 @@
+ "Στην δυναμική λειτουργία νέα κομμάτια θα επιλέγονται και τοποθετούνται στην "
+ "λίστα κάθε φορά που ένα τραγούδι τελειώνει."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Εισερχόμενα"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Εμφάνιση του άλμπουμ (εικόνα) στην ειδοποίηση"
+@@ -2163,10 +2117,6 @@
+ msgid "Insert..."
+ msgstr "Εισαγωγή..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Εγκατεστημένο"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Διαδίκτυο"
+@@ -2471,7 +2421,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2547,10 +2496,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Κύριο προφίλ (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Η λίστα να είναι διαθέσιμη και εκτός σύνδεσης"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Παραμορφωμένη απάντηση"
+@@ -2812,10 +2757,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Δεν υπάρχουν αρκετοί γείτονες"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Μη εγκατεστημένο"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Δεν είστε συνδεδεμένος"
+@@ -2950,7 +2891,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Συνθηματικό"
+@@ -3057,10 +2997,6 @@
+ msgid "Playlists"
+ msgstr "Λίστες"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Κατάσταση πρόσθετου:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3091,7 +3027,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Προτιμήσεις"
+@@ -3110,10 +3045,6 @@
+ msgid "Preferred audio format"
+ msgstr "Προτιμώμενη ηχητική διαμόρφωση"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Προτιμώμενος ρυθμός bit "
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Προτιμώμενη μορφή"
+@@ -3504,18 +3435,6 @@
+ msgid "Search Magnatune"
+ msgstr "Εύρεση στο Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Εύρεση Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Εύρεση Spotify (άνοιγμα νέας πινακίδας)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Εύρεση Spotify (άνοιγμα νέας πινακίδας)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Αναζήτηση σε όλες τις πηγές σας (βιβλιοθήκη, υπηρεσίες internet, ...)"
+@@ -3843,30 +3762,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Σφάλμα εισόδου στο Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Πρόσθετο Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Το πρόσθετο του Spotify μη εγκατεστημένο"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Κανονικό"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Με αστέρι"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Εκκίνηση της λίστας αναπαραγωγής που παίζει τώρα"
+@@ -3876,7 +3775,6 @@
+ msgstr "Εκκίνηση επανακωδικοποίησης"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3964,18 +3862,6 @@
+ msgid "Switch provider"
+ msgstr "Αλλαγή παροχέα"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Συγχρονισμός εισερχομένων του Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Συγχρονισμός λίστας του Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Συγχρονισμός κομματιών επισημασμένων με αστέρι του Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Καρτέλες στην κορυφή"
+@@ -4361,10 +4247,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Χρήση ρυθμίσεων του διαμεσολαβητή του συστήματος"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Χρήση κανονικοποίησης ήχου"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Σε χρήση"
+@@ -4380,7 +4262,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Όνομα χρήστη"
+@@ -4617,22 +4498,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Δεν έχετε λογαριασμό στο GrooveShark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Δεν έχετε Premium λογαριασμό στο Spotify."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Έχετε εξέλθει από το Spotify, παρακαλώ εισάγετε πάλι τον κωδικό σας στις "
+-"ρυθμίσεις."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Έχετε εξέλθει από το Spotify, παρακαλώ εισάγετε πάλι τον κωδικό σας."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Λατρεύεις αυτό το κομμάτι"
+@@ -4699,7 +4564,6 @@
+ msgstr "Τα scrobbles σου: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Το όνομα χρήστη ή το συνθηματικό ήταν λανθασμένο."
+
+@@ -4788,8 +4652,6 @@
+ msgstr "εντός των τελευταίων"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/en_CA.po clementine-libre-1.0.1/src/translations/en_CA.po
+--- clementine-1.0.1/src/translations/en_CA.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/en_CA.po 2012-05-29 15:05:50.036409383 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configure Shortcuts"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configure library..."
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1452,10 +1429,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1468,10 +1441,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Downloading Magnatune catalogue"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1622,10 +1591,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1807,10 +1772,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2073,10 +2034,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Include album art in the notification"
+@@ -2105,10 +2062,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2411,7 +2364,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2487,10 +2439,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Malformed response"
+@@ -2748,10 +2696,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Not enough neighbours"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2886,7 +2830,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2993,10 +2936,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3027,7 +2966,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3044,10 +2982,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3438,18 +3372,6 @@
+ msgid "Search Magnatune"
+ msgstr "Search Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3774,30 +3696,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Start the playlist currently playing"
+@@ -3807,7 +3709,6 @@
+ msgstr "Start transcoding"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3893,18 +3794,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4262,10 +4151,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4281,7 +4166,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4505,20 +4389,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4578,7 +4448,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4667,8 +4536,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/en_GB.po clementine-libre-1.0.1/src/translations/en_GB.po
+--- clementine-1.0.1/src/translations/en_GB.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/en_GB.po 2012-05-29 15:06:41.279742544 -0400
+@@ -252,10 +252,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "A Spotify Premium account is required."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -315,7 +311,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -588,14 +583,6 @@
+ msgid "Always start playing"
+ msgstr "Always start playing"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "An error occurred copying the iTunes database from the device"
+@@ -821,10 +808,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE sheet support"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Cancel"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Change cover art"
+@@ -1026,10 +1009,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configure library..."
+@@ -1047,10 +1026,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1460,10 +1435,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1476,10 +1447,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1630,10 +1597,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1815,10 +1778,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2081,10 +2040,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Include album art in the notification"
+@@ -2113,10 +2068,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2419,7 +2370,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2495,10 +2445,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Malformed response"
+@@ -2755,10 +2701,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Not enough neighbours"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2893,7 +2835,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -3000,10 +2941,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3034,7 +2971,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3051,10 +2987,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3445,18 +3377,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3781,30 +3701,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Start the playlist currently playing"
+@@ -3814,7 +3714,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3900,18 +3799,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4269,10 +4156,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4288,7 +4171,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4512,20 +4394,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4585,7 +4453,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4674,8 +4541,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/en.po clementine-libre-1.0.1/src/translations/en.po
+--- clementine-1.0.1/src/translations/en.po 2011-12-02 16:24:44.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/en.po 2012-05-29 15:04:56.353075508 -0400
+@@ -178,9 +178,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+ "There are different types of smart playlist that offer different ways of "
+@@ -408,11 +405,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+
+@@ -720,9 +712,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ msgid "Configure library..."
+ msgstr ""
+
+@@ -735,9 +724,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ msgid "Constant bitrate"
+ msgstr ""
+
+@@ -1045,9 +1031,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ msgid "Downloading metadata"
+ msgstr ""
+
+@@ -1152,9 +1135,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #, qt-format
+ msgid "Error loading %1"
+ msgstr ""
+@@ -1280,9 +1260,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ msgid "Force mono encoding"
+ msgstr ""
+
+@@ -2409,15 +2386,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-msgid "Search Spotify"
+-msgstr ""
+-
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ msgid "Search for album covers..."
+ msgstr ""
+
+@@ -2647,18 +2615,6 @@
+ msgid "Speex"
+ msgstr ""
+
+-msgid "Spotify"
+-msgstr ""
+-
+-msgid "Spotify login error"
+-msgstr ""
+-
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ msgid "Standard"
+ msgstr ""
+
+@@ -2674,9 +2630,6 @@
+ msgid "Start typing in the search box above to find music on Grooveshark."
+ msgstr ""
+
+-msgid "Start typing in the search box above to find music on Spotify."
+-msgstr ""
+-
+ #, qt-format
+ msgid "Starting %1"
+ msgstr ""
+@@ -2731,15 +2684,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ msgid "Tabs on top"
+ msgstr ""
+
+@@ -3180,9 +3124,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+ msgid ""
+ "You have selected a Premium-only audio type but do not have any account "
+ "details entered"
+diff -rauN clementine-1.0.1/src/translations/eo.po clementine-libre-1.0.1/src/translations/eo.po
+--- clementine-1.0.1/src/translations/eo.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/eo.po 2012-05-29 15:18:59.993076631 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Eraro okazis dum kopiado de la iTunes-datumbazo el aparato"
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/es.po clementine-libre-1.0.1/src/translations/es.po
+--- clementine-1.0.1/src/translations/es.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/es.po 2012-05-29 15:22:56.383076862 -0400
+@@ -254,10 +254,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Se requiere una cuenta Grooveshrak Anywhere"
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Se requiere una cuenta Premium de Spotify."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -319,7 +315,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -592,14 +587,6 @@
+ msgid "Always start playing"
+ msgstr "Siempre empezar a reproducir"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Un plugin adicional es requerido para usar Spotify en Clementine. ¿Te "
+-"gustaría descargarlo e instalarlo ahora?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -829,10 +816,6 @@
+ msgid "CUE sheet support"
+ msgstr "Soporte de hoja CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Cancelar"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Cambiar portada"
+@@ -1046,10 +1029,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configurar accesos rápidos"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Configurar Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configurar colección..."
+@@ -1067,10 +1046,6 @@
+ msgid "Connect device"
+ msgstr "Conectar dispositivo"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Connectando con Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Flujo de bits constante"
+@@ -1486,10 +1461,6 @@
+ msgid "Download this album..."
+ msgstr "Descargar este álbum..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Descargar..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Descargar el directorio de Icecast"
+@@ -1502,10 +1473,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Descargando el catálogo de Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Descargando el plugin Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Descargando metadatos"
+@@ -1657,10 +1624,6 @@
+ msgid "Error deleting songs"
+ msgstr "Error al borrar canciones"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Error descargando el plugin Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1844,12 +1807,6 @@
+ msgid "Font size"
+ msgstr "Tamaño de letra"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Por razones de licenciamiento, para usar Spotify se necesita un complemento "
+-"separado."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forzar la codificación en mono"
+@@ -2123,10 +2080,6 @@
+ "En el modo dinámico las canciones nuevas se elegirán y añadirán a la lista "
+ "de reproducción cada vez que termine una canción."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Bandeja de entrada"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Incluir carátula en la notificación"
+@@ -2155,10 +2108,6 @@
+ msgid "Insert..."
+ msgstr "Insertar..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Instalado"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2463,7 +2412,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2539,10 +2487,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Perfil principal (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Hacer disponible la lista de reproducción fuera de línea"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Respuesta malformada"
+@@ -2803,10 +2747,6 @@
+ msgid "Not enough neighbors"
+ msgstr "No hay suficientes vecinos"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "No instalado"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "No ha iniciado sesión"
+@@ -2941,7 +2881,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Contraseña"
+@@ -3048,10 +2987,6 @@
+ msgid "Playlists"
+ msgstr "Listas de reproducción"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Estado del complemento:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3082,7 +3017,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Preferencias"
+@@ -3099,10 +3033,6 @@
+ msgid "Preferred audio format"
+ msgstr "Formato de audio preferido"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Formato preferido"
+@@ -3493,18 +3423,6 @@
+ msgid "Search Magnatune"
+ msgstr "Buscar en Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Buscar en Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Buscar en Spotify (abre una nueva pestaña)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Buscar en Spotify (abre una pestaña nueva)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Buscar en todas tus fuentes(libreria, servicios de internet, ...) "
+@@ -3830,30 +3748,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Error de inicio de sesión de Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Complemento de Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "El complemento de Spotify no está instalado"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Estándar"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Destacado"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Iniciar la lista de reproducción actualmente reproduciendose"
+@@ -3863,7 +3761,6 @@
+ msgstr "Comenzar conversión"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3951,18 +3848,6 @@
+ msgid "Switch provider"
+ msgstr "Cambiar proveedor"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Sincronizando bandeja de entrada de Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Sincronizando lista de reproducción de Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Sincronizando canciones destacadas de Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Pestañas en la parte superior"
+@@ -4341,10 +4226,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Utilizar la configuración para proxy del sistema"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Usado"
+@@ -4360,7 +4241,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Nombre de Usuario"
+@@ -4599,20 +4479,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "No tienes una cuenta Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "No tienes una cuenta Spotify Premium."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Amas esta canción"
+@@ -4680,7 +4546,6 @@
+ msgstr "Sus scrobbles: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Tu nombre de usuario o contraseña es incorrecta."
+
+@@ -4769,8 +4634,6 @@
+ msgstr "en los últimos"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/et.po clementine-libre-1.0.1/src/translations/et.po
+--- clementine-1.0.1/src/translations/et.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/et.po 2012-05-29 15:46:09.829745009 -0400
+@@ -251,10 +251,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -310,7 +306,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -583,12 +578,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -814,10 +803,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Loobu"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1018,10 +1003,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Kiirklahvide seadistamine"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1039,10 +1020,6 @@
+ msgid "Connect device"
+ msgstr "Ühenda seade"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1452,10 +1429,6 @@
+ msgid "Download this album..."
+ msgstr "Lae see album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1468,10 +1441,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1622,10 +1591,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1807,10 +1772,6 @@
+ msgid "Font size"
+ msgstr "Kirja suurus"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2073,10 +2034,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2105,10 +2062,6 @@
+ msgid "Insert..."
+ msgstr "Lisa..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Paigaldatud"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2411,7 +2364,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2487,10 +2439,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Vigane vastus"
+@@ -2748,10 +2696,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Pole piisavalt naabreid"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2886,7 +2830,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Parool"
+@@ -2993,10 +2936,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3027,7 +2966,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Seadistused"
+@@ -3044,10 +2982,6 @@
+ msgid "Preferred audio format"
+ msgstr "Eelistatud heli vorming"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Eelistatud vorming"
+@@ -3438,18 +3372,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3774,30 +3696,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3807,7 +3709,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3893,18 +3794,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4262,10 +4151,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Kasutuses"
+@@ -4281,7 +4166,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Kasutajanimi"
+@@ -4505,20 +4389,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4578,7 +4448,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4667,8 +4536,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/eu.po clementine-libre-1.0.1/src/translations/eu.po
+--- clementine-1.0.1/src/translations/eu.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/eu.po 2012-05-29 15:47:59.699745177 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/fa.po clementine-libre-1.0.1/src/translations/fa.po
+--- clementine-1.0.1/src/translations/fa.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/fa.po 2012-05-29 15:57:55.966412407 -0400
+@@ -252,10 +252,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "حساب کاربری «Spotify Premium» مورد نیاز است."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -315,7 +311,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -588,14 +583,6 @@
+ msgid "Always start playing"
+ msgstr "همواره پخش را شروع کن"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"کلمنتاین به افزونهٔ دیگری برای استفادهٔ اسپاتیفای نیاز دارد. آیا می‌خواهید"
+-" این افزونه را بارگیری و نصب نمایید؟"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "مشکلی هنگام کپی‌کردن بانک اطلاعاتی آی‌تیون از دستگاه پیش آمد"
+@@ -821,10 +808,6 @@
+ msgid "CUE sheet support"
+ msgstr "برگهٔ پشتیبانی CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "لغو"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "تغییر جلد هنری"
+@@ -1035,10 +1018,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "پیکربندی میان‌برها"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "پیکربندی Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "پیکربندی کتابخانه..."
+@@ -1056,10 +1035,6 @@
+ msgid "Connect device"
+ msgstr "اتصال دستگاه"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "اتصال به Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "ضرباهنگ ثابت"
+@@ -1475,10 +1450,6 @@
+ msgid "Download this album..."
+ msgstr "بارگیری این آلبوم..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "بارگیری..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "بارگیری پوشهٔ Icecast"
+@@ -1491,10 +1462,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "بارگیری کاتالوگ Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "بارگیری افزونهٔ Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "بارگیری ابرداده"
+@@ -1645,10 +1612,6 @@
+ msgid "Error deleting songs"
+ msgstr "خطا در پاک کردن آهنگ‌ها"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "خطا در بارگیری افزونهٔ Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1830,10 +1793,6 @@
+ msgid "Font size"
+ msgstr "اندازهٔ قلم"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "به دلایل اجازه‌نامه، پشتیبانی اسپاتیفای در افزونه‌ای جداگانه است."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "رمزینهٔ مونو پخش کن"
+@@ -2104,10 +2063,6 @@
+ "در حالت دینامیک پس از پایان هر آهنگ، قطعه‌های تازه انتخاب و به لیست‌پخش "
+ "افزوده می‌شوند."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "صندوق ورودی"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "آلبوم هنری را در آگاهساز قرار بده"
+@@ -2136,10 +2091,6 @@
+ msgid "Insert..."
+ msgstr "قرار دادن..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "نصب شد"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "اینترنت"
+@@ -2442,7 +2393,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2518,10 +2468,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "مشخصات اصلی (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "لیست‌پخش را بیرون‌خط در دسترس بگذار"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "پاسخ ناهنجار"
+@@ -2780,10 +2726,6 @@
+ msgid "Not enough neighbors"
+ msgstr "بدون همسایهٔ کافی"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "نصب نشده"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2918,7 +2860,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "کلمهٔ عبور"
+@@ -3025,10 +2966,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "وضعیت افزونه"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "پاپ"
+@@ -3059,7 +2996,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "تنظیمات‌"
+@@ -3076,10 +3012,6 @@
+ msgid "Preferred audio format"
+ msgstr "فرمت صوتی ترجیحی"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "فرمت ترجیحی"
+@@ -3470,18 +3402,6 @@
+ msgid "Search Magnatune"
+ msgstr "جستجوی Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "جستجوی Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "جستجوی Spotify (گشودن باریکهٔ تازه)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "جستجوی Spotify (گشودن باریکهٔ تازه)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3806,30 +3726,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "خطای ورود به سیستم Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "افزونهٔ Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "افزونهٔ Spotify نصب نیست"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "استاندارد"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "ستاره‌دار"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "شروع لیست‌پخش در حال پخش"
+@@ -3839,7 +3739,6 @@
+ msgstr "شروع ترانسکد"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3925,18 +3824,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "همگام‌سازی صندوق ورودی اسپاتیفای"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "همگام‌سازی لیست‌پخش اسپاتیفای"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "همگام‌سازی قطعه‌های ستاره‌دار اسپاتیفای"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "باریکه‌ها در بالا"
+@@ -4314,10 +4201,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "بکاربردن تنظیمات پراکسی سیستم"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "استفاده‌شده"
+@@ -4333,7 +4216,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "شناسه"
+@@ -4568,20 +4450,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "عاشق این آهنگ هستید"
+@@ -4648,7 +4516,6 @@
+ msgstr "برونکشی‌های شما: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4737,8 +4604,6 @@
+ msgstr "در آخرین"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/fi.po clementine-libre-1.0.1/src/translations/fi.po
+--- clementine-1.0.1/src/translations/fi.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/fi.po 2012-05-29 16:22:14.749747287 -0400
+@@ -250,10 +250,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Grooveshark Anywhere tili vaaditaan käyttöön."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Spotifyn Premium-tili vaaditaan."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -311,7 +307,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -584,14 +579,6 @@
+ msgid "Always start playing"
+ msgstr "Aloita aina toisto"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Spotifyn käyttö Clementinessä vaatii lisäosan. Haluatko ladata ja asentaa "
+-"sen nyt?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "iTunes-tietokantaa laitteesta ladatessa tapahtui virhe"
+@@ -819,10 +806,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE-tiedostojen tuki"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Peru"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Vaihda kansikuvaa"
+@@ -1032,10 +1015,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Pikanäppäinten asetukset..."
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Muokkaa Spotifya..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Kirjaston asetukset..."
+@@ -1053,10 +1032,6 @@
+ msgid "Connect device"
+ msgstr "Yhdistä laite"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Yhdistetään Spotifyyn"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Pysyvä bittinopeus"
+@@ -1468,10 +1443,6 @@
+ msgid "Download this album..."
+ msgstr "Lataa tämä levy..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Lataa..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Ladataan Icecast-hakemistoa"
+@@ -1484,10 +1455,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Ladataan Magnatune-luetteloa"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Ladataan Spotify-liitännäistä"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Noudetaan metadataa"
+@@ -1638,10 +1605,6 @@
+ msgid "Error deleting songs"
+ msgstr "Virhe kappaleita poistaessa"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Virhe ladatessa Spotify-liitännäistä"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1825,10 +1788,6 @@
+ msgid "Font size"
+ msgstr "Kirjasinkoko"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Lisenssisyistä Spotify-tuki on erillinen liitännäinen."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Pakota monokoodaus"
+@@ -2097,10 +2056,6 @@
+ "Dynaamisessa tilassa uusia kappaleita valitaan ja lisätään soittolistaan "
+ "joka kerta kun yksi kappale on soitettu."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Saapuneet"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Näytä kansikuva ilmoituksen yhteydessä"
+@@ -2129,10 +2084,6 @@
+ msgid "Insert..."
+ msgstr "Lisää..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Asennettu"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2435,7 +2386,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2511,10 +2461,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Oletusprofiili (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Virheellinen vastaus"
+@@ -2775,10 +2721,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Ei tarpeeksi naapureita"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Ei asennettu"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Ei kirjautunut"
+@@ -2913,7 +2855,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Salasana"
+@@ -3020,10 +2961,6 @@
+ msgid "Playlists"
+ msgstr "Soittolistat"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Liitännäisen tila:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3054,7 +2991,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Asetukset"
+@@ -3071,10 +3007,6 @@
+ msgid "Preferred audio format"
+ msgstr "Ensisijainen äänimuoto"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Ensisijainen muoto"
+@@ -3465,18 +3397,6 @@
+ msgid "Search Magnatune"
+ msgstr "Etsi Magnatunesta"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Etsi Spotifysta"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Etsi Spotifysta (avaa uuden välilehden)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Etsi Spotifysta (avaa uuden välilehden)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Etsi kaikista lähteistä (kirjasto, internet, ...)"
+@@ -3801,30 +3721,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Spotify-kirjautumisvirhe"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify-liitännäinen"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify-liitännäistä ei ole asennettu"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Normaali"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3834,7 +3734,6 @@
+ msgstr "Aloita muunnos"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3920,18 +3819,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Synkronoi Spotify saapuneet"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Synkronoi Spotify soittolistan"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Synkronoi Spotify arvostellut kappaleet"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Välilehdet ylhäällä"
+@@ -4306,10 +4193,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Käytä järjestelmän välityspalvelinasetuksia"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Käytetty"
+@@ -4325,7 +4208,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Käyttäjätunnus"
+@@ -4562,20 +4444,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Sinulla ei ole Grooveshark Anywhere tiliä."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Sinulla ei ole Spotify Premium tiliä."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Tykkäät tästä kappaleesta"
+@@ -4635,7 +4503,6 @@
+ msgstr "Lähetyksesi: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Käyttäjätunnus tai salasana oli virheellinen."
+
+@@ -4724,8 +4591,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kb/s"
+
+diff -rauN clementine-1.0.1/src/translations/fr.po clementine-libre-1.0.1/src/translations/fr.po
+--- clementine-1.0.1/src/translations/fr.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/fr.po 2012-05-29 16:25:03.779747446 -0400
+@@ -258,10 +258,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Un compte Grooveshark Anywhere est nécessaire."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Un compte Spotify Premium est nécessaire."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -323,7 +319,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -597,14 +592,6 @@
+ msgid "Always start playing"
+ msgstr "Toujours commencer à lire"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Un module externe est requis pour pouvoir utiliser Spotify. Voulez-vous le "
+-"télécharger et l'installer maintenant ?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -838,10 +825,6 @@
+ msgid "CUE sheet support"
+ msgstr "Support des CUE sheet."
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Annuler"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Changer la couverture de l'album"
+@@ -1056,10 +1039,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configurer les raccourcis clavier"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Configurer Spotify…"
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configurer votre bibliothèque..."
+@@ -1077,10 +1056,6 @@
+ msgid "Connect device"
+ msgstr "Connexion du périphérique"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Connexion à Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Débit constant"
+@@ -1496,10 +1471,6 @@
+ msgid "Download this album..."
+ msgstr "Télécharger cet album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Télécharger..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Téléchargement du catalogue d'Icecast"
+@@ -1512,10 +1483,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Téléchargement du catalogue Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Téléchargement du module Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Téléchargement des métadonnées"
+@@ -1671,10 +1638,6 @@
+ msgid "Error deleting songs"
+ msgstr "Erreur lors de la suppression des morceaux"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Erreur lors du téléchargement du module Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1858,12 +1821,6 @@
+ msgid "Font size"
+ msgstr "Taille de la police"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Pour des raisons de licence, le support de Spotify est dans un module "
+-"séparé."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forcer l’encodage en mono"
+@@ -2138,10 +2095,6 @@
+ "En mode dynamique, de nouvelles pistes seront choisies et ajoutées à la fin "
+ "de la liste de lecture chaque fois qu'un morceau se terminera."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Boîte de réception"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Inclure la pochette de l'abum dans la fenêtre de notification"
+@@ -2170,10 +2123,6 @@
+ msgid "Insert..."
+ msgstr "Insérer..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Installé(e)(s)"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2481,7 +2430,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2557,10 +2505,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Profil principal (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Rendre la liste de lecture accessible hors ligne"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Réponse mal formatée"
+@@ -2822,10 +2766,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Voisins insuffisants"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Non installé"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Non connecté"
+@@ -2960,7 +2900,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Mot de passe"
+@@ -3067,10 +3006,6 @@
+ msgid "Playlists"
+ msgstr "Listes de lecture"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "État du module externe :"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3101,7 +3036,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Préférences"
+@@ -3118,10 +3052,6 @@
+ msgid "Preferred audio format"
+ msgstr "Format audio préféré"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Débit préféré"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Format préféré"
+@@ -3512,18 +3442,6 @@
+ msgid "Search Magnatune"
+ msgstr "Recherche Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Recherche Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Recherche Spotify (ouvre un nouvel onglet)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Recherche Spotify (ouvre un nouvel onglet)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3851,30 +3769,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Erreur lors de la connexion à Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Module externe Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Le module externe de Spotify n'est pas installé"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Favoris"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Commencer la liste de lecture jouée actuellement"
+@@ -3884,7 +3782,6 @@
+ msgstr "Démarrer transcodage"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3972,18 +3869,6 @@
+ msgid "Switch provider"
+ msgstr "Changer de service"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Synchronisation de la boîte de réception Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Synchronisation de la liste de lecture Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Synchronisation des morceaux Spotify préférés"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Onglets au dessus"
+@@ -4369,10 +4254,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Utiliser les paramètres du système pour le serveur mandataire"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Utilisé"
+@@ -4388,7 +4269,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Nom d'utilisateur"
+@@ -4629,23 +4509,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Vous n'avez pas de compte Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Vous n'avez pas de compte Spotify Premium."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Vous avez été déconnecté de Spotify ; merci de ressaisir votre mot de passe "
+-"dans la fenêtre des préférences."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-"Vous avez été déconnecté de Spotify ; merci de ressaisir votre mot de passe."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Vous aimez cette piste"
+@@ -4713,7 +4576,6 @@
+ msgstr "Vos scrobbles : %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Votre nom d'utilisateur ou mot de passe est incorrect."
+
+@@ -4802,8 +4664,6 @@
+ msgstr "parmi les derniers"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/gl.po clementine-libre-1.0.1/src/translations/gl.po
+--- clementine-1.0.1/src/translations/gl.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/gl.po 2012-05-29 16:27:07.409747570 -0400
+@@ -251,10 +251,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -310,7 +306,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -583,12 +578,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Aconteceu un erro copiando a base de datos de iTunes do dispositivo"
+@@ -814,10 +803,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1022,10 +1007,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configurar a biblioteca..."
+@@ -1043,10 +1024,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1456,10 +1433,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1472,10 +1445,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1625,10 +1594,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1810,10 +1775,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2076,10 +2037,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2108,10 +2065,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2415,7 +2368,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2491,10 +2443,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Resposta mal formada"
+@@ -2751,10 +2699,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Viciños insuficientes"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2889,7 +2833,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2996,10 +2939,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3030,7 +2969,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3047,10 +2985,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3441,18 +3375,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3777,30 +3699,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Reproducir a playlist actualmente reproducindo"
+@@ -3810,7 +3712,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3896,18 +3797,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4265,10 +4154,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4284,7 +4169,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4508,20 +4392,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4581,7 +4451,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4670,8 +4539,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/he.po clementine-libre-1.0.1/src/translations/he.po
+--- clementine-1.0.1/src/translations/he.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/he.po 2012-05-29 16:33:23.043081344 -0400
+@@ -252,10 +252,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -313,7 +309,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -586,12 +581,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "ארעה שגיאה בהעתקת מסד הנתונים של iTunes מההתקן"
+@@ -817,10 +806,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "שינוי עטיפת האלבום"
+@@ -1025,10 +1010,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "הגדר קיצורי מקשים"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "הגדר את הספרייה..."
+@@ -1046,10 +1027,6 @@
+ msgid "Connect device"
+ msgstr "חבר התקן"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1464,10 +1441,6 @@
+ msgid "Download this album..."
+ msgstr "הורד את האלבום הזה..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "מוריד תיקיית Icecast"
+@@ -1480,10 +1453,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "מוריד את הקטלוג של Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1633,10 +1602,6 @@
+ msgid "Error deleting songs"
+ msgstr "שגיאה במחיקת שירים"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1818,10 +1783,6 @@
+ msgid "Font size"
+ msgstr "גודל הגופן"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2086,10 +2047,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "אומנות אלבום בתוך ההתראה"
+@@ -2118,10 +2075,6 @@
+ msgid "Insert..."
+ msgstr "הוספה..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "אינטרנט"
+@@ -2424,7 +2377,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2500,10 +2452,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "תגובה שגויה"
+@@ -2761,10 +2709,6 @@
+ msgid "Not enough neighbors"
+ msgstr "אין מספיק שכנים"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2899,7 +2843,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "סיסמא"
+@@ -3006,10 +2949,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "פופ"
+@@ -3040,7 +2979,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "מאפיינים"
+@@ -3057,10 +2995,6 @@
+ msgid "Preferred audio format"
+ msgstr "פורמט אודיו מועדף"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "פורמט מועדף"
+@@ -3451,18 +3385,6 @@
+ msgid "Search Magnatune"
+ msgstr "חיפוש ב־Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3787,30 +3709,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "התחל את רשימת־ההשמעה המתנגנת כעת"
+@@ -3820,7 +3722,6 @@
+ msgstr "התחלת הקידוד"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3906,18 +3807,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "לשוניות למעלה"
+@@ -4280,10 +4169,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "שימוש בהגדרות הפרוקסי של המערכת"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "בשימוש"
+@@ -4299,7 +4184,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "שם משתמש"
+@@ -4532,20 +4416,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "אתה אוהב את הרצועה הזו"
+@@ -4608,7 +4478,6 @@
+ msgstr "ה-scrobbles שלך: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4697,8 +4566,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "קילו־סיביות לשניה"
+
+diff -rauN clementine-1.0.1/src/translations/hi.po clementine-libre-1.0.1/src/translations/hi.po
+--- clementine-1.0.1/src/translations/hi.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/hi.po 2012-05-29 16:34:21.266414734 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/hr.po clementine-libre-1.0.1/src/translations/hr.po
+--- clementine-1.0.1/src/translations/hr.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/hr.po 2012-05-29 16:50:07.443081990 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Spotify Premium račun je obvezan."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -316,7 +312,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -589,14 +584,6 @@
+ msgid "Always start playing"
+ msgstr "Uvijek započinji reprodukciju glazbe"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Dodatni dodatak je potreban za korištenje Spotify-a u Clementine-u. Želite "
+-"li preuzeti dodatak i instalirati sada?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Pogreška je nastala tijekom kopiranja iTunes baze podataka sa uređaja"
+@@ -822,10 +809,6 @@
+ msgid "CUE sheet support"
+ msgstr "Podrška za CUE listu"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Otkaži"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Promijenite omot albuma"
+@@ -1039,10 +1022,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Podesi prečace"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Podesite Spotify ..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Podesi zbirku..."
+@@ -1060,10 +1039,6 @@
+ msgid "Connect device"
+ msgstr "Spoji uređaj"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Spajanje Spotify-a"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Konstantna brzina prijenosa"
+@@ -1479,10 +1454,6 @@
+ msgid "Download this album..."
+ msgstr "Preuzmi ovaj album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Preuzmi..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Preuzimanje Icecast direktorija"
+@@ -1495,10 +1466,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Preuzimanje Magnatune kataloga"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Preuzimanje Spotify dodatka"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Preuzimanje metapodataka"
+@@ -1649,10 +1616,6 @@
+ msgid "Error deleting songs"
+ msgstr "Pogreška u brisanju pjesama"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "pogreška pri preuzimanju Spotify dodatka"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1834,10 +1797,6 @@
+ msgid "Font size"
+ msgstr "Veličina slova"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Zbog razloga licenciranja Spotify-a podrška je u posebnom dodatak."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forsiraj mono enkodiranje"
+@@ -2108,10 +2067,6 @@
+ "U dinamičkom modu nove pjesme će biti izabrane i dodane u popis izvođenja "
+ "svaki puta kada je pjesma odsvirana."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Pristigle poruke"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Prikaži omot albuma u obavijesti"
+@@ -2140,10 +2095,6 @@
+ msgid "Insert..."
+ msgstr "Umetni..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Instalirano"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2446,7 +2397,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2522,10 +2472,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Glavni profil (GLAVNI)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Učini popis izvođenja dostupnim kada je veza prekinuta"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Pogreška u odgovoru"
+@@ -2784,10 +2730,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Nema dovoljno susjeda"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Nije instalirano"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2922,7 +2864,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Lozinka"
+@@ -3029,10 +2970,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Status dodatka:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3063,7 +3000,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Opcije"
+@@ -3080,10 +3016,6 @@
+ msgid "Preferred audio format"
+ msgstr "Željeni audio format"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Željeni format"
+@@ -3474,18 +3406,6 @@
+ msgid "Search Magnatune"
+ msgstr "Pretražite Magnatune stanice"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Pretražite Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Pretražite Spotify (otvori u novoj kartici)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Pretražite Spotify (otvori u novoj kartici)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3811,30 +3731,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Spotify pogreška kod prijave"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify dodatak"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify dodatak nije instaliran"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standardno"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Sa zvjezdicom"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Pokrenite popis izvođenja koji se trenutno izvodi"
+@@ -3844,7 +3744,6 @@
+ msgstr "Započni enkodiranje"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3930,18 +3829,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Sinkronizacija Spotify ulaznog spremnika"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Sinkroniziranje Spotify popisa izvođenja"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Sinkronizacija Spotify pjesama označenim zvjezdicama"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Kartice pri vrhu"
+@@ -4318,10 +4205,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Koristite proxy postavke od sustava"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Iskorišteno"
+@@ -4337,7 +4220,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Korisničko ime"
+@@ -4572,20 +4454,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Sviđa vam se ova pjesma"
+@@ -4653,7 +4521,6 @@
+ msgstr "Vaši scrobbles: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4742,8 +4609,6 @@
+ msgstr "u posljednjih"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/hu.po clementine-libre-1.0.1/src/translations/hu.po
+--- clementine-1.0.1/src/translations/hu.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/hu.po 2012-05-29 16:50:46.463082538 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Grooveshark Anywhere fiók szükséges."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Spotify prémium fiók szükséges"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -316,7 +312,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -589,14 +584,6 @@
+ msgid "Always start playing"
+ msgstr "Mindig indítja a lejátszást"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"A Spotify használatához külön beépülő szükséges. Szeretnéd most letölteni és"
+-" telepíteni?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Hiba történt az iTunes adatbázis másolása közben az eszközről"
+@@ -823,10 +810,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE fájl támogatás"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Mégsem"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Albumborító módosítása"
+@@ -1042,10 +1025,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Billentyűkombinációk beállítása"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Spotify beállítása..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Zenetár beállítása..."
+@@ -1065,10 +1044,6 @@
+ msgid "Connect device"
+ msgstr "Eszköz csatlakoztatása"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Csatlakozás a Spotifyhoz"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Állandó bitráta"
+@@ -1484,10 +1459,6 @@
+ msgid "Download this album..."
+ msgstr "Album letöltése..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Letöltés…"
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Icecast könyvtár letöltése"
+@@ -1500,10 +1471,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Magnatune katalógus letöltése"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Spotify beépülő letöltése"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Metaadat letöltése"
+@@ -1656,10 +1623,6 @@
+ msgid "Error deleting songs"
+ msgstr "Hiba történt a számok törlése közben"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Hiba a Spotify beépülő letöltése közben"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1842,12 +1805,6 @@
+ msgid "Font size"
+ msgstr "Betűméret"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Licencelési okok miatt a Spotify támogatást külön beépülőben kell "
+-"telepíteni."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Mono kódolás kényszerítése"
+@@ -2117,10 +2074,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Beérkezett üzenetek"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Albumborító megjelenítése az értesítésben"
+@@ -2149,10 +2102,6 @@
+ msgid "Insert..."
+ msgstr "Beszúrás..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Telepítve"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2455,7 +2404,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2531,10 +2479,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Fő profil (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Hibásan formázott válasz"
+@@ -2793,10 +2737,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Nincs elég szomszédja"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Nincs telepítve"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2931,7 +2871,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Jelszó"
+@@ -3038,10 +2977,6 @@
+ msgid "Playlists"
+ msgstr "Lejátszási lista"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Beépülő állapot:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3072,7 +3007,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Beállítások"
+@@ -3089,10 +3023,6 @@
+ msgid "Preferred audio format"
+ msgstr "Előnyben részesített audio formátum"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Előnyben részesített formátum"
+@@ -3483,18 +3413,6 @@
+ msgid "Search Magnatune"
+ msgstr "Keresés a Magnatuneon"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Keresés Spotifyon"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Keresés Spotifyon (új lapot nyit)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Keresés Spotifyon (új lapot nyit)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3822,30 +3740,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Hiba a Spotifyra való bejelentkezéskor"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify beépülő"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "A Spotify beépülő nincs telepítve"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Normál"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Kedvenc"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Az éppen lejátszott lista indítása"
+@@ -3855,7 +3753,6 @@
+ msgstr "Átkódolás indítása"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3941,18 +3838,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Spotify üzenetek szinkronizálása"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Spotify lejátszási lista szinkronizálása"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Spotify csillagozott számok szinronizálása"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Lapfülek felül"
+@@ -4327,10 +4212,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "A rendszer proxy beállításainak használata"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Használt"
+@@ -4346,7 +4227,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Felhasználónév"
+@@ -4580,20 +4460,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Kedveled ezt a számot"
+@@ -4660,7 +4526,6 @@
+ msgstr "Scrobblejaid: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4749,8 +4614,6 @@
+ msgstr "az utóbbi"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/hy.po clementine-libre-1.0.1/src/translations/hy.po
+--- clementine-1.0.1/src/translations/hy.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/hy.po 2012-05-29 16:51:35.523082336 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/ia.po clementine-libre-1.0.1/src/translations/ia.po
+--- clementine-1.0.1/src/translations/ia.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ia.po 2012-05-29 16:52:43.266415554 -0400
+@@ -250,10 +250,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -309,7 +305,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -582,12 +577,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -813,10 +802,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1017,10 +1002,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1038,10 +1019,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1451,10 +1428,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1467,10 +1440,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1620,10 +1589,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1805,10 +1770,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2071,10 +2032,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2103,10 +2060,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2409,7 +2362,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2485,10 +2437,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2745,10 +2693,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2883,7 +2827,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2990,10 +2933,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3024,7 +2963,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3041,10 +2979,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3435,18 +3369,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3771,30 +3693,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3804,7 +3706,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3890,18 +3791,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4259,10 +4148,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4278,7 +4163,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4502,20 +4386,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4575,7 +4445,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4664,8 +4533,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/id.po clementine-libre-1.0.1/src/translations/id.po
+--- clementine-1.0.1/src/translations/id.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/id.po 2012-05-29 16:55:43.939749412 -0400
+@@ -252,10 +252,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Sebuah akun Premium Spotify diperlukan."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -316,7 +312,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -589,12 +584,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -820,10 +809,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1024,10 +1009,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1045,10 +1026,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1458,10 +1435,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1474,10 +1447,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1627,10 +1596,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1812,10 +1777,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2078,10 +2039,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2110,10 +2067,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2416,7 +2369,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2492,10 +2444,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2752,10 +2700,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2890,7 +2834,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2997,10 +2940,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3031,7 +2970,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3048,10 +2986,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3442,18 +3376,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3778,30 +3700,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3811,7 +3713,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3897,18 +3798,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4266,10 +4155,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4285,7 +4170,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4509,20 +4393,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4582,7 +4452,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4671,8 +4540,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/is.po clementine-libre-1.0.1/src/translations/is.po
+--- clementine-1.0.1/src/translations/is.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/is.po 2012-05-29 16:56:42.033082876 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr "Alltaf hefja spilun"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Villa kom upp við afritun iTunes gagnagrunns af tæki"
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/it.po clementine-libre-1.0.1/src/translations/it.po
+--- clementine-1.0.1/src/translations/it.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/it.po 2012-05-29 16:57:27.279749567 -0400
+@@ -256,10 +256,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "È richiesto un account Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "È richiesto un account Premium di Spotify"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -318,7 +314,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -591,14 +586,6 @@
+ msgid "Always start playing"
+ msgstr "Inizia sempre la riproduzione"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Un plugin aggiuntivo è richiesto per utilizzare Spotify in Clementine. Vuoi "
+-"scaricarlo e installarlo subito?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -829,10 +816,6 @@
+ msgid "CUE sheet support"
+ msgstr "Supporto CUE sheet"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Annulla"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Cambia copertina"
+@@ -1044,10 +1027,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configura scorciatoie"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Configura Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configura raccolta..."
+@@ -1065,10 +1044,6 @@
+ msgid "Connect device"
+ msgstr "Connetti dispositivo"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Connessione a Spotify in corso"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Bitrate costante"
+@@ -1484,10 +1459,6 @@
+ msgid "Download this album..."
+ msgstr "Scarica questo album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Scarica..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Scaricamento directory Icecast in corso"
+@@ -1500,10 +1471,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Scaricamento catalogo Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Scarica il plugin di Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Scaricamento metadati in corso"
+@@ -1658,10 +1625,6 @@
+ msgid "Error deleting songs"
+ msgstr "Errore durante l'eliminazione dei brani"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Errore di scaricamento del plugin di Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1844,11 +1807,6 @@
+ msgid "Font size"
+ msgstr "Dimensione del carattere"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Per motivi di licenza, il supporto di Spotify è in un plugin separato."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forza codifica mono"
+@@ -2123,10 +2081,6 @@
+ "Nella modalità dinamica le nuove tracce saranno scelte e aggiunte alla "
+ "scaletta al termine di ogni brano."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "In arrivo"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Includi copertina nella notifica"
+@@ -2155,10 +2109,6 @@
+ msgid "Insert..."
+ msgstr "Inserisci..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Installati"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2465,7 +2415,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2541,10 +2490,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Profilo principale (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Rendi la scaletta disponibile non in linea"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Risposta non corretta"
+@@ -2804,10 +2749,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Vicini non sufficienti"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Non installati"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Accesso non effettuato"
+@@ -2942,7 +2883,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Password"
+@@ -3049,10 +2989,6 @@
+ msgid "Playlists"
+ msgstr "Scalette"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Stato del plugin:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3083,7 +3019,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Preferenze"
+@@ -3100,10 +3035,6 @@
+ msgid "Preferred audio format"
+ msgstr "Formato audio preferito"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Bitrate preferito"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Formato preferito"
+@@ -3494,18 +3425,6 @@
+ msgid "Search Magnatune"
+ msgstr "Cerca in Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Cerca in Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Cerca in Spotify (apre una nuova scheda)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Cerca in Spotify (apre una nuova scheda)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Cerca in tutte le fonti (raccolta, servizi internet, ...)"
+@@ -3831,30 +3750,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Errore di accesso a Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Plugin di Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Plugin di Spotify non installato"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Preferiti"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Avvia la scaletta attualmente in riproduzione"
+@@ -3864,7 +3763,6 @@
+ msgstr "Avvia transcodifica"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3952,18 +3850,6 @@
+ msgid "Switch provider"
+ msgstr "Cambia fornitore"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Sincronizzazione inbox di Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Sincronizzazione scaletta di Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Sincronizzazione tracce preferite di Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Schede in alto"
+@@ -4351,10 +4237,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Utilizza le impostazioni di sistema del proxy"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Usa la normalizzazione del volume"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Utilizzato"
+@@ -4370,7 +4252,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Nome utente"
+@@ -4607,22 +4488,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Non hai un account Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Non hai un account Premium Spotify."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Ti sei disconnesso da Spotify, reinserisci la password nella finestra "
+-"Impostazioni."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Ti sei disconnesso da Spotify, reinserisci la password."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Ti piace questa traccia"
+@@ -4690,7 +4555,6 @@
+ msgstr "I tuoi scrobble: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Nome utente o password non corretta."
+
+@@ -4779,8 +4643,6 @@
+ msgstr "negli ultimi"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/ja.po clementine-libre-1.0.1/src/translations/ja.po
+--- clementine-1.0.1/src/translations/ja.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ja.po 2012-05-29 16:58:23.063082909 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Grooveshark Anywhere のアカウントが必要です。"
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Spotify のプレミアムアカウントが必要です。"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -313,7 +309,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -586,12 +581,6 @@
+ msgid "Always start playing"
+ msgstr "常に再生を開始する"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr "Clementine で Spotify を利用するには追加のプラグインが必要です。今すぐダウンロードしてインストールしますか?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "デバイスからの iTunes データベースのコピー エラーです"
+@@ -817,10 +806,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "キャンセル"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "カバー アートの変更"
+@@ -1023,10 +1008,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "ショートカットの構成"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "ライブラリの構成..."
+@@ -1044,10 +1025,6 @@
+ msgid "Connect device"
+ msgstr "デバイスの接続"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1461,10 +1438,6 @@
+ msgid "Download this album..."
+ msgstr "このアルバムをダウンロード..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Icecast ディレクトリのダウンロード"
+@@ -1477,10 +1450,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Magnatune カタログのダウンロード"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Spotify のプラグインをダウンロード中"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "メタデータをダウンロード中"
+@@ -1630,10 +1599,6 @@
+ msgid "Error deleting songs"
+ msgstr "曲の削除エラー"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1815,10 +1780,6 @@
+ msgid "Font size"
+ msgstr "フォント サイズ"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2081,10 +2042,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "通知にアルバム アートを含める"
+@@ -2113,10 +2070,6 @@
+ msgid "Insert..."
+ msgstr "挿入..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "インターネット"
+@@ -2419,7 +2372,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2495,10 +2447,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "不正な応答です"
+@@ -2755,10 +2703,6 @@
+ msgid "Not enough neighbors"
+ msgstr "ご近所さんが足りません"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2893,7 +2837,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "パスワード"
+@@ -3000,10 +2943,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3034,7 +2973,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "環境設定"
+@@ -3051,10 +2989,6 @@
+ msgid "Preferred audio format"
+ msgstr "優先するオーディオ形式"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "優先する形式"
+@@ -3445,18 +3379,6 @@
+ msgid "Search Magnatune"
+ msgstr "Magnatune の検索"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3781,30 +3703,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "現在再生中のプレイリストを開始する"
+@@ -3814,7 +3716,6 @@
+ msgstr "トランスコードの開始"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3900,18 +3801,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "タブを上に配置"
+@@ -4271,10 +4160,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "システムのプロキシ設定を使用する"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "使用中"
+@@ -4290,7 +4175,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "ユーザー名"
+@@ -4520,20 +4404,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "このトラックは Love されています"
+@@ -4595,7 +4465,6 @@
+ msgstr "Scrobble 回数: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "ユーザネームまたはパスワードが間違っています。"
+
+@@ -4684,8 +4553,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/ka.po clementine-libre-1.0.1/src/translations/ka.po
+--- clementine-1.0.1/src/translations/ka.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ka.po 2012-05-29 16:59:47.116416380 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Spotify-ის Premium ანგარიში აუცილებელია."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr "ყოველთვის დაიწყე დაკვრა"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "შეცდომა მოწყობილობიდან iTunes-ის მონაცემთა ბაზის კოპირებისას"
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE sheet-ის მხარდაჭერა"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "გაუქმება"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "ალბომის ყდის შეცვლა"
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/kk.po clementine-libre-1.0.1/src/translations/kk.po
+--- clementine-1.0.1/src/translations/kk.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/kk.po 2012-05-29 17:17:47.953084141 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Поп"
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/ko.po clementine-libre-1.0.1/src/translations/ko.po
+--- clementine-1.0.1/src/translations/ko.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ko.po 2012-05-29 17:20:24.469750963 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Spotify 프리미엄 계정이 필요합니다."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/lt.po clementine-libre-1.0.1/src/translations/lt.po
+--- clementine-1.0.1/src/translations/lt.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/lt.po 2012-05-29 17:21:09.749751142 -0400
+@@ -252,10 +252,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Reikalingas mokamas Spotify vartotojas"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -313,7 +309,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -586,14 +581,6 @@
+ msgid "Always start playing"
+ msgstr "Visada pradėti grojant"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Kad naudotumėte Spotify Clementine grotuve, jums reikia papildomo išplėtimo."
+-" Ar parsiųsti ir įdiegti jį dabar?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Iškilo klaida kopijuojant iTunes duomenų bazę iš įrenginio"
+@@ -819,10 +806,6 @@
+ msgid "CUE sheet support"
+ msgstr "\"CUE sheet\" palaikymas"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Atšaukti"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Keisti viršelio paveikslėlį"
+@@ -1032,10 +1015,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Konfigūruoti sparčiuosius klavišus"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Konfigūruoti Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Konfigūruoti fonoteką..."
+@@ -1053,10 +1032,6 @@
+ msgid "Connect device"
+ msgstr "Prijungti įrenginį"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Jungiamasi prie Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Pastovus bitų dažnis"
+@@ -1472,10 +1447,6 @@
+ msgid "Download this album..."
+ msgstr "Atsisiunčiamas šis albumas"
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Atsisiųsti..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Atsiunčiamas Icecast aplankas"
+@@ -1488,10 +1459,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Atsiunčiamas Magnatune katalogas"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Siunčiamas Spotify plėtinys"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Atsiunčiami metaduomenys"
+@@ -1643,10 +1610,6 @@
+ msgid "Error deleting songs"
+ msgstr "Klaida trinant dainas"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Klaida siunčiant Spotify plėtinį"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1828,12 +1791,6 @@
+ msgid "Font size"
+ msgstr "Šrifto dydis"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Dėl licencijavimo priežasčių Spotify palaikymas yra įjungiamas per atskirą "
+-"plėtinį."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Įjungti tik mono kodavimą"
+@@ -2104,10 +2061,6 @@
+ "Dinamiškame režime nauji kūriniais bus parinkti ir pridėti į grojaraštį "
+ "kaskart, kai dabar grojamas kūrinys baigsis."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Gautieji"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Rodyti albumo paveikslus pranešime"
+@@ -2136,10 +2089,6 @@
+ msgid "Insert..."
+ msgstr "Įterpti..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Įdiegta"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internetas"
+@@ -2444,7 +2393,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2520,10 +2468,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Pagrindinis profilis"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Padaryti šį grojaraštį prieinamą atsijungus"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Netinkamas atsakymas"
+@@ -2781,10 +2725,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Nepakanka kaimynų"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Neįdiegta"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2919,7 +2859,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Slaptažodis"
+@@ -3026,10 +2965,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Plėtinio būklė:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3060,7 +2995,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Nustatymai"
+@@ -3078,10 +3012,6 @@
+ msgid "Preferred audio format"
+ msgstr "Pageidaujamas audio formatas"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Pageidaujamas formatas"
+@@ -3472,18 +3402,6 @@
+ msgid "Search Magnatune"
+ msgstr "Ieškoti Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Ieškoti Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Ieškoti Spotify (atveria naują kortelę)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Ieškoti Spotify (atveria naują kortelę)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3808,30 +3726,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Spotify prisijungimo klaida"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify plėtinys"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify plėtinys neįdiegtas"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standartinis"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Su žvaigždute"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Pradėti grajaraštį nuo dabar grojančio"
+@@ -3841,7 +3739,6 @@
+ msgstr "Perkoduoti"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3927,18 +3824,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Atnaujinama Spotify dėžutė"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Atnaujinama Spotify grojaraštis"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Atnaujinama Spotify pažymėti kūriniai"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Kortelės viršuje"
+@@ -4312,10 +4197,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Naudoti sistemos tarpinio serverio nustatymus"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Panaudota"
+@@ -4331,7 +4212,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Naudotojo vardas"
+@@ -4565,20 +4445,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Jūs mylite šį takelį"
+@@ -4645,7 +4511,6 @@
+ msgstr "Jūsų pateikta informacija: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4734,8 +4599,6 @@
+ msgstr "per paskutines"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/lv.po clementine-libre-1.0.1/src/translations/lv.po
+--- clementine-1.0.1/src/translations/lv.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/lv.po 2012-05-29 17:21:57.143084399 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Nepieciešams Spotify Premium konts."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -315,7 +311,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -588,14 +583,6 @@
+ msgid "Always start playing"
+ msgstr "Vienmēr sākt atskaņošanu"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Lai lietotu Spotify, nepieciešams papildus spraudnis. Vai jūs vēlaties to "
+-"lejupielādēt un instalēt?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Kļūda kopējot iTunes datubāzi no ierīces"
+@@ -822,10 +809,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Atcelt"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Mainīt vāka attēlu"
+@@ -1035,10 +1018,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Konfigurēt īsceļus"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Konfigurēt Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Konfigurēt bibliotēku..."
+@@ -1056,10 +1035,6 @@
+ msgid "Connect device"
+ msgstr "Pieslēgt ierīci"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Pieslēdzos Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Konstants bitreits"
+@@ -1475,10 +1450,6 @@
+ msgid "Download this album..."
+ msgstr "Lejupielādēt šo albumu..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Lejupielādēt..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Lejupielādē Icecast mapi"
+@@ -1491,10 +1462,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Lejupielādē Magnatude katalogu"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Lejupielādē Spotify spraudni"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Lejupielādē metadatus"
+@@ -1646,10 +1613,6 @@
+ msgid "Error deleting songs"
+ msgstr "Kļūda dzēšot dziesmas"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Kļūda lejupielādējot Spotify spraudni"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1832,10 +1795,6 @@
+ msgid "Font size"
+ msgstr "Fonta izmērs"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Licencēšanas nolūkā Spotify atbalsts pieejams kā atsevišķs spraudnis"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forsēt mono kodēšanu"
+@@ -2102,10 +2061,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Ienākošie"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Iekļaut vāku attēlus paziņojumos"
+@@ -2134,10 +2089,6 @@
+ msgid "Insert..."
+ msgstr "Ievietot..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Uzstādīts"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internets"
+@@ -2441,7 +2392,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2517,10 +2467,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Galvenais profils (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Izkropļota atbilde"
+@@ -2778,10 +2724,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Nepietiek kaimiņu"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Nav uzstādīta"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2916,7 +2858,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Parole"
+@@ -3023,10 +2964,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Spraudņa statuss:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Popmūzika"
+@@ -3057,7 +2994,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Uzstādījumi"
+@@ -3074,10 +3010,6 @@
+ msgid "Preferred audio format"
+ msgstr "Vēlamais audio formāts"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Vēlamais formāts"
+@@ -3468,18 +3400,6 @@
+ msgid "Search Magnatune"
+ msgstr "Meklēt Magnatude"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Meklēt Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Meklēt Spotify (tiks atvērta jauna cilne)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Meklēt Spotify (tiks atvērta jauna cilne)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3804,30 +3724,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Spotify pieslēgšanās kļūda"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify spraudnis"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify spraudnis nav uzstādīts"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standarts"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Novērtēts ar zvaigzni"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Sākt pašreiz atskaņoto dziesmu listi"
+@@ -3837,7 +3737,6 @@
+ msgstr "Sākt kodēšanu"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3923,18 +3822,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Cilnes pa virsu"
+@@ -4304,10 +4191,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Lietot sistēmas starpniekservera uzstādījumus"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Izmantots"
+@@ -4323,7 +4206,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Lietotājvārds"
+@@ -4554,20 +4436,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Jūs mīlat šo dziesmu"
+@@ -4630,7 +4498,6 @@
+ msgstr "Jūsu skrobli: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4719,8 +4586,6 @@
+ msgstr "pēdējās"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kb/s"
+
+diff -rauN clementine-1.0.1/src/translations/mr.po clementine-libre-1.0.1/src/translations/mr.po
+--- clementine-1.0.1/src/translations/mr.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/mr.po 2012-05-29 17:22:45.193084728 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/ms.po clementine-libre-1.0.1/src/translations/ms.po
+--- clementine-1.0.1/src/translations/ms.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ms.po 2012-05-29 17:23:27.779751138 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Akaun Spotify Premium diperlukan"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -313,7 +309,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -586,14 +581,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Satu plugin tambahan diperlukan untuk menggunakan Spotify dalam Clementine. "
+-"Inginkah anda memuat turun dan memasangnya sekarang?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Satu ralat berlaku semasa menyalin pangkalan data iTunes dari peranti"
+@@ -819,10 +806,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Batal"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Ubahkan seni kulit muka"
+@@ -1030,10 +1013,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Tetapkan Pintasan"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1051,10 +1030,6 @@
+ msgid "Connect device"
+ msgstr "Sambung peranti"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Menyambung ke Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Kadar bit malar"
+@@ -1464,10 +1439,6 @@
+ msgid "Download this album..."
+ msgstr "Muat turun album ini..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Muat Turun..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Memuat turun direktori Icecast"
+@@ -1480,10 +1451,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Memuat turun katalog Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Memuat turun plugin Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Memuatturun metadata"
+@@ -1633,10 +1600,6 @@
+ msgid "Error deleting songs"
+ msgstr "Ralat memadam lagu-lagu"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Ralat memuat turun plugin Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1822,11 +1785,6 @@
+ msgid "Font size"
+ msgstr "Saiz fon"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Atas sebab-sebab perlesenan sokongan Spotify berada dalam plugin berasingan."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2099,10 +2057,6 @@
+ "Dalam mod dinamik trek-trek baru akan dipilih dan ditambah ke senarai main "
+ "setiap kali lagu selesai."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Peti Masuk"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Sertakan hasil seni album dalam pemberitahuan"
+@@ -2131,10 +2085,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Terpasang"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2437,7 +2387,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2513,10 +2462,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Buatkan senarai main tersedia di luar talian"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2775,10 +2720,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Tidak dipasang"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2913,7 +2854,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Kata laluan"
+@@ -3020,10 +2960,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Status plugin:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3054,7 +2990,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3071,10 +3006,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3465,18 +3396,6 @@
+ msgid "Search Magnatune"
+ msgstr "Cari Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Cari Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Cari Spotify (buka tab baru)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Cari Spotify (buka tab baru)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3801,30 +3720,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Ralat log masuk Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Plugin Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Plugin Spotify tidak dipasang"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Piawai"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Disukai"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3834,7 +3733,6 @@
+ msgstr "Mulakan transkod"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3920,18 +3818,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Tab-tab di atas"
+@@ -4308,10 +4194,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4327,7 +4209,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Nama pengguna"
+@@ -4555,20 +4436,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Anda suka trek ini"
+@@ -4628,7 +4495,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4717,8 +4583,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/nb.po clementine-libre-1.0.1/src/translations/nb.po
+--- clementine-1.0.1/src/translations/nb.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/nb.po 2012-05-29 17:24:06.539751459 -0400
+@@ -254,10 +254,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Til dette trenger du en Grooveshark Anywhere-konto."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Til dette trenger du en Spotify Premium-konto."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -316,7 +312,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -589,14 +584,6 @@
+ msgid "Always start playing"
+ msgstr "Alltid start avspilling"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Det trengs et programtillegg for å bruke Spotify i Clementine. Ønsker du å "
+-"laste ned og installere den nå?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "En feil oppsto under kopiering av iTunes databasen fra enheten"
+@@ -822,10 +809,6 @@
+ msgid "CUE sheet support"
+ msgstr "Støtte for CUE-filer"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Avbryt"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Endre omslagsbilde"
+@@ -1038,10 +1021,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Oppsett av hurtigtaster"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Konfigurere Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Sett opp bibliotek..."
+@@ -1059,10 +1038,6 @@
+ msgid "Connect device"
+ msgstr "Koble til enhet"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Kobler til Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Konstant bitrate"
+@@ -1478,10 +1453,6 @@
+ msgid "Download this album..."
+ msgstr "Last ned dette albumet..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Last ned..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Laster ned Icecast-katalogen"
+@@ -1494,10 +1465,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Laster ned Magnatune-katalogen"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Laster ned Spotify-modul"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Laster ned metadata"
+@@ -1648,10 +1615,6 @@
+ msgid "Error deleting songs"
+ msgstr "Kunne ikke slette sanger"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Kunne ikke laste ned Spotify-modul"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1833,10 +1796,6 @@
+ msgid "Font size"
+ msgstr "Skriftstørrelse"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Av lisenshensyn er Spotify-støtte en egen innstikksmodul."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Tving monolyd-koding"
+@@ -2108,10 +2067,6 @@
+ "I dynamisk modus vil nye spor bli valgt og lagt til spillelista hver gang en"
+ " sang tar slutt."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Innboks"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Inkludér cover i meldingen"
+@@ -2140,10 +2095,6 @@
+ msgid "Insert..."
+ msgstr "Sett inn..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Installert"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internett"
+@@ -2446,7 +2397,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2522,10 +2472,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Hovedprofil (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Gjør spillelista tilgjengelig online"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Ugyldig svar"
+@@ -2782,10 +2728,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Ikke nok naboer"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Ikke installert"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Ikke pålogget"
+@@ -2920,7 +2862,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Passord"
+@@ -3027,10 +2968,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Modulens status:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3061,7 +2998,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Innstillinger"
+@@ -3078,10 +3014,6 @@
+ msgid "Preferred audio format"
+ msgstr "Foretrukket lydformat"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Foretrukket format"
+@@ -3472,18 +3404,6 @@
+ msgid "Search Magnatune"
+ msgstr "Søk i Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Søk i Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Søk i Spotify (åpner en ny flik)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Søk i Spotify (åpner en ny flik...)"
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3808,30 +3728,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Kunne ikke logge på Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify-modul"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Har ikke installert Spotify-modul"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Har stjerner"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Begynn på spillelista nå"
+@@ -3841,7 +3741,6 @@
+ msgstr "Start koding"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3927,18 +3826,6 @@
+ msgid "Switch provider"
+ msgstr "Switch-leverandør"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Synkroniserer Spotify-innboksen"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Synkroniserer Spotify-spillelista"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Synkroniserer spor med sterner mot Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Fliker på toppen"
+@@ -4310,10 +4197,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Bruk standard proxy-innstillinger"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Brukt"
+@@ -4329,7 +4212,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Brukernavn"
+@@ -4565,20 +4447,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Du har ikke noen Grooveshark Anywhare-konto."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Du har ikke noen Spotify Premium-konto."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Du elsker dette sporet"
+@@ -4644,7 +4512,6 @@
+ msgstr "Dine delte lyttevaner (\"scrobbles\"): %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Feil med din brukerinformasjon"
+
+@@ -4733,8 +4600,6 @@
+ msgstr "i de siste"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/nl.po clementine-libre-1.0.1/src/translations/nl.po
+--- clementine-1.0.1/src/translations/nl.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/nl.po 2012-05-29 17:24:47.773084596 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Een Grooveshark Anywhere account is vereist."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Een Spotify Premium account is vereist."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -317,7 +313,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -592,14 +587,6 @@
+ msgid "Always start playing"
+ msgstr "Altijd afspelen"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Een extra plug-in is vereist om Spotify in Clementine te gebruiken. Wilt u "
+-"deze nu downloaden en installeren?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -829,10 +816,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE-sheet ondersteuning"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Annuleren"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Albumhoes wijzigen"
+@@ -1047,10 +1030,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Sneltoetsen instellen"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Configureer Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Bibliotheek configureren…"
+@@ -1068,10 +1047,6 @@
+ msgid "Connect device"
+ msgstr "Apparaat verbinden"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Met Spotify verbinden"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Constante bitrate"
+@@ -1487,10 +1462,6 @@
+ msgid "Download this album..."
+ msgstr "Dit album downloaden…"
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Downloaden…"
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Icecast-map aan het downloaden"
+@@ -1503,10 +1474,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Magnatune-catalogus downloaden"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "De Spotify plug-in aan het downloaden"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Metadata ophalen"
+@@ -1660,10 +1627,6 @@
+ msgid "Error deleting songs"
+ msgstr "Fout tijdens het verwijderen van de nummers"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Fout bij het downloaden van de Spotify plug-in"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1846,12 +1809,6 @@
+ msgid "Font size"
+ msgstr "Tekengrootte"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Vanwege licenties is Spotify-ondersteuning alleen via een plug-in "
+-"beschikbaar."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Mono-encodering forceren"
+@@ -2126,10 +2083,6 @@
+ "In ‘dynamische modus’ worden nieuwe nummers gekozen en aan de afspeellijst "
+ "toegevoegd op het moment dat een nummer eindigt."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Inbox"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Albumhoes in de notificatie weergeven"
+@@ -2158,10 +2111,6 @@
+ msgid "Insert..."
+ msgstr "Invoegen…"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Geïnstalleerd"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2466,7 +2415,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2542,10 +2490,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Normaal profiel (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Afspeellijst offline beschikbaar maken"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Foutieve respons"
+@@ -2806,10 +2750,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Onvoldoende buren"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Niet geïnstalleerd"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Niet ingelogd"
+@@ -2944,7 +2884,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Wachtwoord"
+@@ -3051,10 +2990,6 @@
+ msgid "Playlists"
+ msgstr "Afspeellijsten"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Plug-in status:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3085,7 +3020,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Voorkeuren"
+@@ -3103,10 +3037,6 @@
+ msgid "Preferred audio format"
+ msgstr "Audioformaat-voorkeur"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Bitrate voorkeur"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Voorkeursformaat"
+@@ -3497,18 +3427,6 @@
+ msgid "Search Magnatune"
+ msgstr "Zoeken op Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Doorzoek Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Doorzoek Spotify (open nieuw tabblad)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Doorzoek Spotify (open nieuw tabblad)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Doorzoek al uw bronnen (bibliotheek, internet bronnen, ...)"
+@@ -3833,30 +3751,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Spotify inlogfout"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify plug-in"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify plug-in niet geïnstalleerd"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standaard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Met ster"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Momenteel spelende afspeellijst starten"
+@@ -3866,7 +3764,6 @@
+ msgstr "Converteren starten"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Typ in de zoekbalk hierboven om naar muziek te zoeken op %1."
+@@ -3952,18 +3849,6 @@
+ msgid "Switch provider"
+ msgstr "Switch provider"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Spotify inbox synchroniseren"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Spotify afspeellijst synchroniseren"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Favoriete Spotify-nummers synchroniseren"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Tabs bovenaan"
+@@ -4350,10 +4235,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Globale proxy-instellingen gebruiken"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Volume normalisatie gebruiken"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Gebruikt"
+@@ -4369,7 +4250,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Gebruikersnaam"
+@@ -4607,22 +4487,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "U heeft geen Grooveshark Anywhere account."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "U heeft geen Spotify Premium account."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"U bent uitgelogd bij Spotify, voer in het voorkeuren venster nogmaals uw "
+-"wachtwoord in."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "U bent uitgelogd bij Spotify, voer nogmaals uw wachtwoord in."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "U vindt dit nummer mooi"
+@@ -4690,7 +4554,6 @@
+ msgstr "Uw scrobbles: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Uw gebruikersnaam of wachtwoord is niet correct."
+
+@@ -4779,8 +4642,6 @@
+ msgstr "in de laatste"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/oc.po clementine-libre-1.0.1/src/translations/oc.po
+--- clementine-1.0.1/src/translations/oc.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/oc.po 2012-05-29 17:25:36.176417975 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configurar los acorchis de clavièr"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Sus Internet"
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/pa.po clementine-libre-1.0.1/src/translations/pa.po
+--- clementine-1.0.1/src/translations/pa.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/pa.po 2012-05-29 17:26:32.036418109 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/pl.po clementine-libre-1.0.1/src/translations/pl.po
+--- clementine-1.0.1/src/translations/pl.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/pl.po 2012-05-29 17:27:25.839751300 -0400
+@@ -254,10 +254,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Potrzebne jest konto Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Musisz posiadać konto Spotify Premium."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -318,7 +314,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -591,14 +586,6 @@
+ msgid "Always start playing"
+ msgstr "Odtwarzaj automatycznie"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Aby korzystać ze Spotify przy użyciu Clementine, wymagany jest dodatkowy "
+-"skrypt. Czy chcesz go teraz pobrać?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Wystąpił błąd podczas kopiowania bazy danych iTunes z urządzenia"
+@@ -824,10 +811,6 @@
+ msgid "CUE sheet support"
+ msgstr "obsługa arkuszy CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Anuluj"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Zmień okładkę"
+@@ -1041,10 +1024,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Konfiguracja skrótów klawiszowych"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Konfiguracja Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Konfiguruj bibliotekę..."
+@@ -1062,10 +1041,6 @@
+ msgid "Connect device"
+ msgstr "Podłącz urządzenie"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Połącz z Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Stały bitrate"
+@@ -1481,10 +1456,6 @@
+ msgid "Download this album..."
+ msgstr "Pobierz ten album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Pobierz..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Pobieranie katalogu Icecast"
+@@ -1497,10 +1468,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Pobieranie katalogu Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Pobierz plugin Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Pobieranie metadanych"
+@@ -1651,10 +1618,6 @@
+ msgid "Error deleting songs"
+ msgstr "Błąd przy usuwaniu utworów"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Plugin Spotify - nieudane pobieranie"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1837,11 +1800,6 @@
+ msgid "Font size"
+ msgstr "Rozmiar czcionki"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Ze względów licencyjnych Spotify obsługiwany jest przez oddzielny plugin"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Wymuś kodowanie mono"
+@@ -2114,10 +2072,6 @@
+ "W trybie dynamicznym nowe utwory będą wybierane i dodawane do playlisty za "
+ "każdym razem gdy skończy się odtwarzanie bieżącego utworu."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Skrzynka odbiorcza"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Dołącz okładkę albumu"
+@@ -2146,10 +2100,6 @@
+ msgid "Insert..."
+ msgstr "Wstaw..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Zainstalowano"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2454,7 +2404,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2530,10 +2479,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Profil główny (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Uczyń playlistę dostępną offline"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Nieprawidłowa odpowiedź"
+@@ -2793,10 +2738,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Za mało sąsiadów"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Nie zainstalowano"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2931,7 +2872,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Hasło"
+@@ -3038,10 +2978,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Stan wtyczki:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3072,7 +3008,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Ustawienia"
+@@ -3090,10 +3025,6 @@
+ msgid "Preferred audio format"
+ msgstr "Preferowany format audio"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Preferowany format"
+@@ -3484,18 +3415,6 @@
+ msgid "Search Magnatune"
+ msgstr "Przeszukaj Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Szukaj w Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Szukaj w Spotify (nowa karta)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Szukaj w Spotify (nowa karta)"
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3821,30 +3740,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Nieudane logowanie do Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Wtyczka Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Nie zainstalowano pluginu Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standardowy"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Oznaczone gwiazdką"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Rozpocznij aktualnie odtwarzaną listę"
+@@ -3854,7 +3753,6 @@
+ msgstr "Rozpocznij transkodowanie"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3940,18 +3838,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Synchronizowanie skrzynki Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Synchronizowanie playlisty Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Synchronizowanie utworów oznaczonych gwiazdką na Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Zakładki na górze"
+@@ -4326,10 +4212,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Użyj systemowych ustawień proxy"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Użyto"
+@@ -4345,7 +4227,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Użytkownik"
+@@ -4579,20 +4460,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Kochasz tę ścieżkę"
+@@ -4662,7 +4529,6 @@
+ msgstr "Przesłane utwory: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4751,8 +4617,6 @@
+ msgstr "w ostatnich"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/pt_BR.po clementine-libre-1.0.1/src/translations/pt_BR.po
+--- clementine-1.0.1/src/translations/pt_BR.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/pt_BR.po 2012-05-29 17:30:29.606418269 -0400
+@@ -251,10 +251,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "É necessária uma conta Premium Spotify."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -313,7 +309,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -586,14 +581,6 @@
+ msgid "Always start playing"
+ msgstr "Sempre começar tocando"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Um plugin adicional é necessário para usar Spotify no Clementine. Gostaria "
+-"de fazer o download e instalá-lo agora?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -821,10 +808,6 @@
+ msgid "CUE sheet support"
+ msgstr "Suporte a lista CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Cancelar"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Alterar capa"
+@@ -1036,10 +1019,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configurar atalhos"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Configurar Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configurar biblioteca"
+@@ -1057,10 +1036,6 @@
+ msgid "Connect device"
+ msgstr "Conectar dispositivo"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Conectando ao Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Taxa de bits constante"
+@@ -1476,10 +1451,6 @@
+ msgid "Download this album..."
+ msgstr "Baixar este álbum..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Baixar..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Baixando diretório Icecast"
+@@ -1492,10 +1463,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Baixando catálogo da Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Baixando plugin Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Baixando metadados"
+@@ -1647,10 +1614,6 @@
+ msgid "Error deleting songs"
+ msgstr "Erro ao apagar músicas"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Erro ao baixar o plugin Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1834,12 +1797,6 @@
+ msgid "Font size"
+ msgstr "Tamanho da fonte"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Por motivos de licenciamento, o suporte ao Spotify está em um plugin "
+-"separado."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forçar codificação em mono"
+@@ -2113,10 +2070,6 @@
+ "No modo dinâmico, novas faixas serão escolhidas e adicionadas à lista de "
+ "reprodução toda a vez que uma musica terminar."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Caixa de entrada"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Incluir capa do álbum na notificação"
+@@ -2145,10 +2098,6 @@
+ msgid "Insert..."
+ msgstr "Inserir..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Instalado"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2453,7 +2402,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2529,10 +2477,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Meu perfil (PRINCIPAL)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Tornar lista de reprodução disponível offline"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Resposta inválida"
+@@ -2793,10 +2737,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Sem vizinhos o bastante"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Não instalado"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2931,7 +2871,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Senha"
+@@ -3038,10 +2977,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Status do plugin:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3072,7 +3007,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Preferências"
+@@ -3089,10 +3023,6 @@
+ msgid "Preferred audio format"
+ msgstr "Formato de áudio preferido"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Formato preferido"
+@@ -3483,18 +3413,6 @@
+ msgid "Search Magnatune"
+ msgstr "Pesquisar Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Procurar Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Procurar Spotify (abre um novo aba)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Procurar Spotify (abre um novo aba)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3819,30 +3737,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Erro ao conectar no Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Plugin Spofity"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Plugin Spofity não instalado"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Padrão"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Favoritos"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Iniciar a lista que está em execução"
+@@ -3852,7 +3750,6 @@
+ msgstr "Começar transcodificação"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3938,18 +3835,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Sincronizando caixa de entrada do Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Sincronizando listas de reprodução do Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Sincronizando faixas favoritas do Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Mostrar abas no topo"
+@@ -4329,10 +4214,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Usar configurações de proxy do sistema"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Usado"
+@@ -4348,7 +4229,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Nome de usuário"
+@@ -4582,20 +4462,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Você adora essa faixa"
+@@ -4661,7 +4527,6 @@
+ msgstr "Seus scrobbles: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4750,8 +4615,6 @@
+ msgstr "nos últimos"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/pt.po clementine-libre-1.0.1/src/translations/pt.po
+--- clementine-1.0.1/src/translations/pt.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/pt.po 2012-05-29 17:28:15.776418125 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Requer uma conta Grooveshark Anywhere"
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Requer uma conta Spotify Premium"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -316,7 +312,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -589,14 +584,6 @@
+ msgid "Always start playing"
+ msgstr "Iniciar sempre a reprodução"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Necessita de um \"plug-in\" para utilizar o Spotify no Clementine. Pretende "
+-"transferir e instalar o \"plug-in\"?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -823,10 +810,6 @@
+ msgid "CUE sheet support"
+ msgstr "Suporte a ficheiros CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Cancelar"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Alterar capa do álbum"
+@@ -1040,10 +1023,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configurar atalhos"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Configurar Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configurar coleção..."
+@@ -1061,10 +1040,6 @@
+ msgid "Connect device"
+ msgstr "Ligar dispositivo"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Ligar ao Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Taxa de dados constante"
+@@ -1480,10 +1455,6 @@
+ msgid "Download this album..."
+ msgstr "Transferir este álbum..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Transferir..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "A transferir o diretório Icecast"
+@@ -1496,10 +1467,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "A transferir o catálogo Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "A transferir o \"plug-in\" Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "A transferir dados"
+@@ -1652,10 +1619,6 @@
+ msgid "Error deleting songs"
+ msgstr "Erro ao eliminar faixas"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Erro ao transferir o \"plug-in\""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1837,12 +1800,6 @@
+ msgid "Font size"
+ msgstr "Tamanho de letra"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Devido à sua licença, o \"plug-in\" do Spotify é disponibilizado "
+-"separadamente"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forçar codificação mono"
+@@ -2114,10 +2071,6 @@
+ "No modo dinâmico, as faixas são escolhidas e adicionadas à lista de "
+ "reprodução assim que uma música termine"
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Caixa de entrada"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Incluir capa do álbum na notificação"
+@@ -2146,10 +2099,6 @@
+ msgid "Insert..."
+ msgstr "Inserir..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Instalado"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2454,7 +2403,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2530,10 +2478,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Perfil principal (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Tornar lista de reprodução disponível localmente"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Resposta inválida"
+@@ -2793,10 +2737,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Vizinhos insuficientes"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Não instalado"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Sessão não iniciada"
+@@ -2931,7 +2871,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Senha"
+@@ -3038,10 +2977,6 @@
+ msgid "Playlists"
+ msgstr "Listas de reprodução"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Estado:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3072,7 +3007,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Preferências"
+@@ -3089,10 +3023,6 @@
+ msgid "Preferred audio format"
+ msgstr "Formato áudio preferido"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Taxa de dados preferencial"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Formato preferido"
+@@ -3483,18 +3413,6 @@
+ msgid "Search Magnatune"
+ msgstr "Pesquisar no Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Procurar no Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Procurar no Spotify (abre um novo separador)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Procurar no Spotify (abre um novo separador)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Procurar em todas as fontes (coleção, internet, ...)"
+@@ -3820,30 +3738,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Erro de autenticação Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "\"Plug-in\" Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "\"Plug-in\" Spotify não instalado"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Padrão"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Com estrela"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Iniciar lista de reprodução atual"
+@@ -3853,7 +3751,6 @@
+ msgstr "Iniciar conversão"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Escreva algo na caixa de procura para descobrir músicas no %1"
+@@ -3939,18 +3836,6 @@
+ msgid "Switch provider"
+ msgstr "Trocar fornecedor"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "A sincronizar caixa de entrada Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "A sincronizar lista de reprodução Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "A sincronizar faixas Spotify assinaladas"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Separadores no topo"
+@@ -4333,10 +4218,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Utilizar definições do sistema"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Utilizar normalização de volume"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Utilizado"
+@@ -4352,7 +4233,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Utilizador"
+@@ -4589,22 +4469,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Você não tem uma conta Grooveshark Anywhere"
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Você não tem uma conta Spotify Premium"
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Terminou a sessão no Spotify. Reintroduza a sua senha na caixa de diálogo de"
+-" definições"
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Terminou a sessão no Spotify. Reintroduza a sua senha"
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Você gosta desta faixa"
+@@ -4671,7 +4535,6 @@
+ msgstr "Os seus envios: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Utilizador e/ou senha inválida"
+
+@@ -4760,8 +4623,6 @@
+ msgstr "no(s) último(s)"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/ro.po clementine-libre-1.0.1/src/translations/ro.po
+--- clementine-1.0.1/src/translations/ro.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ro.po 2012-05-29 17:31:07.169751658 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Este necesar un cont Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Este necesar un cont Spotify Premium."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -317,7 +313,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -590,14 +585,6 @@
+ msgid "Always start playing"
+ msgstr "Începe redarea întotdeauna"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Este necesara activarea unui plugin pentru utlizarea Spotify in Clementine. "
+-"Doriți să fie descărcat si instalat acum?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "A apărut o eroare de copiere a bazei de date iTunes de pe dispozitiv"
+@@ -823,10 +810,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE placa suport"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Anulare"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Schimbă imaginea coperții"
+@@ -1037,10 +1020,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Configurează scurtături"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Configurare Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Configurează biblioteca..."
+@@ -1058,10 +1037,6 @@
+ msgid "Connect device"
+ msgstr "Conectează un dispozitiv"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Se conectează la Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Rată de biți constantă"
+@@ -1477,10 +1452,6 @@
+ msgid "Download this album..."
+ msgstr "Descarcă acest album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Descărcare..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Descărcare dosarul Icecast"
+@@ -1493,10 +1464,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Descărcare catalog Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Se descarcă pluginul Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Descărcare metadata"
+@@ -1651,10 +1618,6 @@
+ msgid "Error deleting songs"
+ msgstr "Eroare ștergere melodii"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Eroare la descărcarea pluginului Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1838,11 +1801,6 @@
+ msgid "Font size"
+ msgstr "Dimensiunea fontului"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"Din motive de licență, suportul pentru Spotify este într-un plugin separat."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Forțează codarea mono"
+@@ -2114,10 +2072,6 @@
+ "În modul dinamic, melodii noi vor fi alese și adăugate la lista de redare de"
+ " fiecare dată când se termină o melodie."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Includeți album de artă în notificare"
+@@ -2146,10 +2100,6 @@
+ msgid "Insert..."
+ msgstr "Introduce..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Instalat"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2452,7 +2402,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2528,10 +2477,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Profil principal (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2788,10 +2733,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Nu sunt destui vecini"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Neinstalat"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2926,7 +2867,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Parolă"
+@@ -3033,10 +2973,6 @@
+ msgid "Playlists"
+ msgstr "Liste de redare"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Status plugin:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3067,7 +3003,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Preferinţe"
+@@ -3084,10 +3019,6 @@
+ msgid "Preferred audio format"
+ msgstr "Format audio preferat"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Rată de biți preferată"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Format preferat"
+@@ -3478,18 +3409,6 @@
+ msgid "Search Magnatune"
+ msgstr "Caută în Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Caută în Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Caută în Spotify (deschide o filă nouă)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Caută în Spotify (deschide o filă nouă)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3814,30 +3733,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Eroare la logarea în Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Plugin Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Pluginul Spotify nu este instalat"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Cu steluță"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3847,7 +3746,6 @@
+ msgstr "Începe transcodare"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3933,18 +3831,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "File deasupra"
+@@ -4304,10 +4190,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Folosește setările de proxy ale sistemului"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4323,7 +4205,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Nume de utilizator"
+@@ -4549,20 +4430,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Nu aveți un cont Spotify Premium."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4622,7 +4489,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Parola sau numele de utilizator au fost incorecte."
+
+@@ -4711,8 +4577,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/ru.po clementine-libre-1.0.1/src/translations/ru.po
+--- clementine-1.0.1/src/translations/ru.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/ru.po 2012-05-29 17:31:44.913085063 -0400
+@@ -256,10 +256,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Требуется учётная запись Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Требуется Premium аккаунт Spotify"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -320,7 +316,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -593,14 +588,6 @@
+ msgid "Always start playing"
+ msgstr "Всегда начинать воспроизведение"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Требуется дополнительный модуль для использования Spotify в Clementine. "
+-"Скачать и установить его?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Произошла ошибка при загрузке данных iTunes с устройства"
+@@ -826,10 +813,6 @@
+ msgid "CUE sheet support"
+ msgstr "Поддержка файлов разметки CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Отмена"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Выберите обложку"
+@@ -1045,10 +1028,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Комбинации клавиш"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Настройка Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Настроить коллекцию..."
+@@ -1066,10 +1045,6 @@
+ msgid "Connect device"
+ msgstr "Подсоединение устройства"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Подключение к Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Постоянный битрейт"
+@@ -1485,10 +1460,6 @@
+ msgid "Download this album..."
+ msgstr "Загрузить этот альбом"
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Загрузить..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Загружаем директорию Icecast"
+@@ -1501,10 +1472,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Скачать каталог Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Загрузка модуля Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Загрузка метаданных"
+@@ -1658,10 +1625,6 @@
+ msgid "Error deleting songs"
+ msgstr "Ошибка удаления композиций"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Ошибка загрузки модуля Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1845,12 +1808,6 @@
+ msgid "Font size"
+ msgstr "Размер шрифта"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"По лицензионным соображениям поддержка Spotify реализована в виде отдельного"
+-" плагина"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Принудительное кодирование в моно"
+@@ -2122,10 +2079,6 @@
+ "В динамическом режиме новые треки выбираются и добавляются в список "
+ "воспроизведения каждый раз, когда заканчивается очередная песня."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Входящие"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Показывать обложку альбома в уведомлении"
+@@ -2154,10 +2107,6 @@
+ msgid "Insert..."
+ msgstr "Вставить..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Установлено"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Интернет"
+@@ -2462,7 +2411,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2538,10 +2486,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Основной профиль (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Сделать плейлист доступным оффлайн"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Неправильный ответ"
+@@ -2800,10 +2744,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Недостаточно соседей"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Не установлено"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Не был выполнен логин"
+@@ -2938,7 +2878,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Пароль"
+@@ -3045,10 +2984,6 @@
+ msgid "Playlists"
+ msgstr "Списки воспроизведения"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Статус модуля:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3079,7 +3014,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Настройки"
+@@ -3096,10 +3030,6 @@
+ msgid "Preferred audio format"
+ msgstr "Предпочитаемый аудио формат"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Предпочитаемый битрейт"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Предпочитаемый формат"
+@@ -3490,18 +3420,6 @@
+ msgid "Search Magnatune"
+ msgstr "Искать на Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Поиск на Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Поиск на Spotify (открывается в новой вкладке)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Поиск на Spotify (в новой вкладке)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Искать во всех источниках (библиотеке, интернет сервисах, ...)"
+@@ -3827,30 +3745,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Ошибка имени пользователя Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Модуль Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Модуль Spotify не установлен"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Стандартный"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Оцененные"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Запустить список воспроизведения проигрываемый в данный момент"
+@@ -3860,7 +3758,6 @@
+ msgstr "Начать перекодирование"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Наберите начальные буквы наименования песни чтобы начать поиск в %1"
+@@ -3946,18 +3843,6 @@
+ msgid "Switch provider"
+ msgstr "Выбрать другой источник"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Синхронизация входящих Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Синхронизация плейлистов Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Синхронизация рейтингованных треков Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Вкладки вверху"
+@@ -4336,10 +4221,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Использовать системные настройки прокси"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Использовать выравнивание громкости"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Использовано"
+@@ -4355,7 +4236,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Имя пользователя"
+@@ -4591,23 +4471,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "У вас нет учетной записи Grooveshark Anywhere"
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "У вас нет учетной записи Spotify Premium"
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Подключение к сервису Spotify было разорвано, введите ваш пароль ещё раз в"
+-" диалоге Настройки."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-"Подключение к сервису Spotify было разорвано, введите ваш пароль ещё раз."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Вам нравится эта композиция"
+@@ -4675,7 +4538,6 @@
+ msgstr "Ваш скробблинг: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Имя пользователя или пароль неправильные."
+
+@@ -4764,8 +4626,6 @@
+ msgstr "в последние"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "кбит/с"
+
+diff -rauN clementine-1.0.1/src/translations/sk.po clementine-libre-1.0.1/src/translations/sk.po
+--- clementine-1.0.1/src/translations/sk.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/sk.po 2012-05-29 17:32:30.349751863 -0400
+@@ -252,10 +252,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Je vyžadovaný Grooveshark Anywhere účet."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Je vyžadovaný prémium účet na Spotify."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -314,7 +310,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -587,14 +582,6 @@
+ msgid "Always start playing"
+ msgstr "Hneď začne hrať"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Aby sa dalo Spotify využiť v Clementine, je vyžadovaný ďalší plugin. Chcete "
+-"ho teraz stiahnuť a nainštalovať?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Nastala chyba pri kopírovaní iTunes databázy zo zariadenia"
+@@ -820,10 +807,6 @@
+ msgid "CUE sheet support"
+ msgstr "podpora CUE zoznamu"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Zrušiť"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Zmeniť obal albumu"
+@@ -1034,10 +1017,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Klávesové skratky"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Nastaviť Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Nastaviť zbierku..."
+@@ -1055,10 +1034,6 @@
+ msgid "Connect device"
+ msgstr "Pripojiť zariadenie"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Pripájanie k Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Konštantný dátový tok"
+@@ -1474,10 +1449,6 @@
+ msgid "Download this album..."
+ msgstr "Stiahnuť tento album..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Stiahnuť..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Sťahuje sa Icecast priečinok"
+@@ -1490,10 +1461,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Sťahuje sa Magnatune katalóg"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Sťahuje sa Spotify plugin"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Sťahujú sa metadáta"
+@@ -1648,10 +1615,6 @@
+ msgid "Error deleting songs"
+ msgstr "Chyba pri vymazávaní piesní"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Chyba pri sťahovaní Spotify pluginu."
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1834,10 +1797,6 @@
+ msgid "Font size"
+ msgstr "Veľkosť písma"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Kvôli licenčným dôvodom je podpora Spotify v oddelenom plugine."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Vynútiť mono enkódovanie"
+@@ -2109,10 +2068,6 @@
+ "V dynamickom režime budú nové skladby vybraté a pridané do playlistu "
+ "zakaždým keď skončí pieseň."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Doručené"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Zahrnúť obal do upozornenia"
+@@ -2141,10 +2096,6 @@
+ msgid "Insert..."
+ msgstr "Vložiť..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Nainštalované"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2447,7 +2398,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2523,10 +2473,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Hlavný profil (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Urobiť playlist dostupný offline"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Poškodená odpoveď"
+@@ -2785,10 +2731,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Nedostatok susedov"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Nenainštalované"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Nieprihlásený"
+@@ -2923,7 +2865,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Heslo"
+@@ -3030,10 +2971,6 @@
+ msgid "Playlists"
+ msgstr "Playlisty"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Stav pluginu:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3064,7 +3001,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Nastavenia"
+@@ -3081,10 +3017,6 @@
+ msgid "Preferred audio format"
+ msgstr "Preferovaný formát zvuku"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Preferovaný dátový tok"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Preferovaný formát"
+@@ -3475,18 +3407,6 @@
+ msgid "Search Magnatune"
+ msgstr "Hľadať na Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Hľadať v Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Hľadať v Spotify (otvorí novú kartu)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Hľadať v Spotify (otvorí novú kartu)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3812,30 +3732,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Chyba pri prihlasovaní na Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify plugin"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify plugin nieje nainštalovaný"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Štandardný"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "S hviezdičkou"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Začať playlist práve prehrávanou"
+@@ -3845,7 +3745,6 @@
+ msgstr "Začať transkódovanie"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3932,18 +3831,6 @@
+ msgid "Switch provider"
+ msgstr "Zmeniť poskytovateľa"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Synchronizuje sa Spotify schránka"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Synchronizuje sa Spotify playlist"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Synchronizujú sa skladby ohviezdičkované na Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Karty na vrchu"
+@@ -4325,10 +4212,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Použiť systémové nastavenia proxy"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Použiť normalizáciu hlasitosti"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Použitých"
+@@ -4344,7 +4227,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Meno používateľa"
+@@ -4580,22 +4462,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Nemáte Grooveshark Anywhere účet."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Nemáte Spotify prémium účet."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Boli ste odhlásení zo Spotify, prosím, zadajte heslo znovu v dialógu "
+-"Nastavenia."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Boli ste odhlásený zo Spotify, prosím znovu zadajte heslo."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Milujete túto pieseň"
+@@ -4663,7 +4529,6 @@
+ msgstr "Skroblujete: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Vaše meno používateľa alebo heslo bolo nesprávne."
+
+@@ -4752,8 +4617,6 @@
+ msgstr "za posledných"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/sl.po clementine-libre-1.0.1/src/translations/sl.po
+--- clementine-1.0.1/src/translations/sl.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/sl.po 2012-05-29 17:41:04.549752271 -0400
+@@ -252,10 +252,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Zahtevan je račun Spotify Premium."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -314,7 +310,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -587,14 +582,6 @@
+ msgid "Always start playing"
+ msgstr "Vedno začni s predvajanjem"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Da lahko uporabite Spotify v Clementine, potrebujete dodaten vstavek. Ga "
+-"želite prejeti in namestiti zdaj?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -822,10 +809,6 @@
+ msgid "CUE sheet support"
+ msgstr "Podpora predlogam CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Prekliči"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Spremeni ovitek albuma"
+@@ -1039,10 +1022,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Nastavi bližnjice"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Nastavi Spotify ..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Nastavi knjižnico ..."
+@@ -1060,10 +1039,6 @@
+ msgid "Connect device"
+ msgstr "Priklopi napravo"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Povezovanje na Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Stalna bitna hitrost"
+@@ -1479,10 +1454,6 @@
+ msgid "Download this album..."
+ msgstr "Prejmi ta album ..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Prejmi ..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Prejemanje imenika Icecast"
+@@ -1495,10 +1466,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Prejemanje kataloga Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Prejemanje vstavka Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Prejemanje metapodatkov"
+@@ -1651,10 +1618,6 @@
+ msgid "Error deleting songs"
+ msgstr "Napaka pri brisanju skladb"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Napaka med prejemanjem vstavka Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1836,10 +1799,6 @@
+ msgid "Font size"
+ msgstr "Velikost pisave"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Zaradi licence je podpora Spotify v ločenem vstavku."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Vsili mono kodiranje"
+@@ -2111,10 +2070,6 @@
+ "V dinamičnem načinu bodo nove skladbe izbrane in dodane na seznam "
+ "predvajanja vsakič, ko se prejšnja skladba konča."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Prejeto"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Vključi ovitek albuma v obvestilo"
+@@ -2143,10 +2098,6 @@
+ msgid "Insert..."
+ msgstr "Vstavi ..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Nameščeno"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Medmrežje"
+@@ -2449,7 +2400,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2525,10 +2475,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Glavni profil (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Seznam predvajanja naj bo na voljo tudi brez povezave"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Nepravilno oblikovan odziv"
+@@ -2787,10 +2733,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Ni dovolj sosedov"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Ni nameščeno"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2925,7 +2867,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Geslo"
+@@ -3032,10 +2973,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Stanje vstavka:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3066,7 +3003,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Možnosti"
+@@ -3083,10 +3019,6 @@
+ msgid "Preferred audio format"
+ msgstr "Prednostna vrsta zvoka"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Prednostna vrsta"
+@@ -3477,18 +3409,6 @@
+ msgid "Search Magnatune"
+ msgstr "Išči na Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Išči po Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Išči po Spotify (odpre nov zavihek)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Išči po Spotify (odpre nov zavihek) ..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3814,30 +3734,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Napaka med prijavo na Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Vstavek Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Vstavek Spotify ni nameščen"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Običajno"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Z zvezdico"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Predvajaj skladbo, ki je označena v predvajalnem seznamu"
+@@ -3847,7 +3747,6 @@
+ msgstr "Začni s prekodiranjem"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3933,18 +3832,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Usklajevanje mape Spotify - prejeto"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Usklajevanje seznama predvajanja Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Usklajevanje označenih skladb v Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Zavihki na vrhu"
+@@ -4322,10 +4209,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Uporabi nastavitve posredniškega strežnika sistema"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Uporabljeno"
+@@ -4341,7 +4224,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Uporabniško ime"
+@@ -4575,20 +4457,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "To je vaša priljubljena skladba"
+@@ -4655,7 +4523,6 @@
+ msgstr "Vaši seznami predvajanih skladb: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4744,8 +4611,6 @@
+ msgstr "v zadnjih"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kb/s"
+
+diff -rauN clementine-1.0.1/src/translations/sr@latin.po clementine-libre-1.0.1/src/translations/sr@latin.po
+--- clementine-1.0.1/src/translations/sr@latin.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/sr@latin.po 2012-05-29 17:42:43.256419021 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr ""
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr ""
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr ""
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4501,20 +4385,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4574,7 +4444,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4663,8 +4532,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/sr.po clementine-libre-1.0.1/src/translations/sr.po
+--- clementine-1.0.1/src/translations/sr.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/sr.po 2012-05-29 17:41:46.463085756 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Потребан је Spotify Premium налог"
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -311,7 +307,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -584,14 +579,6 @@
+ msgid "Always start playing"
+ msgstr "Увек почни да свираш"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Додатак је потребан да би се користио Spotify у Клементини. Да ли желиш да "
+-"га преузмеш и одмах уградиш?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Дошло је до грешке услед копирања базе података iTunes из уређаја"
+@@ -817,10 +804,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE подршка листа"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Otkaži"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Промени слику насловне"
+@@ -1030,10 +1013,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Подеси пречице"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Подеси Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Подеси библиотеку"
+@@ -1051,10 +1030,6 @@
+ msgid "Connect device"
+ msgstr "Повежи уређај"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Повежи се на Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Константан битни проток"
+@@ -1470,10 +1445,6 @@
+ msgid "Download this album..."
+ msgstr "Preuzmi ovaj albm"
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Preuzmi..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Преузимање Icecast директоријума"
+@@ -1486,10 +1457,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Преузми Магнатјунов каталог"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Преузимање Spotify додатка"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Преузимање метаподатака"
+@@ -1641,10 +1608,6 @@
+ msgid "Error deleting songs"
+ msgstr "Грешка при брисању песама"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Грешка преузимања Spotify додатка"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1828,10 +1791,6 @@
+ msgid "Font size"
+ msgstr "Veličina fonta"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Због лиценцираниг разлога Spotify подршка је на посебном додатку."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Присили моно енкодирање"
+@@ -2102,10 +2061,6 @@
+ "У промењивом режиму нове нумере ће бити изабране и додате листи сваки пут "
+ "кад се песма заврши."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Сандуче"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Укључи омоте албума у обавештења"
+@@ -2134,10 +2089,6 @@
+ msgid "Insert..."
+ msgstr "Убаци..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Instalirano"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Интернет"
+@@ -2441,7 +2392,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2517,10 +2467,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Главни налог (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Направи листу доступну ван мреже"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Лош одговор"
+@@ -2778,10 +2724,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Нема довољно комшија"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Није уграђен"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2916,7 +2858,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Лозинка"
+@@ -3023,10 +2964,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Статус додатка:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Поп"
+@@ -3057,7 +2994,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Поставке"
+@@ -3074,10 +3010,6 @@
+ msgid "Preferred audio format"
+ msgstr "Пожељни формат звука"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Жељени формат"
+@@ -3468,18 +3400,6 @@
+ msgid "Search Magnatune"
+ msgstr "Претражи Магнатјун"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Потражи Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Потражи Spotify (отвара нову картицу)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Потражи Spotify (отвара нову картицу)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3804,30 +3724,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Spotify грешка пријављивања"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify додатак"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify додатак није уграђен"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Стандард"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Звездицом"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Почни листу тренутно пуштаним"
+@@ -3837,7 +3737,6 @@
+ msgstr "Започни транскодирање"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3923,18 +3822,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Усаглашавање Spotify сандучета"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Усаглашавање Spotify листе"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Усаглашавање Spotify оцењених нумера"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Картице на врх"
+@@ -4313,10 +4200,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "искоришћено"
+@@ -4332,7 +4215,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Корисничко име"
+@@ -4560,20 +4442,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4633,7 +4501,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4722,8 +4589,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kb/s"
+
+diff -rauN clementine-1.0.1/src/translations/sv.po clementine-libre-1.0.1/src/translations/sv.po
+--- clementine-1.0.1/src/translations/sv.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/sv.po 2012-05-29 17:43:39.719752433 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Ett Grooveshark Anywhere konto krävs."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Kräver ett Spotify Premium-konto."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -316,7 +312,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -589,14 +584,6 @@
+ msgid "Always start playing"
+ msgstr "Starta alltid att spela"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Ett ytterligare insticksprogram krävs för att använda Spotify i Clementine. "
+-"Vill du ladda ner och installera det nu?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Ett fel uppstod vid kopiering av iTunes-databasen från enheten"
+@@ -822,10 +809,6 @@
+ msgid "CUE sheet support"
+ msgstr "Stöd för CUE-filer"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Avbryt"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Ändra omslag"
+@@ -1039,10 +1022,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Konfigurera snabbtangenter"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Anpassa Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Konfigurera biblioteket..."
+@@ -1060,10 +1039,6 @@
+ msgid "Connect device"
+ msgstr "Anslut enhet"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Ansluter till Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Konstant bithastighet"
+@@ -1479,10 +1454,6 @@
+ msgid "Download this album..."
+ msgstr "Ladda ner det här albumet ..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Ladda ner..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Ladda ner Icecast-katalog"
+@@ -1495,10 +1466,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Hämtar katalog från Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Laddar ner Spotify-insticket"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Hämtar metadata"
+@@ -1650,10 +1617,6 @@
+ msgid "Error deleting songs"
+ msgstr "Fel vid borttagning av låtar"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Fel vid hämtning av Spotify-insticket"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1835,10 +1798,6 @@
+ msgid "Font size"
+ msgstr "Typsnittsstorlek"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Av licensskäl finns Spotify-stöd i ett separat insticksprogram."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Tvinga enkanalskodning"
+@@ -2109,10 +2068,6 @@
+ "I dynamiskt läge kommer nya spår väljas och läggas till i spellistan varje "
+ "gång en låt tar slut."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Inkorg"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Inkludera albumomslag i notifieringen"
+@@ -2141,10 +2096,6 @@
+ msgid "Insert..."
+ msgstr "Infoga..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Installerad"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2447,7 +2398,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2523,10 +2473,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Huvudprofil (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Gör spellista tillgänglig offline"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Felformaterat svar"
+@@ -2784,10 +2730,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Inte tillräckligt med grannar"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Inte installerad"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2922,7 +2864,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Lösenord"
+@@ -3029,10 +2970,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Instickstatus:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3063,7 +3000,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Inställningar"
+@@ -3080,10 +3016,6 @@
+ msgid "Preferred audio format"
+ msgstr "Önskat ljudformat"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Önskat format"
+@@ -3474,18 +3406,6 @@
+ msgid "Search Magnatune"
+ msgstr "Sök i Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Sök på Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Sök på Spotify (öppnar en ny flik)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Sök på Spotify (öppnar en ny flik)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3810,30 +3730,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Fel vid inloggning på Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify-insticksprogram"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify-insticksprogrammet är inte installerat"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Stjärnmärkta"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Starta spellistan som spelas för närvarande"
+@@ -3843,7 +3743,6 @@
+ msgstr "Starta omkodning"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3929,18 +3828,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Synkroniserar Spotify-inkorg"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Synkroniserar Spotify-spellista"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Synkroniserar stjärnmärkta spår i Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Flikar längst upp"
+@@ -4321,10 +4208,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Använd systemets proxy inställningar"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Använd"
+@@ -4340,7 +4223,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Användarnamn"
+@@ -4574,20 +4456,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Du älskar detta spår"
+@@ -4655,7 +4523,6 @@
+ msgstr "Dina skrobblingar: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4744,8 +4611,6 @@
+ msgstr "de senaste"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/translations.pot clementine-libre-1.0.1/src/translations/translations.pot
+--- clementine-1.0.1/src/translations/translations.pot 2012-01-22 07:43:21.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/translations.pot 2012-05-29 17:45:10.709752528 -0400
+@@ -239,10 +239,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -297,7 +293,6 @@
+
+ #: ../mingw/src/ui_groovesharksettingspage.h:113
+ #: ../mingw/src/ui_magnatunesettingspage.h:155
+-#: ../mingw/src/ui_spotifysettingspage.h:209
+ #: ../mingw/src/ui_remotesettingspage.h:203
+ #: ../mingw/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -571,12 +566,6 @@
+ msgid "Always start playing"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -803,10 +792,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../mingw/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1005,10 +990,6 @@
+ msgid "Configure Shortcuts"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:490
+ msgid "Configure library..."
+ msgstr ""
+@@ -1026,10 +1007,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../mingw/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1431,10 +1408,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../mingw/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1447,10 +1420,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr ""
+@@ -1600,10 +1569,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1785,10 +1750,6 @@
+ msgid "Font size"
+ msgstr ""
+
+-#: ../mingw/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../mingw/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2053,10 +2014,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../mingw/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr ""
+@@ -2086,10 +2043,6 @@
+ msgid "Insert..."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:252
+ msgid "Internet"
+ msgstr ""
+@@ -2391,7 +2344,6 @@
+ #: ../mingw/src/ui_digitallyimportedsettingspage.h:163
+ #: ../mingw/src/ui_groovesharksettingspage.h:116
+ #: ../mingw/src/ui_magnatunesettingspage.h:164
+-#: ../mingw/src/ui_spotifysettingspage.h:212
+ #: ../mingw/src/ui_remotesettingspage.h:205
+ #: ../mingw/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2468,10 +2420,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr ""
+@@ -2730,10 +2678,6 @@
+ msgid "Not enough neighbors"
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2868,7 +2812,6 @@
+
+ #: ../mingw/src/ui_groovesharksettingspage.h:115
+ #: ../mingw/src/ui_magnatunesettingspage.h:165
+-#: ../mingw/src/ui_spotifysettingspage.h:211
+ #: ../mingw/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr ""
+@@ -2975,10 +2918,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../mingw/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr ""
+@@ -3009,7 +2948,6 @@
+
+ #: ../mingw/src/ui_digitallyimportedsettingspage.h:166
+ #: ../mingw/src/ui_magnatunesettingspage.h:166
+-#: ../mingw/src/ui_spotifysettingspage.h:217
+ #: ../mingw/src/ui_settingsdialog.h:115
+ #: ../mingw/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+@@ -3027,10 +2965,6 @@
+ msgid "Preferred audio format"
+ msgstr ""
+
+-#: ../mingw/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../mingw/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3422,18 +3356,6 @@
+ msgid "Search Magnatune"
+ msgstr ""
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../mingw/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3756,30 +3678,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../mingw/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../mingw/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../mingw/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:145
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3789,7 +3691,6 @@
+ msgstr ""
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3875,18 +3776,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr ""
+@@ -4246,10 +4135,6 @@
+ msgid "Use the system proxy settings"
+ msgstr ""
+
+-#: ../mingw/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr ""
+@@ -4265,7 +4150,6 @@
+
+ #: ../mingw/src/ui_groovesharksettingspage.h:114
+ #: ../mingw/src/ui_magnatunesettingspage.h:163
+-#: ../mingw/src/ui_spotifysettingspage.h:210
+ #: ../mingw/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr ""
+@@ -4489,20 +4373,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr ""
+@@ -4562,7 +4432,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4651,8 +4520,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr ""
+
+diff -rauN clementine-1.0.1/src/translations/tr.po clementine-libre-1.0.1/src/translations/tr.po
+--- clementine-1.0.1/src/translations/tr.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/tr.po 2012-05-29 17:44:19.953085826 -0400
+@@ -256,10 +256,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Grooveshark Anywhere hesabı gereklidir."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Spotify üyeliği gerekli."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -318,7 +314,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -591,14 +586,6 @@
+ msgid "Always start playing"
+ msgstr "Her zaman çalarak başlat"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Spotify'ın Clementine'de kullanılması için harici bir eklenti gerekmektedir."
+-" Şimdi indirmek ve kurulumunu yapmak ister misiniz?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Aygıttan iTunes veritabanı kopyalanırken hata oluştu"
+@@ -824,10 +811,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE desteği"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "İptal"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Kapak resmini değiştir"
+@@ -1038,10 +1021,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Kısayolları Yapılandır"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Spotify Ayarları..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Kütüphaneyi düzenle..."
+@@ -1059,10 +1038,6 @@
+ msgid "Connect device"
+ msgstr "Aygıtı bağla"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Spotify'a bağlanılıyor."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Sabit bithızı"
+@@ -1478,10 +1453,6 @@
+ msgid "Download this album..."
+ msgstr "Bu albümü indirin..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "İndir..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Icecast dizini indiriliyor"
+@@ -1494,10 +1465,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Magnatune kataloğu indiriliyor"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Spotify eklentisi indiriliyor"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Üstveri indiriliyor"
+@@ -1652,10 +1619,6 @@
+ msgid "Error deleting songs"
+ msgstr "Şarkılar silinirken hata"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Spotify eklentisini indirirken hata"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1837,10 +1800,6 @@
+ msgid "Font size"
+ msgstr "Yazı tipi boyutu"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Lisans sebepleri dolayısıyla Spotify desteği ayrı bir eklentidir."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Mono çözümlemeye zorla"
+@@ -2112,10 +2071,6 @@
+ "Dinamik modda yeni şarkılar seçilerek, her şarkı bittiğinde çalma listesine "
+ "eklenecektir."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Gelen Kutusu"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Bildirimde albüm resimlendirmesini göster"
+@@ -2144,10 +2099,6 @@
+ msgid "Insert..."
+ msgstr "Ekle..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Kuruldu"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2454,7 +2405,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2530,10 +2480,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Ana profil (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Çalma listesini çevrim dışındayken kullanılabilir yap"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Bozuk yanıt"
+@@ -2792,10 +2738,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Yeterli komşu yok"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Kurulu değil"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Giriş yapmadınız"
+@@ -2930,7 +2872,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Parola"
+@@ -3037,10 +2978,6 @@
+ msgid "Playlists"
+ msgstr "Çalma listeleri"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Eklenti durumu:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3071,7 +3008,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Tercihler"
+@@ -3088,10 +3024,6 @@
+ msgid "Preferred audio format"
+ msgstr "Tercih edilen ses biçimleri"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Tercih edilen bit oranı"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Tercih edilen biçim"
+@@ -3482,18 +3414,6 @@
+ msgid "Search Magnatune"
+ msgstr "Magnatune'da Ara"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Spotify'i ara"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Spotify'i ara (yeni sekme açar)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Spotify'i ara (yeni sekme açar)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Tüm kaynaklarınızda arayın (kütüphane, internet servisleri, ...)"
+@@ -3818,30 +3738,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Spotify giriş hatası"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Spotify eklentisi"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Spotify eklentisi kurulu değil"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Standard"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Yıldızlı"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Çalma listesini mevcut çalınanla başlat"
+@@ -3851,7 +3751,6 @@
+ msgstr "Dönüştürmeye başla"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Müzik bulmak için yukarıdaki arama kutusuna yazarak başlayın %1 "
+@@ -3937,18 +3836,6 @@
+ msgid "Switch provider"
+ msgstr "Anahtar sağlayıcı"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Spotify gelen kutusu eşleniyor"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Spotify çalma listesi eşleniyor"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Spotify yıldızlı şarkılar eşleniyor"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Üstteki sekmeler"
+@@ -4320,10 +4207,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Sistem vekil sunucu ayarlarını kullan"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Ses normalleştirme kullan"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Kullanılan"
+@@ -4339,7 +4222,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Kullanıcı Adı"
+@@ -4574,22 +4456,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Bir Grooveshark Anywhere hesabınız yok"
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Spotify Premium hesabınız yok."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Spotify servisinden çıktınız, lütfen Ayarlar ekranında parolanızı yeniden "
+-"girin."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Spotify servisinden çıktınız, lütfen parolanızı yeniden girin."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Bu şarkıyı seviyorsunuz"
+@@ -4656,7 +4522,6 @@
+ msgstr "Skroplarınız: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Kullanıcı adı veya parolanız yanlış."
+
+@@ -4745,8 +4610,6 @@
+ msgstr "Sonuncu"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/uk.po clementine-libre-1.0.1/src/translations/uk.po
+--- clementine-1.0.1/src/translations/uk.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/uk.po 2012-05-29 17:45:51.199752577 -0400
+@@ -254,10 +254,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Потрібен обліковий запис Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Потрібен обліковий запис Spotify Premium."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -318,7 +314,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -591,14 +586,6 @@
+ msgid "Always start playing"
+ msgstr "Завжди починати відтворення"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Для користування Spotify в Clementine, потрібний додатковий модуль. "
+-"Завантажити і встановити його зараз?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Виникла помилка копіювання бази даних iTunes з пристрою"
+@@ -824,10 +811,6 @@
+ msgid "CUE sheet support"
+ msgstr "Підтримка листів CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Скасувати"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Змінити обкладинку"
+@@ -1039,10 +1022,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Налаштування комбінацій клавіш"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Налаштування Spotify…"
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Налаштувати фонотеку"
+@@ -1060,10 +1039,6 @@
+ msgid "Connect device"
+ msgstr "З’єднати пристрій"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "З'єднання зі Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Стала бітова швидкість"
+@@ -1479,10 +1454,6 @@
+ msgid "Download this album..."
+ msgstr "Завантажити цей альбом…"
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Звантажити…"
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Завантажую каталог Icecast"
+@@ -1495,10 +1466,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Завантаження каталогу Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Завантаження модуля Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Завантажую метадані"
+@@ -1651,10 +1618,6 @@
+ msgid "Error deleting songs"
+ msgstr "Помилка вилучення композицій"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Помилка завантаження модуля Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1837,11 +1800,6 @@
+ msgid "Font size"
+ msgstr "Розмір шрифту"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-"З підстав ліцензування, для підтримки Spotify потрібен спеціальний модуль."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Примусове моно-кодування"
+@@ -2113,10 +2071,6 @@
+ "У динамічному режимі нові доріжку буде обрано та додано до списку "
+ "відтворення кожного разу як завершується пісня."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Вхідні"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Показувати обкладинку в повідомлені"
+@@ -2145,10 +2099,6 @@
+ msgid "Insert..."
+ msgstr "Вставити…"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Встановлено"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Інтернет"
+@@ -2451,7 +2401,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2527,10 +2476,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Основний профіль (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Зробити список відтворення доступним онлайн"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Спотворений відгук"
+@@ -2789,10 +2734,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Недостатньо сусідів"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Не встановлено"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Вхід не здійснено"
+@@ -2927,7 +2868,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Пароль"
+@@ -3034,10 +2974,6 @@
+ msgid "Playlists"
+ msgstr "Списки відтворення"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Статус модуля:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Поп"
+@@ -3068,7 +3004,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Параметри"
+@@ -3085,10 +3020,6 @@
+ msgid "Preferred audio format"
+ msgstr "Бажаний аудіо формат"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Бажана бітова швидкість"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Бажаний формат"
+@@ -3479,18 +3410,6 @@
+ msgid "Search Magnatune"
+ msgstr "Пошук на Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Пошук в Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Пошук в Spotify (у новій вкладці)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Пошук в Spotify (у новій вкладці)…"
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Шукати у всіх джерелах даних (бібліотеці, на службах інтернету тощо)"
+@@ -3816,30 +3735,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Помилка входу до Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Модуль Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Модуль Spotify не встановлено"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Типово"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Оцінені"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Запустити список відтворення, що відтворюється на цей час"
+@@ -3849,7 +3748,6 @@
+ msgstr "Почати перекодування"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3937,18 +3835,6 @@
+ msgid "Switch provider"
+ msgstr "Перемкнути джерело"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Синхронізація вхідних Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Синхронізація списку відтворення Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Синхронізація оцінених доріжок Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Вкладки зверху"
+@@ -4323,10 +4209,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Використовувати системні налаштування проксі"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Використати нормалізацію гучності"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Використано"
+@@ -4342,7 +4224,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Користувач"
+@@ -4579,21 +4460,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "У вас немає облікового запису Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "У вас немає облікового запису Spotify Premium."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Ви вийшли зі Spotify, введіть ваш пароль знов у налаштуваннях, будь ласка."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Ви вийшли зі Spotify, введіть ваш пароль знов, будь ласка."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Улюблена композиція"
+@@ -4661,7 +4527,6 @@
+ msgstr "%1 відтворень у вас"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Вами вказано помилкове ім’я користувача або пароль."
+
+@@ -4750,8 +4615,6 @@
+ msgstr "за останні"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "кбіт/с"
+
+diff -rauN clementine-1.0.1/src/translations/vi.po clementine-libre-1.0.1/src/translations/vi.po
+--- clementine-1.0.1/src/translations/vi.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/vi.po 2012-05-29 17:46:32.973085951 -0400
+@@ -256,10 +256,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr "Cần có tài khoản Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr "Yêu cầu một tài khoản Premium của Spotify."
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -320,7 +316,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -593,14 +588,6 @@
+ msgid "Always start playing"
+ msgstr "Bắt đầu phát nhạc"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-"Cần phải có một trình cắm thêm để sử dụng Spotify trong Clementine. Bạn có "
+-"muốn tải nó về và cài đặt ngay không?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "Một lỗi đã xảy ra khi sao chép cơ sở dữ liệu iTunes từ thiết bị"
+@@ -826,10 +813,6 @@
+ msgid "CUE sheet support"
+ msgstr "Hỗ trợ danh sách CUE"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr "Hủy bỏ"
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "Đổi ảnh bìa"
+@@ -1040,10 +1023,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "Phím tắt"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "Cấu hình Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "Cấu hình thư viện..."
+@@ -1061,10 +1040,6 @@
+ msgid "Connect device"
+ msgstr "Kết nối thiết bị"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "Kết nối đến Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "Bitrate cố định"
+@@ -1480,10 +1455,6 @@
+ msgid "Download this album..."
+ msgstr "Tải album này..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "Tải về..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "Đang tải thư mục Icecast"
+@@ -1496,10 +1467,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "Đang tải mục lục Magnatune"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "Tải trình cắm thêm Spotify"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "Đang tải thông tin dữ liệu"
+@@ -1653,10 +1620,6 @@
+ msgid "Error deleting songs"
+ msgstr "Lỗi xóa các bài hát"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "Lỗi khi tải trình cắm thêm Spotify"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1841,10 +1804,6 @@
+ msgid "Font size"
+ msgstr "Kích cỡ phông chữ"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr "Vì lí do giấy phép nên Spotify được hỗ trợ trong một trình cắm riêng."
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr "Buộc mã hóa đơn kênh"
+@@ -2116,10 +2075,6 @@
+ "Trong chế độ năng động, các bài hát mới sẽ được chọn và thêm vào danh sách "
+ "mỗi khi một bài hát được phát xong."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "Hộp thư đến"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "Kèm theo ảnh bìa album trong thông báo"
+@@ -2148,10 +2103,6 @@
+ msgid "Insert..."
+ msgstr "Nhập..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr "Đã cài đặt"
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "Internet"
+@@ -2454,7 +2405,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2530,10 +2480,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr "Hồ sơ chính (MAIN)"
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr "Danh sách sẵn sàng ngoại tuyến"
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "Phản hồi có vẻ xấu"
+@@ -2792,10 +2738,6 @@
+ msgid "Not enough neighbors"
+ msgstr "Chưa đủ những người lân cận"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr "Chưa cài đặt"
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr "Chưa đăng nh"
+@@ -2930,7 +2872,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "Mật khẩu"
+@@ -3037,10 +2978,6 @@
+ msgid "Playlists"
+ msgstr "Danh sách"
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "Trạng thái trình cắm:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "Pop"
+@@ -3071,7 +3008,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "Thiết lập"
+@@ -3089,10 +3025,6 @@
+ msgid "Preferred audio format"
+ msgstr "Định dạng âm thanh được ưu tiên"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr "Bitrate ưu tiên"
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "Định dạng được ưu tiên"
+@@ -3483,18 +3415,6 @@
+ msgid "Search Magnatune"
+ msgstr "Tìm kiếm trên Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr "Tìm kiếm trong Spotify"
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr "Tìm kiếm trong Spotify (mở trong tab mới)"
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "Tìm kiếm trong Spotify (mở trong tab mới)..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr "Tìm từ tất cả các nguồn (thư viện, các dịch vụ internet, ...)"
+@@ -3819,30 +3739,10 @@
+ msgid "Speex"
+ msgstr "Speex"
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr "Lỗi đăng nhập Spotify"
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr "Trình cắm Spotify"
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "Trình cắm thêm Spotify chưa được cài đặt"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr "Chuẩn"
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr "Đã bắt đầu"
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "Bắt đầu danh sách hiện đang phát"
+@@ -3852,7 +3752,6 @@
+ msgstr "Bắt đầu chuyển mã"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr "Nhập vào hộp tìm kiếm ở trên để tìm nhạc trên %1."
+@@ -3938,18 +3837,6 @@
+ msgid "Switch provider"
+ msgstr "Đổi nhà cung cấp"
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr "Đang đồng bộ hộp thư đến Spotify"
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr "Đang đồng bộ danh sách Spotify"
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr "Đang đồng bộ các bài hát được đánh dấu sao của Spotify"
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "Các tab ở phía trên"
+@@ -4328,10 +4215,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "Sử dụng thiết lập proxy của hệ thống"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr "Sử dụng cân bằng âm lượng"
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "Đã dùng"
+@@ -4347,7 +4230,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "Tên người dùng"
+@@ -4584,22 +4466,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr "Bạn không có tài khoản Grooveshark Anywhere."
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr "Bạn không có tài khoản cao cấp của Spotify."
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-"Bạn đã đăng xuất khỏi Spotify, hãy nhập lại mật khẩu trong hộp thoại Thiết "
+-"lập."
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr "Bạn đã đăng xuất khỏi Spotify, hãy nhập lại mật khẩu."
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "Bạn thích bài hát này"
+@@ -4666,7 +4532,6 @@
+ msgstr "Thông tin bài hát của bạn: %1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr "Tên người dùng hay mật khẩu không đúng."
+
+@@ -4755,8 +4620,6 @@
+ msgstr "cuối"
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/zh_CN.po clementine-libre-1.0.1/src/translations/zh_CN.po
+--- clementine-1.0.1/src/translations/zh_CN.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/zh_CN.po 2012-05-29 17:47:24.893086011 -0400
+@@ -249,10 +249,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -308,7 +304,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -581,12 +576,6 @@
+ msgid "Always start playing"
+ msgstr "总是开始播放"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr "Clementine需要安装额外的插件才能使用Spotify.现在就下载并安装吗?"
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr "从 iTunes 复制数据库出错"
+@@ -812,10 +801,6 @@
+ msgid "CUE sheet support"
+ msgstr "CUE 支持"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr "更改封面"
+@@ -1016,10 +1001,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "配置快捷键"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr "配置Spotify..."
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "配置音乐库..."
+@@ -1037,10 +1018,6 @@
+ msgid "Connect device"
+ msgstr "连接设备"
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr "连接Spotify"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr "固定位速率"
+@@ -1450,10 +1427,6 @@
+ msgid "Download this album..."
+ msgstr "下载此专辑..."
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr "下载..."
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr "正在下载 Icecast 目录"
+@@ -1466,10 +1439,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "正在下载 Magnatune 分类"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr "下载Spotify插件中"
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "下载元数据"
+@@ -1619,10 +1588,6 @@
+ msgid "Error deleting songs"
+ msgstr "删除曲目出错"
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr "下载Spotify插件出错"
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1804,10 +1769,6 @@
+ msgid "Font size"
+ msgstr "字号"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2070,10 +2031,6 @@
+ "time a song finishes."
+ msgstr "在动态模式中, 每次歌曲播放完之后会被选择并添加新歌曲到播放列表.使用动态模式将忽略您的播放列表大小设定值."
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr "收件夹"
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "在提示中中加入专辑封面"
+@@ -2102,10 +2059,6 @@
+ msgid "Insert..."
+ msgstr "插入..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "互联网"
+@@ -2408,7 +2361,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2484,10 +2436,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "无效的响应"
+@@ -2744,10 +2692,6 @@
+ msgid "Not enough neighbors"
+ msgstr "邻居不足"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2882,7 +2826,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "密码"
+@@ -2989,10 +2932,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr "插件状态:"
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "流行"
+@@ -3023,7 +2962,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "首选项"
+@@ -3040,10 +2978,6 @@
+ msgid "Preferred audio format"
+ msgstr "首选音乐格式"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr "首选格式"
+@@ -3434,18 +3368,6 @@
+ msgid "Search Magnatune"
+ msgstr "搜索 Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr "在新标签栏中查找Spotify..."
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3770,30 +3692,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr "Spotify"
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr "potify 插件未安装"
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr ""
+@@ -3803,7 +3705,6 @@
+ msgstr "开始转换"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3889,18 +3790,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "标签在上"
+@@ -4258,10 +4147,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "使用系统代理设置"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "已使用"
+@@ -4277,7 +4162,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "用户名"
+@@ -4505,20 +4389,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "您喜爱这个音轨"
+@@ -4579,7 +4449,6 @@
+ msgstr "提交的音轨:%1"
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4668,8 +4537,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
+diff -rauN clementine-1.0.1/src/translations/zh_TW.po clementine-libre-1.0.1/src/translations/zh_TW.po
+--- clementine-1.0.1/src/translations/zh_TW.po 2011-12-27 13:16:09.000000000 -0500
++++ clementine-libre-1.0.1/src/translations/zh_TW.po 2012-05-29 17:48:16.866419419 -0400
+@@ -253,10 +253,6 @@
+ msgid "A Grooveshark Anywhere account is required."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:162
+-msgid "A Spotify Premium account is required."
+-msgstr ""
+-
+ #: smartplaylists/wizard.cpp:72
+ msgid ""
+ "A smart playlist is a dynamic list of songs that come from your library. "
+@@ -312,7 +308,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:113
+ #: ../bin/src/ui_magnatunesettingspage.h:155
+-#: ../bin/src/ui_spotifysettingspage.h:209
+ #: ../bin/src/ui_remotesettingspage.h:203
+ #: ../bin/src/ui_lastfmsettingspage.h:145
+ msgid "Account details"
+@@ -585,12 +580,6 @@
+ msgid "Always start playing"
+ msgstr "總是開始播放"
+
+-#: internet/spotifyblobdownloader.cpp:59
+-msgid ""
+-"An additional plugin is required to use Spotify in Clementine. Would you "
+-"like to download and install it now?"
+-msgstr ""
+-
+ #: devices/afcdevice.cpp:62
+ msgid "An error occurred copying the iTunes database from the device"
+ msgstr ""
+@@ -816,10 +805,6 @@
+ msgid "CUE sheet support"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Cancel"
+-msgstr ""
+-
+ #: ../bin/src/ui_edittagdialog.h:634
+ msgid "Change cover art"
+ msgstr ""
+@@ -1020,10 +1005,6 @@
+ msgid "Configure Shortcuts"
+ msgstr "設定快速鍵"
+
+-#: internet/spotifyservice.cpp:491
+-msgid "Configure Spotify..."
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:491
+ msgid "Configure library..."
+ msgstr "設定音樂庫"
+@@ -1041,10 +1022,6 @@
+ msgid "Connect device"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:246
+-msgid "Connecting to Spotify"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:196
+ msgid "Constant bitrate"
+ msgstr ""
+@@ -1454,10 +1431,6 @@
+ msgid "Download this album..."
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:216
+-msgid "Download..."
+-msgstr ""
+-
+ #: internet/icecastservice.cpp:97
+ msgid "Downloading Icecast directory"
+ msgstr ""
+@@ -1470,10 +1443,6 @@
+ msgid "Downloading Magnatune catalogue"
+ msgstr "下載 Magnatune目錄"
+
+-#: internet/spotifyblobdownloader.cpp:43
+-msgid "Downloading Spotify plugin"
+-msgstr ""
+-
+ #: musicbrainz/tagfetcher.cpp:101
+ msgid "Downloading metadata"
+ msgstr "正在下載元數據"
+@@ -1623,10 +1592,6 @@
+ msgid "Error deleting songs"
+ msgstr ""
+
+-#: internet/spotifyblobdownloader.cpp:214
+-msgid "Error downloading Spotify plugin"
+-msgstr ""
+-
+ #: playlist/songloaderinserter.cpp:71 playlist/songloaderinserter.cpp:133
+ #, qt-format
+ msgid "Error loading %1"
+@@ -1808,10 +1773,6 @@
+ msgid "Font size"
+ msgstr "字型大小"
+
+-#: ../bin/src/ui_spotifysettingspage.h:214
+-msgid "For licensing reasons Spotify support is in a separate plugin."
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:204
+ msgid "Force mono encoding"
+ msgstr ""
+@@ -2074,10 +2035,6 @@
+ "time a song finishes."
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:347
+-msgid "Inbox"
+-msgstr ""
+-
+ #: ../bin/src/ui_notificationssettingspage.h:408
+ msgid "Include album art in the notification"
+ msgstr "包括專輯封面的通知"
+@@ -2106,10 +2063,6 @@
+ msgid "Insert..."
+ msgstr "插入..."
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Installed"
+-msgstr ""
+-
+ #: ui/mainwindow.cpp:253
+ msgid "Internet"
+ msgstr "網際網路"
+@@ -2412,7 +2365,6 @@
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:163
+ #: ../bin/src/ui_groovesharksettingspage.h:116
+ #: ../bin/src/ui_magnatunesettingspage.h:164
+-#: ../bin/src/ui_spotifysettingspage.h:212
+ #: ../bin/src/ui_remotesettingspage.h:205
+ #: ../bin/src/ui_lastfmsettingspage.h:147
+ msgid "Login"
+@@ -2488,10 +2440,6 @@
+ msgid "Main profile (MAIN)"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:496
+-msgid "Make playlist available offline"
+-msgstr ""
+-
+ #: internet/lastfmservice.cpp:449
+ msgid "Malformed response"
+ msgstr "格式不正確的反應"
+@@ -2748,10 +2696,6 @@
+ msgid "Not enough neighbors"
+ msgstr "沒有足夠的鄰居"
+
+-#: internet/spotifysettingspage.cpp:75
+-msgid "Not installed"
+-msgstr ""
+-
+ #: globalsearch/globalsearchsettingspage.cpp:123
+ msgid "Not logged in"
+ msgstr ""
+@@ -2886,7 +2830,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:115
+ #: ../bin/src/ui_magnatunesettingspage.h:165
+-#: ../bin/src/ui_spotifysettingspage.h:211
+ #: ../bin/src/ui_networkproxysettingspage.h:169
+ msgid "Password"
+ msgstr "密碼"
+@@ -2993,10 +2936,6 @@
+ msgid "Playlists"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:215
+-msgid "Plugin status:"
+-msgstr ""
+-
+ #: ui/equalizer.cpp:119
+ msgid "Pop"
+ msgstr "流行音樂"
+@@ -3027,7 +2966,6 @@
+
+ #: ../bin/src/ui_digitallyimportedsettingspage.h:166
+ #: ../bin/src/ui_magnatunesettingspage.h:166
+-#: ../bin/src/ui_spotifysettingspage.h:217 ../bin/src/ui_settingsdialog.h:115
+ #: ../bin/src/ui_lastfmsettingspage.h:149
+ msgid "Preferences"
+ msgstr "偏好設定"
+@@ -3044,10 +2982,6 @@
+ msgid "Preferred audio format"
+ msgstr "首選的音頻格式"
+
+-#: ../bin/src/ui_spotifysettingspage.h:218
+-msgid "Preferred bitrate"
+-msgstr ""
+-
+ #: ../bin/src/ui_deviceproperties.h:380
+ msgid "Preferred format"
+ msgstr ""
+@@ -3438,18 +3372,6 @@
+ msgid "Search Magnatune"
+ msgstr "搜尋 Magnatune"
+
+-#: internet/spotifysearchplaylisttype.cpp:32 internet/spotifyservice.cpp:604
+-msgid "Search Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:338
+-msgid "Search Spotify (opens a new tab)"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:489
+-msgid "Search Spotify (opens a new tab)..."
+-msgstr ""
+-
+ #: ../bin/src/ui_globalsearchwidget.h:61
+ msgid "Search around all your sources (library, internet services, ...)"
+ msgstr ""
+@@ -3774,30 +3696,10 @@
+ msgid "Speex"
+ msgstr ""
+
+-#: ../bin/src/ui_spotifysettingspage.h:208
+-msgid "Spotify"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:179
+-msgid "Spotify login error"
+-msgstr ""
+-
+-#: ../bin/src/ui_spotifysettingspage.h:213
+-msgid "Spotify plugin"
+-msgstr ""
+-
+-#: internet/spotifyblobdownloader.cpp:58
+-msgid "Spotify plugin not installed"
+-msgstr ""
+-
+ #: ../bin/src/ui_transcoderoptionsmp3.h:201
+ msgid "Standard"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:343
+-msgid "Starred"
+-msgstr ""
+-
+ #: core/commandlineoptions.cpp:148
+ msgid "Start the playlist currently playing"
+ msgstr "開始播放目前播放清單"
+@@ -3807,7 +3709,6 @@
+ msgstr "開始轉碼"
+
+ #: internet/groovesharksearchplaylisttype.cpp:36
+-#: internet/spotifysearchplaylisttype.cpp:36
+ #, qt-format
+ msgid "Start typing in the search box above to find music on %1."
+ msgstr ""
+@@ -3893,18 +3794,6 @@
+ msgid "Switch provider"
+ msgstr ""
+
+-#: internet/spotifyservice.cpp:515
+-msgid "Syncing Spotify inbox"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:510
+-msgid "Syncing Spotify playlist"
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:519
+-msgid "Syncing Spotify starred tracks"
+-msgstr ""
+-
+ #: widgets/fancytabwidget.cpp:650
+ msgid "Tabs on top"
+ msgstr "標籤在上面"
+@@ -4262,10 +4151,6 @@
+ msgid "Use the system proxy settings"
+ msgstr "使用系統代理伺服器設置"
+
+-#: ../bin/src/ui_spotifysettingspage.h:219
+-msgid "Use volume normalisation"
+-msgstr ""
+-
+ #: widgets/freespacebar.cpp:47
+ msgid "Used"
+ msgstr "已用"
+@@ -4281,7 +4166,6 @@
+
+ #: ../bin/src/ui_groovesharksettingspage.h:114
+ #: ../bin/src/ui_magnatunesettingspage.h:163
+-#: ../bin/src/ui_spotifysettingspage.h:210
+ #: ../bin/src/ui_networkproxysettingspage.h:168
+ msgid "Username"
+ msgstr "帳號"
+@@ -4505,20 +4389,6 @@
+ msgid "You do not have a Grooveshark Anywhere account."
+ msgstr ""
+
+-#: internet/spotifysettingspage.cpp:149
+-msgid "You do not have a Spotify Premium account."
+-msgstr ""
+-
+-#: internet/spotifyservice.cpp:165
+-msgid ""
+-"You have been logged out of Spotify, please re-enter your password in the "
+-"Settings dialog."
+-msgstr ""
+-
+-#: internet/spotifysettingspage.cpp:158
+-msgid "You have been logged out of Spotify, please re-enter your password."
+-msgstr ""
+-
+ #: songinfo/lastfmtrackinfoprovider.cpp:95
+ msgid "You love this track"
+ msgstr "您愛這首歌曲"
+@@ -4578,7 +4448,6 @@
+ msgstr ""
+
+ #: internet/groovesharksettingspage.cpp:108
+-#: internet/spotifysettingspage.cpp:154
+ msgid "Your username or password was incorrect."
+ msgstr ""
+
+@@ -4667,8 +4536,6 @@
+ msgstr ""
+
+ #: playlist/playlistview.cpp:163 ui/edittagdialog.cpp:422
+-#: internet/spotifysettingspage.cpp:60 internet/spotifysettingspage.cpp:61
+-#: internet/spotifysettingspage.cpp:62
+ msgid "kbps"
+ msgstr "kbps"
+
diff --git a/libre/crosstool-ng/PKGBUILD b/libre/crosstool-ng/PKGBUILD
index 93d779d22..35b477457 100644
--- a/libre/crosstool-ng/PKGBUILD
+++ b/libre/crosstool-ng/PKGBUILD
@@ -2,13 +2,13 @@
# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
pkgname=crosstool-ng
-pkgver=1.14.1
+pkgver=1.15.2
pkgrel=1
pkgdesc="A versatile cross toolchain generator (eglibc addons patch)"
arch=('i686' 'x86_64' 'mips64el')
url="http://crosstool-ng.org/"
license=(GPL2)
-depends=('cvs' 'curl')
+depends=('cvs' 'curl' 'gperf')
makedepends=('libtool')
optdepends=('subversion: for retrieving eglibc sources')
source=(http://crosstool-ng.org/download/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
@@ -26,4 +26,4 @@ package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install
}
-md5sums=('1e8e723df67c643ebdd529990607d5bf')
+md5sums=('0d03314debb73de37a72014632bf1ab3')
diff --git a/libre/cups-libre/PKGBUILD b/libre/cups-libre/PKGBUILD
index f50b04848..e46b5d356 100644
--- a/libre/cups-libre/PKGBUILD
+++ b/libre/cups-libre/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 149429 2012-02-07 16:59:12Z andyrtr $
+# $Id: PKGBUILD 159509 2012-05-25 16:34:34Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase="cups"
pkgname=('libcups' 'cups-libre')
-pkgver=1.5.2
-pkgrel=1
+pkgver=1.5.3
+pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://www.cups.org/"
makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'poppler>=0.12.3'
- 'xinetd' 'gzip' 'autoconf' 'php' 'libusb-compat' 'dbus-core' 'avahi' 'hicolor-icon-theme')
+ 'xinetd' 'gzip' 'autoconf' 'php' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme')
source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
cups-avahi-1-config.patch
cups-avahi-2-backend.patch
@@ -18,22 +18,22 @@ source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
cups-avahi-5-services.patch
cups-no-export-ssllibs.patch
cups-no-gcrypt.patch
+ cups-no-gzip-man.patch
cups cups.logrotate cups.pam)
#options=('!emptydirs')
-md5sums=('9471d2a7c920cfbb17133c32d2e6866f'
- '8496c48a7ab5918ce546cfb72472def3'
- '7df4c2e0a69bf072d7b7e96523df9dce'
- '9a207c5d5189b1c2fc55907b7ed09372'
- '5da4ba0837f9a685f146797fcfcd455e'
- 'fe782a8fd4351741120d485d476abe8a'
+md5sums=('e1ad15257aa6f162414ea3beae0c5df8'
+ '8ec0d9d4b6fe3a8902042ed2432fb8b4'
+ 'c80bd1ff8d342cdf379ce5f445b9e944'
+ '1a5112f63958643f2888abc9418dbcac'
+ 'c37d1bf1bb76acc3fe93362c80d91b7c'
+ '5d302860559960042f3b47a91b97c5fe'
'9b8467a1e51d360096b70e2c3c081e6c'
'3733c23e77eb503bd94cc368e02830dc'
+ 'c9159ba1233902ba6ddbbe6885a46b72'
'9657daa21760bb0b5fa3d8b51d5e01a1'
'f861b18f4446c43918c8643dcbbd7f6d'
'96f82c38f3f540b53f3e5144900acf17')
-# move client.conf man page for next update to the client pkg.
-
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
# http://www.cups.org/str.php?L3066
@@ -48,6 +48,8 @@ build() {
patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch"
patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch"
+ # don't zip man pages in make install, let makepkg do that / Fedora
+ patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch
# Rebuild configure script for --enable-avahi.
aclocal -I config-scripts
@@ -83,12 +85,23 @@ check() {
package_libcups() {
pkgdesc="The CUPS Printing System - client libraries and headers"
depends=('gnutls>=2.8.3' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi')
+backup=(etc/cups/client.conf)
cd ${srcdir}/${pkgbase}-${pkgver}
make BUILDROOT=${pkgdir} install-headers install-libs
# put this into the libs pkg to make other software find the libs(no pkg-config file included)
- mkdir -p ${pkgdir}/usr/bin
+ mkdir -p ${pkgdir}/usr/bin
install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config ${pkgdir}/usr/bin/cups-config
+
+ # install client.conf man page and config file
+ install -dm755 ${pkgdir}/usr/share/man/man5
+ #install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5.gz ${pkgdir}/usr/share/man/man5/
+ install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5 ${pkgdir}/usr/share/man/man5/
+ install -dm755 ${pkgdir}/etc/cups
+ touch ${pkgdir}/etc/cups/client.conf
+ echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
+ echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
+ chgrp lp ${pkgdir}/etc/cups/client.conf
}
package_cups-libre() {
@@ -98,18 +111,15 @@ replaces=("${pkgbase}")
conflicts=("${pkgbase}")
install=cups.install
backup=(etc/cups/cupsd.conf
- etc/cups/mime.convs
- etc/cups/mime.types
etc/cups/snmp.conf
etc/cups/printers.conf
etc/cups/classes.conf
- etc/cups/client.conf
etc/cups/subscriptions.conf
etc/dbus-1/system.d/cups.conf
etc/logrotate.d/cups
etc/pam.d/cups
etc/xinetd.d/cups-lpd)
-depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'poppler>=0.12.3' 'libusb-compat' 'dbus-core' 'hicolor-icon-theme')
+depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'poppler>=0.12.3' 'libusb' 'dbus-core' 'hicolor-icon-theme')
optdepends=('php: for included phpcups.so module'
'ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
@@ -145,15 +155,15 @@ optdepends=('php: for included phpcups.so module'
# install some more configuration files that will get filled by cupsd
touch ${pkgdir}/etc/cups/printers.conf
touch ${pkgdir}/etc/cups/classes.conf
- touch ${pkgdir}/etc/cups/client.conf
- echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
- echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
touch ${pkgdir}/etc/cups/subscriptions.conf
- chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,client.conf,subscriptions.conf}
+ chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,subscriptions.conf}
# fix .desktop file
sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop
# compress some driver files, adopted from Fedora
find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
+
+ # remove client.conf man page
+ rm -f ${pkgdir}/usr/share/man/man5/client.conf.5
}
diff --git a/libre/cups-libre/cups-avahi-1-config.patch b/libre/cups-libre/cups-avahi-1-config.patch
index 663eb39df..516e01fa9 100644
--- a/libre/cups-libre/cups-avahi-1-config.patch
+++ b/libre/cups-libre/cups-avahi-1-config.patch
@@ -1,6 +1,6 @@
-diff -up cups-1.5.0/config.h.in.avahi-1-config cups-1.5.0/config.h.in
---- cups-1.5.0/config.h.in.avahi-1-config 2011-06-16 21:12:16.000000000 +0100
-+++ cups-1.5.0/config.h.in 2011-08-05 15:04:09.535759988 +0100
+diff -up cups-1.5.2/config.h.in.avahi-1-config cups-1.5.2/config.h.in
+--- cups-1.5.2/config.h.in.avahi-1-config 2011-06-16 21:12:16.000000000 +0100
++++ cups-1.5.2/config.h.in 2012-03-14 15:04:51.365347165 +0000
@@ -390,6 +390,13 @@
@@ -15,9 +15,9 @@ diff -up cups-1.5.0/config.h.in.avahi-1-config cups-1.5.0/config.h.in
* Do we have <sys/ioctl.h>?
*/
-diff -up cups-1.5.0/config-scripts/cups-dnssd.m4.avahi-1-config cups-1.5.0/config-scripts/cups-dnssd.m4
---- cups-1.5.0/config-scripts/cups-dnssd.m4.avahi-1-config 2011-05-12 06:21:56.000000000 +0100
-+++ cups-1.5.0/config-scripts/cups-dnssd.m4 2011-08-05 15:04:09.525760307 +0100
+diff -up cups-1.5.2/config-scripts/cups-dnssd.m4.avahi-1-config cups-1.5.2/config-scripts/cups-dnssd.m4
+--- cups-1.5.2/config-scripts/cups-dnssd.m4.avahi-1-config 2011-05-12 06:21:56.000000000 +0100
++++ cups-1.5.2/config-scripts/cups-dnssd.m4 2012-03-14 15:04:51.365347165 +0000
@@ -23,6 +23,21 @@ AC_ARG_WITH(dnssd-includes, [ --with-dn
DNSSDLIBS=""
DNSSD_BACKEND=""
diff --git a/libre/cups-libre/cups-avahi-2-backend.patch b/libre/cups-libre/cups-avahi-2-backend.patch
index 4c0d4989b..9fa367729 100644
--- a/libre/cups-libre/cups-avahi-2-backend.patch
+++ b/libre/cups-libre/cups-avahi-2-backend.patch
@@ -1,6 +1,6 @@
-diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
---- cups-1.5.2/backend/dnssd.c.avahi-2-backend 2012-02-06 11:09:08.318644741 +0100
-+++ cups-1.5.2/backend/dnssd.c 2012-02-06 11:09:08.326644641 +0100
+diff -up cups-1.5.3/backend/dnssd.c.avahi-2-backend cups-1.5.3/backend/dnssd.c
+--- cups-1.5.3/backend/dnssd.c.avahi-2-backend 2012-05-15 16:53:18.164774446 +0200
++++ cups-1.5.3/backend/dnssd.c 2012-05-15 17:09:07.684155704 +0200
@@ -15,14 +15,21 @@
*
* Contents:
@@ -85,23 +85,24 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
static void browse_callback(DNSServiceRef sdRef,
DNSServiceFlags flags,
uint32_t interfaceIndex,
-@@ -93,12 +131,6 @@ static void browse_local_callback(DNSSe
- const char *regtype,
+@@ -95,13 +133,6 @@ static void browse_local_callback(DNSSe
const char *replyDomain,
- void *context);
+ void *context)
+ __attribute__((nonnull(1,5,6,7,8)));
-static int compare_devices(cups_device_t *a, cups_device_t *b);
-static void exec_backend(char **argv);
-static cups_device_t *get_device(cups_array_t *devices,
- const char *serviceName,
- const char *regtype,
-- const char *replyDomain);
+- const char *replyDomain)
+- __attribute__((nonnull(1,2,3,4)));
static void query_callback(DNSServiceRef sdRef,
DNSServiceFlags flags,
uint32_t interfaceIndex,
-@@ -107,9 +139,118 @@ static void query_callback(DNSServiceRe
- uint16_t rrclass, uint16_t rdlen,
+@@ -111,10 +142,119 @@ static void query_callback(DNSServiceRe
const void *rdata, uint32_t ttl,
- void *context);
+ void *context)
+ __attribute__((nonnull(1,5,9,11)));
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+static void avahi_client_callback (AvahiClient *client,
@@ -117,7 +118,6 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
+ AvahiLookupResultFlags flags,
+ void *context);
+#endif /* HAVE_AVAHI */
-+
+static cups_device_t * find_device (cups_array_t *devices,
+ cups_txt_records_t *txt,
+ cups_device_t *dkey);
@@ -126,9 +126,11 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
+static cups_device_t *get_device(cups_array_t *devices,
+ const char *serviceName,
+ const char *regtype,
-+ const char *replyDomain);
++ const char *replyDomain)
++ __attribute__((nonnull(1,2,3,4)));
static void sigterm_handler(int sig);
- static void unquote(char *dst, const char *src, size_t dstsize);
+ static void unquote(char *dst, const char *src, size_t dstsize)
+ __attribute__((nonnull(1,2)));
+#ifdef HAVE_AVAHI
+static AvahiSimplePoll *simple_poll = NULL;
@@ -174,7 +176,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
+ */
+
+ datalen = *data++;
-+ if (!datalen || (data + datalen) >= txt->dataend)
++ if (!datalen || (data + datalen) > txt->dataend)
+ return NULL;
+ txt->datanext = data + datalen;
+
@@ -217,7 +219,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
/*
* 'main()' - Browse for printers.
-@@ -120,6 +261,13 @@ main(int argc, /* I - Number of comm
+@@ -125,6 +265,13 @@ main(int argc, /* I - Number of comm
char *argv[]) /* I - Command-line arguments */
{
const char *name; /* Backend name */
@@ -231,7 +233,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
DNSServiceRef main_ref, /* Main service reference */
fax_ipp_ref, /* IPP fax service reference */
ipp_ref, /* IPP service reference */
-@@ -133,12 +281,11 @@ main(int argc, /* I - Number of comm
+@@ -138,12 +285,11 @@ main(int argc, /* I - Number of comm
pdl_datastream_ref, /* AppSocket service reference */
printer_ref, /* LPD service reference */
riousbprint_ref; /* Remote IO service reference */
@@ -249,7 +251,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
struct sigaction action; /* Actions for POSIX signals */
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-@@ -198,6 +345,49 @@ main(int argc, /* I - Number of comm
+@@ -203,6 +349,49 @@ main(int argc, /* I - Number of comm
* Browse for different kinds of printers...
*/
@@ -299,7 +301,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError)
{
perror("ERROR: Unable to create service connection");
-@@ -258,6 +448,7 @@ main(int argc, /* I - Number of comm
+@@ -263,6 +452,7 @@ main(int argc, /* I - Number of comm
riousbprint_ref = main_ref;
DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0,
"_riousbprint._tcp", NULL, browse_callback, devices);
@@ -307,7 +309,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
/*
* Loop until we are killed...
-@@ -265,6 +456,9 @@ main(int argc, /* I - Number of comm
+@@ -270,6 +460,9 @@ main(int argc, /* I - Number of comm
while (!job_canceled)
{
@@ -317,7 +319,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
FD_ZERO(&input);
FD_SET(fd, &input);
-@@ -284,11 +478,35 @@ main(int argc, /* I - Number of comm
+@@ -289,11 +482,35 @@ main(int argc, /* I - Number of comm
}
else
{
@@ -353,7 +355,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
cups_device_t *best; /* Best matching device */
char device_uri[1024]; /* Device URI */
int count; /* Number of queries */
-@@ -302,6 +520,7 @@ main(int argc, /* I - Number of comm
+@@ -307,6 +524,7 @@ main(int argc, /* I - Number of comm
if (device->sent)
sent ++;
@@ -361,7 +363,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
if (device->ref)
count ++;
-@@ -333,14 +552,23 @@ main(int argc, /* I - Number of comm
+@@ -338,14 +556,23 @@ main(int argc, /* I - Number of comm
count ++;
}
}
@@ -386,7 +388,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
if (!best)
best = device;
-@@ -401,6 +629,7 @@ main(int argc, /* I - Number of comm
+@@ -406,6 +633,7 @@ main(int argc, /* I - Number of comm
}
@@ -394,7 +396,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
/*
* 'browse_callback()' - Browse devices.
*/
-@@ -489,6 +718,7 @@ browse_local_callback(
+@@ -494,6 +722,7 @@ browse_local_callback(
device->fullName);
device->sent = 1;
}
@@ -402,7 +404,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
/*
-@@ -569,6 +799,41 @@ exec_backend(char **argv) /* I - Comman
+@@ -574,6 +803,41 @@ exec_backend(char **argv) /* I - Comman
/*
@@ -444,7 +446,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
* 'get_device()' - Create or update a device.
*/
-@@ -589,20 +854,7 @@ get_device(cups_array_t *devices, /* I -
+@@ -594,20 +858,7 @@ get_device(cups_array_t *devices, /* I -
*/
key.name = (char *)serviceName;
@@ -466,7 +468,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
for (device = cupsArrayFind(devices, &key);
device;
-@@ -622,8 +874,14 @@ get_device(cups_array_t *devices, /* I -
+@@ -627,8 +878,14 @@ get_device(cups_array_t *devices, /* I -
free(device->domain);
device->domain = strdup(replyDomain);
@@ -481,7 +483,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
free(device->fullName);
device->fullName = strdup(fullName);
}
-@@ -643,6 +901,9 @@ get_device(cups_array_t *devices, /* I -
+@@ -648,6 +905,9 @@ get_device(cups_array_t *devices, /* I -
device->domain = strdup(replyDomain);
device->type = key.type;
device->priority = 50;
@@ -491,7 +493,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
cupsArrayAdd(devices, device);
-@@ -650,13 +911,20 @@ get_device(cups_array_t *devices, /* I -
+@@ -655,13 +915,20 @@ get_device(cups_array_t *devices, /* I -
* Set the "full name" of this service, which is used for queries...
*/
@@ -512,7 +514,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
/*
* 'query_callback()' - Process query data.
*/
-@@ -680,7 +948,7 @@ query_callback(
+@@ -685,7 +952,7 @@ query_callback(
*ptr; /* Pointer into string */
cups_device_t dkey, /* Search key */
*device; /* Device */
@@ -521,7 +523,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, "
"interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
-@@ -714,94 +982,233 @@ query_callback(
+@@ -719,94 +986,233 @@ query_callback(
if ((ptr = strstr(name, "._")) != NULL)
*ptr = '\0';
@@ -638,7 +640,8 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
else
- dkey.type = CUPS_DEVICE_RIOUSBPRINT;
+ fprintf (stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", name);
-+
+
+- for (device = cupsArrayFind(devices, &dkey);
+ avahi_service_resolver_free (resolver);
+}
+
@@ -713,8 +716,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
+}
+#endif /* HAVE_AVAHI */
+
-
-- for (device = cupsArrayFind(devices, &dkey);
++
+/*
+ * 'find_device()' - Find a device from its name and domain.
+ */
@@ -817,7 +819,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
{
/*
* Add USB device ID information...
-@@ -856,6 +1263,10 @@ query_callback(
+@@ -861,6 +1267,10 @@ query_callback(
if (device->type == CUPS_DEVICE_PRINTER)
device->sent = 1;
}
@@ -828,7 +830,7 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
}
if (device->device_id)
-@@ -912,11 +1323,9 @@ query_callback(
+@@ -917,11 +1327,9 @@ query_callback(
}
}
@@ -841,9 +843,9 @@ diff -up cups-1.5.2/backend/dnssd.c.avahi-2-backend cups-1.5.2/backend/dnssd.c
/*
* 'sigterm_handler()' - Handle termination signals...
*/
-diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-support.c
---- cups-1.5.2/cups/http-support.c.avahi-2-backend 2011-09-26 20:46:46.000000000 +0200
-+++ cups-1.5.2/cups/http-support.c 2012-02-06 11:09:08.327644629 +0100
+diff -up cups-1.5.3/cups/http-support.c.avahi-2-backend cups-1.5.3/cups/http-support.c
+--- cups-1.5.3/cups/http-support.c.avahi-2-backend 2012-02-15 02:06:12.000000000 +0100
++++ cups-1.5.3/cups/http-support.c 2012-05-15 17:04:51.045944634 +0200
@@ -43,6 +43,10 @@
* http_copy_decode() - Copy and decode a URI.
* http_copy_encode() - Copy and encode a URI.
@@ -892,7 +894,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
/*
* 'httpAssembleURI()' - Assemble a uniform resource identifier from its
-@@ -1431,6 +1458,9 @@ _httpResolveURI(
+@@ -1434,6 +1461,9 @@ _httpResolveURI(
if (strstr(hostname, "._tcp"))
{
@@ -902,7 +904,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
#ifdef HAVE_DNSSD
# ifdef WIN32
# pragma comment(lib, "dnssd.lib")
-@@ -1449,6 +1479,17 @@ _httpResolveURI(
+@@ -1452,6 +1482,17 @@ _httpResolveURI(
fd_set input_set; /* Input set for select() */
struct timeval stimeout; /* Timeout value for select() */
#endif /* HAVE_POLL */
@@ -920,7 +922,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
if (options & _HTTP_RESOLVE_STDERR)
fprintf(stderr, "DEBUG: Resolving \"%s\"...\n", hostname);
-@@ -1485,9 +1526,16 @@ _httpResolveURI(
+@@ -1488,9 +1529,16 @@ _httpResolveURI(
if (domain)
*domain++ = '\0';
@@ -937,7 +939,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
resolved_uri[0] = '\0';
DEBUG_printf(("6_httpResolveURI: Resolving hostname=\"%s\", regtype=\"%s\", "
-@@ -1501,6 +1549,7 @@ _httpResolveURI(
+@@ -1504,6 +1552,7 @@ _httpResolveURI(
uri = NULL;
@@ -945,7 +947,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError)
{
localref = ref;
-@@ -1608,6 +1657,36 @@ _httpResolveURI(
+@@ -1611,6 +1660,36 @@ _httpResolveURI(
DNSServiceRefDeallocate(ref);
}
@@ -982,7 +984,7 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
if (options & _HTTP_RESOLVE_STDERR)
{
-@@ -1619,13 +1698,13 @@ _httpResolveURI(
+@@ -1622,13 +1701,13 @@ _httpResolveURI(
fputs("STATE: -connecting-to-device,offline-report\n", stderr);
}
@@ -998,10 +1000,10 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
if ((options & _HTTP_RESOLVE_STDERR) && !uri)
_cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer."));
-@@ -1914,6 +1993,116 @@ http_resolve_cb(
+@@ -1916,6 +1995,115 @@ http_resolve_cb(
+ }
#endif /* HAVE_DNSSD */
-
+#ifdef HAVE_AVAHI
+/*
+ * 'avahi_resolve_uri_client_cb()' - Avahi client callback for resolving URI.
@@ -1111,7 +1113,6 @@ diff -up cups-1.5.2/cups/http-support.c.avahi-2-backend cups-1.5.2/cups/http-sup
+}
+#endif /* HAVE_AVAHI */
+
-+
+
/*
- * End of "$Id: http-support.c 10017 2011-09-26 18:46:46Z mike $".
- */
+ * End of "$Id: http-support.c 10284 2012-02-15 01:06:12Z mike $".
diff --git a/libre/cups-libre/cups-avahi-3-timeouts.patch b/libre/cups-libre/cups-avahi-3-timeouts.patch
index 1c547c042..daf852a0f 100644
--- a/libre/cups-libre/cups-avahi-3-timeouts.patch
+++ b/libre/cups-libre/cups-avahi-3-timeouts.patch
@@ -1,6 +1,6 @@
-diff -up cups-1.5.0/scheduler/cupsd.h.avahi-3-timeouts cups-1.5.0/scheduler/cupsd.h
---- cups-1.5.0/scheduler/cupsd.h.avahi-3-timeouts 2011-05-11 23:17:34.000000000 +0100
-+++ cups-1.5.0/scheduler/cupsd.h 2011-10-07 13:20:41.522867324 +0100
+diff -up cups-1.5.2/scheduler/cupsd.h.avahi-3-timeouts cups-1.5.2/scheduler/cupsd.h
+--- cups-1.5.2/scheduler/cupsd.h.avahi-3-timeouts 2011-05-11 23:17:34.000000000 +0100
++++ cups-1.5.2/scheduler/cupsd.h 2012-03-14 15:06:36.509476983 +0000
@@ -140,6 +140,15 @@ extern const char *cups_hstrerror(int);
typedef void (*cupsd_selfunc_t)(void *data);
@@ -50,9 +50,9 @@ diff -up cups-1.5.0/scheduler/cupsd.h.avahi-3-timeouts cups-1.5.0/scheduler/cups
/*
* End of "$Id: cupsd.h 9766 2011-05-11 22:17:34Z mike $".
-diff -up cups-1.5.0/scheduler/main.c.avahi-3-timeouts cups-1.5.0/scheduler/main.c
---- cups-1.5.0/scheduler/main.c.avahi-3-timeouts 2011-10-07 13:20:36.875954675 +0100
-+++ cups-1.5.0/scheduler/main.c 2011-10-07 13:20:41.524867282 +0100
+diff -up cups-1.5.2/scheduler/main.c.avahi-3-timeouts cups-1.5.2/scheduler/main.c
+--- cups-1.5.2/scheduler/main.c.avahi-3-timeouts 2012-03-14 15:04:17.655305548 +0000
++++ cups-1.5.2/scheduler/main.c 2012-03-14 15:06:36.511476986 +0000
@@ -146,6 +146,10 @@ main(int argc, /* I - Number of comm
int launchd_idle_exit;
/* Idle exit on select timeout? */
@@ -116,8 +116,8 @@ diff -up cups-1.5.0/scheduler/main.c.avahi-3-timeouts cups-1.5.0/scheduler/main.
+ * See if there are any scheduled timed callbacks to run.
+ */
+
-+ tmo = cupsdNextTimeout (&tmo_delay);
-+ if (tmo)
++ if ((tmo = cupsdNextTimeout(&tmo_delay)) != NULL &&
++ (now + tmo_delay) < timeout)
+ {
+ timeout = tmo_delay;
+ why = "run a timed callback";
@@ -127,9 +127,9 @@ diff -up cups-1.5.0/scheduler/main.c.avahi-3-timeouts cups-1.5.0/scheduler/main.
/*
* Check whether we are accepting new connections...
*/
-diff -up cups-1.5.0/scheduler/Makefile.avahi-3-timeouts cups-1.5.0/scheduler/Makefile
---- cups-1.5.0/scheduler/Makefile.avahi-3-timeouts 2011-10-07 13:20:36.955953170 +0100
-+++ cups-1.5.0/scheduler/Makefile 2011-10-07 13:20:41.521867343 +0100
+diff -up cups-1.5.2/scheduler/Makefile.avahi-3-timeouts cups-1.5.2/scheduler/Makefile
+--- cups-1.5.2/scheduler/Makefile.avahi-3-timeouts 2012-03-14 15:04:17.685305586 +0000
++++ cups-1.5.2/scheduler/Makefile 2012-03-14 15:06:36.508476980 +0000
@@ -39,7 +39,8 @@ CUPSDOBJS = \
server.o \
statbuf.o \
@@ -140,9 +140,9 @@ diff -up cups-1.5.0/scheduler/Makefile.avahi-3-timeouts cups-1.5.0/scheduler/Mak
LIBOBJS = \
filter.o \
mime.o \
-diff -up cups-1.5.0/scheduler/timeout.c.avahi-3-timeouts cups-1.5.0/scheduler/timeout.c
---- cups-1.5.0/scheduler/timeout.c.avahi-3-timeouts 2011-10-07 13:20:41.525867259 +0100
-+++ cups-1.5.0/scheduler/timeout.c 2011-10-07 13:20:41.525867259 +0100
+diff -up cups-1.5.2/scheduler/timeout.c.avahi-3-timeouts cups-1.5.2/scheduler/timeout.c
+--- cups-1.5.2/scheduler/timeout.c.avahi-3-timeouts 2012-03-14 15:06:36.552477037 +0000
++++ cups-1.5.2/scheduler/timeout.c 2012-03-14 15:06:36.552477037 +0000
@@ -0,0 +1,235 @@
+/*
+ * "$Id$"
diff --git a/libre/cups-libre/cups-avahi-4-poll.patch b/libre/cups-libre/cups-avahi-4-poll.patch
index 189e83da6..d7fa5fd56 100644
--- a/libre/cups-libre/cups-avahi-4-poll.patch
+++ b/libre/cups-libre/cups-avahi-4-poll.patch
@@ -1,6 +1,6 @@
-diff -up cups-1.5.0/scheduler/avahi.c.avahi-4-poll cups-1.5.0/scheduler/avahi.c
---- cups-1.5.0/scheduler/avahi.c.avahi-4-poll 2011-10-11 10:56:50.102288037 +0100
-+++ cups-1.5.0/scheduler/avahi.c 2011-10-11 10:56:50.102288037 +0100
+diff -up cups-1.5.2/scheduler/avahi.c.avahi-4-poll cups-1.5.2/scheduler/avahi.c
+--- cups-1.5.2/scheduler/avahi.c.avahi-4-poll 2012-03-14 15:07:29.477542381 +0000
++++ cups-1.5.2/scheduler/avahi.c 2012-03-14 15:07:29.477542381 +0000
@@ -0,0 +1,441 @@
+/*
+ * "$Id$"
@@ -443,9 +443,9 @@ diff -up cups-1.5.0/scheduler/avahi.c.avahi-4-poll cups-1.5.0/scheduler/avahi.c
+/*
+ * End of "$Id$".
+ */
-diff -up cups-1.5.0/scheduler/avahi.h.avahi-4-poll cups-1.5.0/scheduler/avahi.h
---- cups-1.5.0/scheduler/avahi.h.avahi-4-poll 2011-10-11 10:56:50.102288037 +0100
-+++ cups-1.5.0/scheduler/avahi.h 2011-10-11 10:56:50.119287724 +0100
+diff -up cups-1.5.2/scheduler/avahi.h.avahi-4-poll cups-1.5.2/scheduler/avahi.h
+--- cups-1.5.2/scheduler/avahi.h.avahi-4-poll 2012-03-14 15:07:29.477542381 +0000
++++ cups-1.5.2/scheduler/avahi.h 2012-03-14 15:07:29.477542381 +0000
@@ -0,0 +1,69 @@
+/*
+ * "$Id$"
@@ -516,9 +516,9 @@ diff -up cups-1.5.0/scheduler/avahi.h.avahi-4-poll cups-1.5.0/scheduler/avahi.h
+/*
+ * End of "$Id$".
+ */
-diff -up cups-1.5.0/scheduler/Makefile.avahi-4-poll cups-1.5.0/scheduler/Makefile
---- cups-1.5.0/scheduler/Makefile.avahi-4-poll 2011-10-11 10:56:45.868365861 +0100
-+++ cups-1.5.0/scheduler/Makefile 2011-10-11 10:56:50.101288055 +0100
+diff -up cups-1.5.2/scheduler/Makefile.avahi-4-poll cups-1.5.2/scheduler/Makefile
+--- cups-1.5.2/scheduler/Makefile.avahi-4-poll 2012-03-14 15:06:36.508476980 +0000
++++ cups-1.5.2/scheduler/Makefile 2012-03-14 15:07:29.476542380 +0000
@@ -17,6 +17,7 @@ include ../Makedefs
CUPSDOBJS = \
diff --git a/libre/cups-libre/cups-avahi-5-services.patch b/libre/cups-libre/cups-avahi-5-services.patch
index 9713bbc53..820b3c32b 100644
--- a/libre/cups-libre/cups-avahi-5-services.patch
+++ b/libre/cups-libre/cups-avahi-5-services.patch
@@ -1,6 +1,6 @@
-diff -up cups-1.5.0/cgi-bin/admin.c.avahi-5-services cups-1.5.0/cgi-bin/admin.c
---- cups-1.5.0/cgi-bin/admin.c.avahi-5-services 2011-05-20 04:49:49.000000000 +0100
-+++ cups-1.5.0/cgi-bin/admin.c 2011-10-19 11:53:32.123177998 +0100
+diff -up cups-1.5.2/cgi-bin/admin.c.avahi-5-services cups-1.5.2/cgi-bin/admin.c
+--- cups-1.5.2/cgi-bin/admin.c.avahi-5-services 2011-08-17 22:01:53.000000000 +0100
++++ cups-1.5.2/cgi-bin/admin.c 2012-03-14 15:08:25.701611799 +0000
@@ -1643,7 +1643,7 @@ do_config_server(http_t *http) /* I - H
else
local_protocols[0] = '\0';
@@ -31,10 +31,75 @@ diff -up cups-1.5.0/cgi-bin/admin.c.avahi-5-services cups-1.5.0/cgi-bin/admin.c
#ifdef HAVE_LDAP
cgiSetVariable("HAVE_LDAP", "1");
-diff -up cups-1.5.0/scheduler/client.c.avahi-5-services cups-1.5.0/scheduler/client.c
---- cups-1.5.0/scheduler/client.c.avahi-5-services 2011-06-10 22:16:18.000000000 +0100
-+++ cups-1.5.0/scheduler/client.c 2011-10-19 11:53:32.127177926 +0100
-@@ -4987,7 +4987,7 @@ valid_host(cupsd_client_t *con) /* I -
+diff -up cups-1.5.2/scheduler/avahi.h.avahi-5-services cups-1.5.2/scheduler/avahi.h
+--- cups-1.5.2/scheduler/avahi.h.avahi-5-services 2012-03-14 15:07:29.477542381 +0000
++++ cups-1.5.2/scheduler/avahi.h 2012-03-14 15:08:25.701611799 +0000
+@@ -3,7 +3,7 @@
+ *
+ * Avahi poll implementation for the CUPS scheduler.
+ *
+- * Copyright (C) 2010, 2011 Red Hat, Inc.
++ * Copyright (C) 2010, 2011, 2012 Red Hat, Inc.
+ * Authors:
+ * Tim Waugh <twaugh@redhat.com>
+ *
+@@ -32,37 +32,40 @@
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <config.h>
++#ifndef _CUPS_AVAHI_H_
++# define _CUPS_AVAHI_H_
+
+-#ifdef HAVE_AVAHI
+-# include <avahi-client/client.h>
+-# include <avahi-client/publish.h>
+-#endif /* HAVE_AVAHI */
++/*
++ * Include necessary headers...
++ */
+
+-#ifdef HAVE_AUTHORIZATION_H
+-# include <Security/Authorization.h>
+-#endif /* HAVE_AUTHORIZATION_H */
++# include <config.h>
+
++# ifdef HAVE_AVAHI
++# include <avahi-client/client.h>
++# include <avahi-client/publish.h>
++# endif /* HAVE_AVAHI */
+
+-#ifdef HAVE_AVAHI
++# ifdef HAVE_AVAHI
+ typedef struct
+ {
+ AvahiPoll api;
+ cups_array_t *watched_fds;
+ cups_array_t *timeouts;
+ } AvahiCupsPoll;
+-#endif /* HAVE_AVAHI */
++# endif /* HAVE_AVAHI */
+
+ /*
+ * Prototypes...
+ */
+
+-#ifdef HAVE_AVAHI
++# ifdef HAVE_AVAHI
+ extern AvahiCupsPoll * avahi_cups_poll_new(void);
+ extern void avahi_cups_poll_free(AvahiCupsPoll *cups_poll);
+ extern const AvahiPoll *avahi_cups_poll_get(AvahiCupsPoll *cups_poll);
+-#endif /* HAVE_AVAHI */
++# endif /* HAVE_AVAHI */
+
++#endif /* !_CUPS_AVAHI_H_ */
+
+ /*
+ * End of "$Id$".
+diff -up cups-1.5.2/scheduler/client.c.avahi-5-services cups-1.5.2/scheduler/client.c
+--- cups-1.5.2/scheduler/client.c.avahi-5-services 2012-01-13 23:00:22.000000000 +0000
++++ cups-1.5.2/scheduler/client.c 2012-03-14 15:08:25.703611797 +0000
+@@ -4989,7 +4989,7 @@ valid_host(cupsd_client_t *con) /* I -
!strncmp(host, "[::1]:", 6));
}
@@ -43,7 +108,7 @@ diff -up cups-1.5.0/scheduler/client.c.avahi-5-services cups-1.5.0/scheduler/cli
/*
* Check if the hostname is something.local (Bonjour); if so, allow it.
*/
-@@ -4996,7 +4996,7 @@ valid_host(cupsd_client_t *con) /* I -
+@@ -4998,7 +4998,7 @@ valid_host(cupsd_client_t *con) /* I -
(!_cups_strcasecmp(end, ".local") || !_cups_strncasecmp(end, ".local:", 7) ||
!_cups_strcasecmp(end, ".local.") || !_cups_strncasecmp(end, ".local.:", 8)))
return (1);
@@ -52,10 +117,10 @@ diff -up cups-1.5.0/scheduler/client.c.avahi-5-services cups-1.5.0/scheduler/cli
/*
* Check if the hostname is an IP address...
-diff -up cups-1.5.0/scheduler/conf.c.avahi-5-services cups-1.5.0/scheduler/conf.c
---- cups-1.5.0/scheduler/conf.c.avahi-5-services 2011-10-19 11:53:31.895182225 +0100
-+++ cups-1.5.0/scheduler/conf.c 2011-10-19 11:53:32.131177850 +0100
-@@ -651,7 +651,7 @@ cupsdReadConfiguration(void)
+diff -up cups-1.5.2/scheduler/conf.c.avahi-5-services cups-1.5.2/scheduler/conf.c
+--- cups-1.5.2/scheduler/conf.c.avahi-5-services 2012-03-14 15:04:17.636305526 +0000
++++ cups-1.5.2/scheduler/conf.c 2012-03-14 15:08:25.706611803 +0000
+@@ -652,7 +652,7 @@ cupsdReadConfiguration(void)
Browsing = CUPS_DEFAULT_BROWSING;
DefaultShared = CUPS_DEFAULT_DEFAULT_SHARED;
@@ -64,9 +129,9 @@ diff -up cups-1.5.0/scheduler/conf.c.avahi-5-services cups-1.5.0/scheduler/conf.
cupsdSetString(&DNSSDRegType, "_ipp._tcp,_cups");
#endif /* HAVE_DNSSD */
-diff -up cups-1.5.0/scheduler/dirsvc.c.avahi-5-services cups-1.5.0/scheduler/dirsvc.c
---- cups-1.5.0/scheduler/dirsvc.c.avahi-5-services 2011-10-19 11:53:32.011180075 +0100
-+++ cups-1.5.0/scheduler/dirsvc.c 2011-10-19 11:53:58.916681461 +0100
+diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dirsvc.c
+--- cups-1.5.2/scheduler/dirsvc.c.avahi-5-services 2012-03-14 15:04:17.674305572 +0000
++++ cups-1.5.2/scheduler/dirsvc.c 2012-03-14 15:08:25.709611806 +0000
@@ -27,6 +27,7 @@
* ldap_connect() - Start new LDAP connection
* ldap_reconnect() - Reconnect to LDAP Server
@@ -799,15 +864,31 @@ diff -up cups-1.5.0/scheduler/dirsvc.c.avahi-5-services cups-1.5.0/scheduler/dir
/*
* De-register the individual printers
-@@ -2906,6 +3292,7 @@ dnssdStop(void)
- p = (cupsd_printer_t *)cupsArrayNext(Printers))
- dnssdDeregisterPrinter(p);
-
-+#ifdef HAVE_DNSSD
- /*
+@@ -2910,12 +3296,23 @@ dnssdStop(void)
* Shutdown the rest of the service refs...
*/
-@@ -2926,14 +3313,17 @@ dnssdStop(void)
+
++#ifdef HAVE_DNSSD
+ if (WebIFRef)
+ {
+ DNSServiceRefDeallocate(WebIFRef);
+ WebIFRef = NULL;
+ }
++#endif /* HAVE_DNSSD */
++#ifdef HAVE_AVAHI
++ if (AvahiWebIFGroup)
++ {
++ avahi_entry_group_reset (AvahiWebIFGroup);
++ avahi_entry_group_free (AvahiWebIFGroup);
++ AvahiWebIFGroup = NULL;
++ }
++#endif /* HAVE_AVAHI */
+
++#ifdef HAVE_DNSSD
+ if (RemoteRef)
+ {
+ DNSServiceRefDeallocate(RemoteRef);
+@@ -2926,14 +3323,17 @@ dnssdStop(void)
DNSServiceRefDeallocate(DNSSDRef);
DNSSDRef = NULL;
@@ -825,7 +906,7 @@ diff -up cups-1.5.0/scheduler/dirsvc.c.avahi-5-services cups-1.5.0/scheduler/dir
/*
* 'dnssdUpdate()' - Handle DNS-SD queries.
*/
-@@ -2955,6 +3345,153 @@ dnssdUpdate(void)
+@@ -2955,6 +3355,153 @@ dnssdUpdate(void)
#endif /* HAVE_DNSSD */
@@ -979,9 +1060,9 @@ diff -up cups-1.5.0/scheduler/dirsvc.c.avahi-5-services cups-1.5.0/scheduler/dir
/*
* 'get_auth_info_required()' - Get the auth-info-required value to advertise.
*/
-diff -up cups-1.5.0/scheduler/dirsvc.h.avahi-5-services cups-1.5.0/scheduler/dirsvc.h
---- cups-1.5.0/scheduler/dirsvc.h.avahi-5-services 2011-03-21 02:12:14.000000000 +0000
-+++ cups-1.5.0/scheduler/dirsvc.h 2011-10-19 11:53:32.138177721 +0100
+diff -up cups-1.5.2/scheduler/dirsvc.h.avahi-5-services cups-1.5.2/scheduler/dirsvc.h
+--- cups-1.5.2/scheduler/dirsvc.h.avahi-5-services 2011-03-21 02:12:14.000000000 +0000
++++ cups-1.5.2/scheduler/dirsvc.h 2012-03-14 15:08:25.711611808 +0000
@@ -31,6 +31,10 @@
# endif /* HAVE_LDAP_SSL_H */
#endif /* HAVE_LDAP */
@@ -1054,10 +1135,10 @@ diff -up cups-1.5.0/scheduler/dirsvc.h.avahi-5-services cups-1.5.0/scheduler/dir
#ifdef HAVE_LDAP
extern void cupsdUpdateLDAPBrowse(void);
#endif /* HAVE_LDAP */
-diff -up cups-1.5.0/scheduler/ipp.c.avahi-5-services cups-1.5.0/scheduler/ipp.c
---- cups-1.5.0/scheduler/ipp.c.avahi-5-services 2011-10-19 11:53:31.978180686 +0100
-+++ cups-1.5.0/scheduler/ipp.c 2011-10-19 11:53:32.147177555 +0100
-@@ -6096,7 +6096,7 @@ copy_printer_attrs(
+diff -up cups-1.5.2/scheduler/ipp.c.avahi-5-services cups-1.5.2/scheduler/ipp.c
+--- cups-1.5.2/scheduler/ipp.c.avahi-5-services 2012-03-14 15:04:17.665305560 +0000
++++ cups-1.5.2/scheduler/ipp.c 2012-03-14 15:08:25.715611813 +0000
+@@ -6099,7 +6099,7 @@ copy_printer_attrs(
ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time",
ippTimeToDate(curtime));
@@ -1066,7 +1147,7 @@ diff -up cups-1.5.0/scheduler/ipp.c.avahi-5-services cups-1.5.0/scheduler/ipp.c
if (!ra || cupsArrayFind(ra, "printer-dns-sd-name"))
{
if (printer->reg_name)
-@@ -6106,7 +6106,7 @@ copy_printer_attrs(
+@@ -6109,7 +6109,7 @@ copy_printer_attrs(
ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE,
"printer-dns-sd-name", 0);
}
@@ -1075,9 +1156,9 @@ diff -up cups-1.5.0/scheduler/ipp.c.avahi-5-services cups-1.5.0/scheduler/ipp.c
if (!ra || cupsArrayFind(ra, "printer-error-policy"))
ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME,
-diff -up cups-1.5.0/scheduler/main.c.avahi-5-services cups-1.5.0/scheduler/main.c
---- cups-1.5.0/scheduler/main.c.avahi-5-services 2011-10-19 11:53:32.101178406 +0100
-+++ cups-1.5.0/scheduler/main.c 2011-10-19 11:53:32.151177479 +0100
+diff -up cups-1.5.2/scheduler/main.c.avahi-5-services cups-1.5.2/scheduler/main.c
+--- cups-1.5.2/scheduler/main.c.avahi-5-services 2012-03-14 15:06:36.511476986 +0000
++++ cups-1.5.2/scheduler/main.c 2012-03-14 15:08:25.718611817 +0000
@@ -120,6 +120,10 @@ main(int argc, /* I - Number of comm
cupsd_listener_t *lis; /* Current listener */
time_t current_time, /* Current time */
@@ -1116,9 +1197,9 @@ diff -up cups-1.5.0/scheduler/main.c.avahi-5-services cups-1.5.0/scheduler/main.
#endif /* HAVE_AVAHI */
#ifndef __APPLE__
-diff -up cups-1.5.0/scheduler/printers.c.avahi-5-services cups-1.5.0/scheduler/printers.c
---- cups-1.5.0/scheduler/printers.c.avahi-5-services 2011-10-19 11:53:31.916181835 +0100
-+++ cups-1.5.0/scheduler/printers.c 2011-10-19 11:53:32.156177388 +0100
+diff -up cups-1.5.2/scheduler/printers.c.avahi-5-services cups-1.5.2/scheduler/printers.c
+--- cups-1.5.2/scheduler/printers.c.avahi-5-services 2012-03-14 15:04:17.646305537 +0000
++++ cups-1.5.2/scheduler/printers.c 2012-03-14 15:08:25.720611819 +0000
@@ -883,9 +883,9 @@ cupsdDeletePrinter(
cupsdClearString(&p->alert);
cupsdClearString(&p->alert_description);
@@ -1149,9 +1230,9 @@ diff -up cups-1.5.0/scheduler/printers.c.avahi-5-services cups-1.5.0/scheduler/p
}
-diff -up cups-1.5.0/scheduler/printers.h.avahi-5-services cups-1.5.0/scheduler/printers.h
---- cups-1.5.0/scheduler/printers.h.avahi-5-services 2011-03-18 18:42:46.000000000 +0000
-+++ cups-1.5.0/scheduler/printers.h 2011-10-19 11:53:32.157177369 +0100
+diff -up cups-1.5.2/scheduler/printers.h.avahi-5-services cups-1.5.2/scheduler/printers.h
+--- cups-1.5.2/scheduler/printers.h.avahi-5-services 2011-03-18 18:42:46.000000000 +0000
++++ cups-1.5.2/scheduler/printers.h 2012-03-14 15:08:25.721611820 +0000
@@ -16,6 +16,9 @@
#ifdef HAVE_DNSSD
# include <dns_sd.h>
diff --git a/libre/cups-libre/cups-no-gzip-man.patch b/libre/cups-libre/cups-no-gzip-man.patch
new file mode 100644
index 000000000..6786c4430
--- /dev/null
+++ b/libre/cups-libre/cups-no-gzip-man.patch
@@ -0,0 +1,18 @@
+diff -up cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.5b1/config-scripts/cups-manpages.m4
+--- cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man 2011-05-12 07:21:56.000000000 +0200
++++ cups-1.5b1/config-scripts/cups-manpages.m4 2011-05-23 17:25:50.000000000 +0200
+@@ -69,10 +69,10 @@ case "$uname" in
+ ;;
+ Linux* | GNU* | Darwin*)
+ # Linux, GNU Hurd, and Mac OS X
+- MAN1EXT=1.gz
+- MAN5EXT=5.gz
+- MAN7EXT=7.gz
+- MAN8EXT=8.gz
++ MAN1EXT=1
++ MAN5EXT=5
++ MAN7EXT=7
++ MAN8EXT=8
+ MAN8DIR=8
+ ;;
+ *)
diff --git a/libre/cups-libre/rePKGBUILD b/libre/cups-libre/rePKGBUILD
index 2ae999f9c..5f55000cc 100644
--- a/libre/cups-libre/rePKGBUILD
+++ b/libre/cups-libre/rePKGBUILD
@@ -5,7 +5,6 @@
# Maintainer: Nicolas Reynolds <fauno@kiwwwi.com.ar>
source PKGBUILD
-CARCH=x86_64
unset build package md5sums source check
_repo=extra
pkgname='cups-libre'
@@ -46,7 +45,6 @@ package_cups-libre() {
'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly'
'xdg-utils: xdg .desktop file support')
- find ${srcdir} -type l -maxdepth 1 -delete
- cd ${srcdir}
- cp -a ./* ${pkgdir}
+ find ${srcdir} -maxdepth 1 -type l -delete
+ cp -a ${srcdir}/* ${pkgdir}
}
diff --git a/libre/dvdrip-libre/PKGBUILD b/libre/dvdrip-libre/PKGBUILD
new file mode 100644
index 000000000..b9cd0c8ff
--- /dev/null
+++ b/libre/dvdrip-libre/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Fredrik Hammar <Horney_C86@Hotmail.com>
+# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+
+_pkgname=dvdrip
+pkgname=dvdrip-libre
+pkgver=0.98.11
+pkgrel=10
+pkgdesc="A Gtk frontend for transcode writen in Perl, without opcional hal and unfree rar dependencies"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://www.exit1.org/${_pkgname}/"
+install=${_pkgname}.install
+depends=('perl-gtk2-ex-formfactory' 'transcode' 'imagemagick'
+ 'perl-libintl-perl' 'desktop-file-utils' 'perl-event-execflow')
+optdepends=('xvid4conf: xvid4 configuration tool'
+ 'lsdvd: Needed for faster DVD TOC reading'
+ 'mplayer-libre: Needed for subtitle vobsub viewing'
+ 'mplayer-vaapi-libre: Needed for subtitle vobsub viewing'
+ 'mplayer2: Needed for subtitle vobsub viewing'
+ 'ogmtools: Needed for OGG/Vorbis and for chapter progress bar'
+ 'xine-ui: Can be used to view DVD'\''s/files'
+ 'fping: Only for cluster mode master')
+source=("http://www.exit1.org/${_pkgname}/dist/${_pkgname}-${pkgver}.tar.gz"
+ "${_pkgname}.desktop" "libre.patch")
+options=('!emptydirs' '!makeflags')
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}")
+provides=("${_pkgname}=${pkgver}")
+md5sums=('6dfa4199d451757a37eea233a07da4c0'
+ 'e91cf411928fd0500d07a0022b4ef546'
+ 'bc006d3b3447f8b62ae6ba29773a064b')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ patch -Np1 -i "$srcdir/libre.patch"
+
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ make install DESTDIR="${pkgdir}"
+
+ # remove perllocal.pod and .packlist
+ find ${pkgdir} -name perllocal.pod -delete
+ find ${pkgdir} -name .packlist -delete
+
+ install -Dm644 ${srcdir}/${_pkgname}.desktop "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
+ install -Dm 644 COPYRIGHT "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
+}
diff --git a/libre/dvdrip-libre/dvdrip.desktop b/libre/dvdrip-libre/dvdrip.desktop
new file mode 100644
index 000000000..dd19b4aae
--- /dev/null
+++ b/libre/dvdrip-libre/dvdrip.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=dvd::rip
+Comment=DVD Ripper and Encoder - Backup and compression utility for DVDs
+Exec=/usr/bin/vendor_perl/dvdrip
+Icon=/usr/share/perl5/vendor_perl/Video/DVDRip/icon.xpm
+Terminal=false
+Type=Application
+Categories=Application;AudioVideo;Video;
diff --git a/libre/dvdrip-libre/dvdrip.install b/libre/dvdrip-libre/dvdrip.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/libre/dvdrip-libre/dvdrip.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/dvdrip-libre/libre.patch b/libre/dvdrip-libre/libre.patch
new file mode 100644
index 000000000..cc24ef467
--- /dev/null
+++ b/libre/dvdrip-libre/libre.patch
@@ -0,0 +1,81 @@
+diff -Naur dvdrip-0.98.11.orig/lib/Video/DVDRip/Config.pm dvdrip-0.98.11/lib/Video/DVDRip/Config.pm
+--- dvdrip-0.98.11.orig/lib/Video/DVDRip/Config.pm 2009-02-28 16:28:00.000000000 -0200
++++ dvdrip-0.98.11/lib/Video/DVDRip/Config.pm 2012-05-15 15:41:34.554118050 -0300
+@@ -233,13 +233,6 @@
+ ],
+ rules => "executable-command",
+ },
+- rar_command => {
+- label => __ "rar command (for vobsub compression)",
+- type => 'string',
+- value => 'rar',
+- presets => [ 'rar', ],
+- rules => "executable-command",
+- },
+ base_project_dir => {
+ label => __ "Default data base directory",
+ type => 'dir',
+@@ -355,7 +348,6 @@
+ __ "Commands" => [
+ qw(
+ play_dvd_command play_file_command
+- play_stdin_command rar_command
+ )
+ ],
+ __ "Cluster options" => [
+@@ -907,7 +899,6 @@
+ sub test_play_dvd_command { _executable(@_) }
+ sub test_play_file_command { _executable(@_) }
+ sub test_play_stdin_command { _executable(@_) }
+-sub test_rar_command { _executable(@_) }
+ sub test_dvd_device { _exists(@_) }
+ sub test_writer_device { _exists(@_) }
+ sub test_base_project_dir { _abs_and_writable(@_) }
+diff -Naur dvdrip-0.98.11.orig/lib/Video/DVDRip/Depend.pm dvdrip-0.98.11/lib/Video/DVDRip/Depend.pm
+--- dvdrip-0.98.11.orig/lib/Video/DVDRip/Depend.pm 2009-02-28 16:28:00.000000000 -0200
++++ dvdrip-0.98.11/lib/Video/DVDRip/Depend.pm 2012-05-15 15:30:13.506056523 -0300
+@@ -171,22 +171,6 @@
+ min => "0.15",
+ suggested => "0.15",
+ },
+- rar => {
+- order => ++$ORDER,
+- command => Video::DVDRip::Depend->config('rar_command'),
+- comment => __ "Needed for compressed vobsub subtitles",
+- optional => 1,
+- version_cmd => "",
+- get_version => sub {
+- my $cmd = Video::DVDRip::Depend->config('rar_command')." '-?'";
+- qx[$cmd 2>&1] =~ /rar\s+(\d+\.\d+(\.\d+)?)/i;
+- return $1;
+- },
+- convert => 'default',
+- min => "2.71",
+- max => "2.99",
+- suggested => "2.71",
+- },
+ mplayer => {
+ order => ++$ORDER,
+ command => "mplayer",
+@@ -284,21 +268,6 @@
+ min => "2.2",
+ suggested => "2.4",
+ },
+- hal => {
+- order => ++$ORDER,
+- command => "lshal",
+- comment => __"Used for DVD device scanning",
+- optional => 1,
+- version_cmd => "lshal -v",
+- get_version => sub {
+- my ($cmd) = @_;
+- qx[$cmd 2>&1] =~ /version\s+(\d+\.\d+(\.\d+)?)/i;
+- return $1;
+- },
+- convert => 'default',
+- min => "0.5",
+- suggested => "0.5.7",
+- },
+ );
+
+ sub convert_default {
diff --git a/libre/file-roller-libre/PKGBUILD b/libre/file-roller-libre/PKGBUILD
index 14e9eab77..85e605002 100644
--- a/libre/file-roller-libre/PKGBUILD
+++ b/libre/file-roller-libre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 156381 2012-04-17 20:08:15Z ibiru $
+# $Id: PKGBUILD 159054 2012-05-15 11:14:08Z heftig $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
_pkgname=file-roller
pkgname=file-roller-libre
-pkgver=3.4.1
+pkgver=3.4.2
pkgrel=1
pkgdesc="Archive manipulator for GNOME"
arch=('i686' 'x86_64' 'mips64el')
@@ -25,7 +25,7 @@ options=('!libtool' '!emptydirs')
install=file-roller.install
url="http://www.gnome.org"
source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz)
-sha256sums=('94600d880ce65ab171a174a83519e4911f570fd000c33497b4805100029ebd8b')
+sha256sums=('7085a351c55171718bbf5b9b614a7b9606efb8cbd2eb44cc6c538545444d0cdd')
build() {
cd $_pkgname-$pkgver
diff --git a/libre/filesystem/PKGBUILD b/libre/filesystem/PKGBUILD
index 90b39d121..94d5390ab 100644
--- a/libre/filesystem/PKGBUILD
+++ b/libre/filesystem/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 155345 2012-04-01 23:43:12Z tomegun $
+# $Id: PKGBUILD 158070 2012-05-02 11:53:48Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
pkgname=filesystem
pkgver=2012.2
-pkgrel=4
+pkgrel=5
pkgdesc='Base filesystem for Parabola'
arch=('any')
license=('GPL')
@@ -43,7 +43,7 @@ package() {
#
# setup root filesystem
#
- for d in bin boot dev etc home lib/modules media mnt sbin usr var opt srv/http sys run; do
+ for d in bin boot dev etc home media mnt sbin usr var opt srv/http sys run; do
install -d -m755 ${d}
done
install -d -m555 proc
diff --git a/libre/foomatic-filters-libre/PKGBUILD b/libre/foomatic-filters-libre/PKGBUILD
new file mode 100644
index 000000000..1149a2558
--- /dev/null
+++ b/libre/foomatic-filters-libre/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 155770 2012-04-06 10:08:29Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+
+pkgbase="foomatic"
+pkgname=('foomatic-filters-libre')
+arch=('i686' 'x86_64' 'mips64el') # needs to be changed in the subpackages when makepkg will support it
+_snapdate=20120406
+_filtersver=4.0.15
+pkgver=${_filtersver}_${_snapdate}
+pkgrel=1.2
+epoch=1
+makedepends=('cups' 'perl' 'libxml2' 'enscript' 'perl' 'net-snmp' 'bash')
+#_url=http://www.openprinting.org/download/foomatic/ # switch after build
+_url=ftp://ftp.archlinux.org/other/foomatic/
+source=(${_url}/$pkgbase-filters-${_filtersver}.tar.gz)
+url="http://www.linuxprinting.org/foomatic.html"
+options=('!emptydirs')
+md5sums=('1b7efcdc57340915647daa5b5c15b0ef')
+
+package_foomatic-filters-libre() {
+
+ pkgdesc="Foomatic - Filter scripts used by the printer spoolers to convert the incoming PostScript data into the printer's native format."
+# arch=('i686' 'x86_64')
+ license=('GPL')
+ backup=(etc/foomatic/filter.conf)
+ depends=('glibc' 'dbus-core')
+ provides=("foomatic-filters=${pkgver}")
+ replaces=('foomatic-filters')
+ conflicts=('foomatic-filters')
+ optdepends=('perl: for the "beh" Backend End Handler used by cups'
+ 'net-snmp: certain (mostly HP) printers need it to work')
+
+ cd ${srcdir}/foomatic-filters-${_filtersver}
+ rm -rfv test/{lsbfuncs,shfuncs,tcm,tetapi}.sh
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+ make DESTDIR=${pkgdir} install
+}
diff --git a/libre/foomatic/PKGBUILD b/libre/foomatic/PKGBUILD
deleted file mode 100644
index 5446bb579..000000000
--- a/libre/foomatic/PKGBUILD
+++ /dev/null
@@ -1,92 +0,0 @@
-# $Id: PKGBUILD 155771 2012-04-06 10:09:10Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgbase="foomatic"
-pkgname=('foomatic-db' 'foomatic-filters-libre' 'foomatic-db-engine')
-arch=('i686' 'x86_64' 'mips64el') # needs to be changed in the subpackages when makepkg will support it
-_snapdate=20120406
-_filtersver=4.0.15
-_enginever=4.0.8
-pkgver=${_filtersver}_${_snapdate}
-pkgrel=1
-epoch=1
-makedepends=('cups' 'perl' 'libxml2' 'enscript' 'perl' 'net-snmp' 'bash')
-#_url=http://www.openprinting.org/download/foomatic/ # switch after build
-_url=ftp://ftp.archlinux.org/other/foomatic/
-source=(https://repo.parabolagnulinux.org/other/${pkgbase}-filters-libre-${_filtersver}.tar.gz
- ${_url}/$pkgbase-db-engine-${_enginever}.tar.gz
- ${_url}/$pkgbase-db-4.0-${_snapdate}.tar.gz)
-url="http://www.linuxprinting.org/foomatic.html"
-options=('!emptydirs')
-
-mksource() {
- if [ ! -d ${pkgbase}-filters-libre-${_filtersver}/ ]; then
- wget -O - http://www.openprinting.org/download/foomatic/foomatic-filters-${_filtersver}.tar.gz | \
- bsdtar xzf -
-
- mv ${pkgbase}-filters{,-libre}-${_filtersver}/
- fi
-
- rm -rfv ${pkgbase}-filters-libre-${_filtersver}/test/{lsbfuncs,shfuncs,tcm,tetapi}.sh
- bsdtar cvzf ${pkgbase}-filters-libre-${_filtersver}.tar.gz ${pkgbase}-filters-libre-${_filtersver}/
-}
-
-package_foomatic-db() {
-
- pkgdesc="Foomatic - The collected knowledge about printers, drivers, and driver options in XML files, used by foomatic-db-engine to generate PPD files."
-# arch=('any')
- license=('GPL' 'custom')
- depends=('perl' 'libxml2')
- replaces=('foomatic-db-ppd' 'foomatic-db-hpijs')
- conflicts=('foomatic-db-ppd' 'foomatic-db-hpijs')
- provides=('foomatic-db-hpijs')
-
- cd ${srcdir}/${pkgname}-${_snapdate}
- ./configure --prefix=/usr
- make DESTDIR=${pkgdir} install
- install -v -Dm644 ${srcdir}/${pkgname}-${_snapdate}/COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
-}
-
-package_foomatic-filters-libre() {
-
- pkgdesc="Foomatic - Filter scripts used by the printer spoolers to convert the incoming PostScript data into the printer's native format."
-# arch=('i686' 'x86_64')
- license=('GPL')
- backup=(etc/foomatic/filter.conf)
- depends=('glibc')
- provides=("foomatic-filters=${pkgver}")
- replaces=('foomatic-filters')
- conflicts=('foomatic-filters')
- optdepends=('perl: for the "beh" Backend End Handler used by cups'
- 'net-snmp: certain (mostly HP) printers need it to work')
-
- cd ${srcdir}/${pkgname}-${_filtersver}
- ./configure --prefix=/usr --sysconfdir=/etc
- make
- make DESTDIR=${pkgdir} install
-}
-
-package_foomatic-db-engine() {
-
- pkgdesc="Foomatic - Foomatic's database engine generates PPD files from the data in Foomatic's XML database. It also contains scripts to directly generate print queues and handle jobs."
-# arch=(i686 x86_64)
- license=('GPL')
- depends=('perl' 'libxml2' 'foomatic-filters' 'bash')
-
- cd ${srcdir}/foomatic-db-engine-${_enginever}
- ./configure --prefix=/usr
- make
- eval `perl -V:archname`
- make DESTDIR=${pkgdir} \
- INSTALLARCHLIB=/usr/lib/perl5/vendor_perl/ \
- INSTALLSITELIB=/usr/lib/perl5/vendor_perl/ \
- INSTALLSITEARCH=/usr/lib/perl5/vendor_perl/ install
- /usr/bin/find ${pkgdir} -name '.packlist' -delete
- # fix permissions
- chmod 755 ${pkgdir}/usr/lib{,/perl5,/perl5/vendor_perl}
-}
-
-
-md5sums=('957a07820f47804ce76dbb59cd79cd1b'
- '5283cd5125a96dc0b35d896326512b1a'
- 'ccb72c201e14bfc5eb23ea839ecc0623')
diff --git a/libre/ghostscript-libre/PKGBUILD b/libre/ghostscript-libre/PKGBUILD
index 049eed1df..b89a3095b 100644
--- a/libre/ghostscript-libre/PKGBUILD
+++ b/libre/ghostscript-libre/PKGBUILD
@@ -1,11 +1,12 @@
-# $Id: PKGBUILD 146976 2012-01-19 20:56:52Z andyrtr $
+# $Id: PKGBUILD 149732 2012-02-09 20:34:33Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer (Parabola): xihh
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+_pkgname=ghostscript
pkgname=ghostscript-libre
-pkgver=9.04
-_srcpkgrel=5
-pkgrel=6
+pkgver=9.05
+pkgrel=1
pkgdesc="An interpreter for the PostScript language without non-free files"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL3') #non free files removed
@@ -17,22 +18,15 @@ conflicts=('ghostscript')
replaces=('ghostscript-lrpng' 'ghostscript')
provides=('ghostscript-lprng' "ghostscript=$pkgver")
url="http://www.ghostscript.com/"
-source=(https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-${_srcpkgrel}-any.src.tar.xz
- ghostscript-cups-rgbw.patch
- ghostscript-gpl-9.04-freetype-underlinking.patch)
+source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2)
options=('!libtool' '!makeflags')
-md5sums=('ac8f77c94a6b5d5f0170c2e6db38c6bb'
- 'bc56eb8c5fef0ecf964f6b3e9b7e65ae'
- 'a1928c3e4459dcfee0aaa4b38fadba57')
+md5sums=('8bcef1f33ddf8a4d12b2cf8da385c191')
build() {
cd ${srcdir}/ghostscript-${pkgver}
- # fix broken color printing https://bugs.archlinux.org/task/25519
- patch -Np1 -i ${srcdir}/ghostscript-cups-rgbw.patch
-
- # fix a linking issue
- patch -Np1 -i ${srcdir}/ghostscript-gpl-9.04-freetype-underlinking.patch
+ # delete non-free packages
+ grep -l "are not altered" Resource/CMap/* | xargs rm -fv
# force it to use system-libs
rm -rf jpeg libpng zlib jasper expat tiff lcms freetype
@@ -49,6 +43,7 @@ build() {
--enable-fontconfig \
--enable-freetype \
--without-luratech \
+ --with-system-libtiff \
--disable-compile-inits #--help # needed for linking with system-zlib
make
@@ -68,8 +63,8 @@ package() {
# install missing doc files # http://bugs.archlinux.org/task/18023
install -m 644 ${srcdir}/ghostscript-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} ${pkgdir}/usr/share/ghostscript/$pkgver/doc/
- mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/
+ mkdir -p ${pkgdir}/usr/share/licenses/${_pkgname}
+ install -m644 LICENSE ${pkgdir}/usr/share/licenses/${_pkgname}/
# remove unwanted localized man-pages
rm -rf $pkgdir/usr/share/man/[^man1]*
diff --git a/libre/ghostscript-libre/SRCBUILD b/libre/ghostscript-libre/SRCBUILD
deleted file mode 100644
index dc28e857e..000000000
--- a/libre/ghostscript-libre/SRCBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 123066 2011-05-07 23:01:49Z stephane $
-# Maintainer: AndyRTR <andyrtr@archlinux.org>
-# Maintainer (Parabola): xihh
-
-pkgname=ghostscript-libre
-pkgver=9.04
-pkgrel=5
-pkgdesc="An interpreter for the PostScript language without non-free files"
-arch=('any')
-license=('GPL3') #non free files removed
-url="http://www.ghostscript.com/"
-source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2)
-md5sums=('9f6899e821ab6d78ab2c856f10fa3023')
-options=(!strip !docs !libtool !emptydirs !zipman !purge)
-
-build() {
- cd ${srcdir}/ghostscript-${pkgver}
-
- export PKGEXT=.src.tar.xz
-
- # delete non-free packages
- grep -l "are not altered" Resource/CMap/* | xargs rm -fv
-}
-
-package() {
- cd ${srcdir}
- export PKGEXT=.src.tar.xz
- export PKGDEST=${startdir}
-
- mv ghostscript-${pkgver} ${pkgdir}/
-
-}
diff --git a/libre/ghostscript-libre/ghostscript-cups-rgbw.patch b/libre/ghostscript-libre/ghostscript-cups-rgbw.patch
deleted file mode 100644
index f6ae2dae7..000000000
--- a/libre/ghostscript-libre/ghostscript-cups-rgbw.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-diff -up ghostscript-9.04/cups/gdevcups.c.cups-rgbw ghostscript-9.04/cups/gdevcups.c
---- ghostscript-9.04/cups/gdevcups.c.cups-rgbw 2011-08-05 12:12:21.000000000 +0100
-+++ ghostscript-9.04/cups/gdevcups.c 2011-08-22 10:54:24.614010581 +0100
-@@ -225,6 +225,7 @@ typedef struct gx_device_cups_s
- unsigned short EncodeLUT[gx_max_color_value + 1];/* RGB value to output color LUT */
- int Density[CUPS_MAX_VALUE + 1];/* Density LUT */
- int Matrix[3][3][CUPS_MAX_VALUE + 1];/* Color transform matrix LUT */
-+ int user_icc;
- int cupsRasterVersion;
-
- /* Used by cups_put_params(): */
-@@ -426,6 +427,7 @@ gx_device_cups gs_cups_device =
- {0x00}, /* EncodeLUT */
- {0x00}, /* Density */
- {0x00}, /* Matrix */
-+ 0,
- 3 /* cupsRasterVersion */
- };
-
-@@ -1182,15 +1184,18 @@ cups_map_cmyk(gx_device *pdev, /* I - D
-
- case CUPS_CSPACE_RGB :
- case CUPS_CSPACE_RGBW :
-+ c0 = c + k;
-+ c1 = m + k;
-+ c2 = y + k;
- if (cups->header.cupsColorSpace == CUPS_CSPACE_RGBW) {
-- c0 = c;
-- c1 = m;
-- c2 = y;
-- c3 = k;
-- } else {
-- c0 = c + k;
-- c1 = m + k;
-- c2 = y + k;
-+ if ((k >= frac_1 - 1) ||
-+ ((c0 >= frac_1) && (c1 >= frac_1) && (c2 >= frac_1))) {
-+ c0 = frac_1;
-+ c1 = frac_1;
-+ c2 = frac_1;
-+ c3 = frac_1;
-+ } else
-+ c3 = 0;
- }
-
- if (c0 < 0)
-@@ -1212,11 +1217,12 @@ cups_map_cmyk(gx_device *pdev, /* I - D
- out[2] = frac_1 - (frac)cups->Density[c2];
-
- if (cups->header.cupsColorSpace == CUPS_CSPACE_RGBW) {
-- if (c3 < 0)
-- c3 = 0;
-- else if (c3 > frac_1)
-- c3 = frac_1;
-- out[3] = frac_1 - (frac)cups->Density[c3];
-+ if (c3 == 0)
-+ out[3] = frac_1;
-+ else if (c3 == frac_1)
-+ out[3] = 0;
-+ else
-+ out[3] = frac_1;
- }
- break;
-
-@@ -2034,10 +2040,15 @@ cups_map_color_rgb(gx_device *pdev,
- * cups->DecodeLUT actually maps to RGBW, not CMYK...
- */
-
-- k = cups->DecodeLUT[c3];
-- c = cups->DecodeLUT[c0] + k - gx_max_color_value;
-- m = cups->DecodeLUT[c1] + k - gx_max_color_value;
-- y = cups->DecodeLUT[c2] + k - gx_max_color_value;
-+ if (c3 == 0) {
-+ c = 0;
-+ m = 0;
-+ y = 0;
-+ } else {
-+ c = cups->DecodeLUT[c0];
-+ m = cups->DecodeLUT[c1];
-+ y = cups->DecodeLUT[c2];
-+ }
-
- if (c > gx_max_color_value)
- prgb[0] = gx_max_color_value;
-@@ -2282,20 +2293,20 @@ cups_map_rgb_color(gx_device *pdev,
- switch (cups->header.cupsBitsPerColor)
- {
- default :
-- i = 0x0e;
-+ i = 0x00;
- break;
- case 2 :
-- i = 0xfc;
-+ i = 0x00;
- break;
- case 4 :
-- i = 0xfff0;
-+ i = 0x0000;
- break;
- case 8 :
-- i = 0xffffff00;
-+ i = 0x00000000;
- break;
- #ifdef GX_COLOR_INDEX_TYPE
- case 16 :
-- i = 0xffffffffffff0000;
-+ i = 0x0000000000000000;
- break;
- #endif /* GX_COLOR_INDEX_TYPE */
- }
-@@ -2929,7 +2940,10 @@ cups_put_params(gx_device *pdev, /*
- int xflip = 0,
- yflip = 0;
- int found = 0;
--
-+ gs_param_string icc_pro_dummy;
-+ int old_cmps = cups->color_info.num_components;
-+ int old_depth = cups->color_info.depth;
-+
- #ifdef DEBUG
- dprintf2("DEBUG2: cups_put_params(%p, %p)\n", pdev, plist);
- #endif /* DEBUG */
-@@ -3024,6 +3038,11 @@ cups_put_params(gx_device *pdev, /*
- margins_set = param_read_float_array(plist, "Margins", &arrayval) == 0;
- color_set = param_read_int(plist, "cupsColorSpace", &intval) == 0 ||
- param_read_int(plist, "cupsBitsPerColor", &intval) == 0;
-+
-+ if (!cups->user_icc) {
-+ cups->user_icc = param_read_string(plist, "OutputICCProfile", &icc_pro_dummy) == 0;
-+ }
-+
- /* We set the old dimensions to 1 if we have a color depth change, so
- that memory reallocation gets forced. This is perhaps not the correct
- approach to prevent crashes like in bug 690435. We keep it for the
-@@ -3134,12 +3153,20 @@ cups_put_params(gx_device *pdev, /*
- if ((code = gdev_prn_put_params(pdev, plist)) < 0)
- return (code);
-
-+ /* If cups_set_color_info() changed the color model of the device we want to
-+ * force the raster memory to be recreated/reinitialized
-+ */
-+ if (cups->color_info.num_components != old_cmps || cups->color_info.depth != old_depth) {
-+ width_old = 0;
-+ height_old = 0;
-+ }
-+ else {
- /* pdev->width/height may have been changed by the call to
- * gdev_prn_put_params()
- */
-- width_old = pdev->width;
-- height_old = pdev->height;
--
-+ width_old = pdev->width;
-+ height_old = pdev->height;
-+ }
- /*
- * Update margins/sizes as needed...
- */
-@@ -4044,22 +4071,88 @@ cups_set_color_info(gx_device *pdev) /*
- for (k = 0; k <= CUPS_MAX_VALUE; k ++)
- cups->Density[k] = k;
- }
-- /* Set up the ICC profile for ghostscript to use based upon the color space.
-- This is different than the PPD profile above which appears to be some sort
-- of matrix based TRC profile */
-- switch (cups->header.cupsColorSpace) {
-- /* Use RGB profile for this */
-- case CUPS_CSPACE_RGBW:
-- if (pdev->icc_struct == NULL) {
-- pdev->icc_struct = gsicc_new_device_profile_array(pdev->memory);
-- }
-- if (pdev->icc_struct->device_profile[gsDEFAULTPROFILE] == NULL) {
-- code = gsicc_set_device_profile(pdev, pdev->memory,
-- DEFAULT_RGB_ICC, gsDEFAULTPROFILE);
-- }
-- break;
-- default:
-- break;
-+ if (!cups->user_icc) {
-+ /* Set up the ICC profile for ghostscript to use based upon the color space.
-+ This is different than the PPD profile above which appears to be some sort
-+ of matrix based TRC profile */
-+ switch (cups->header.cupsColorSpace)
-+ {
-+ default :
-+ case CUPS_CSPACE_RGBW :
-+ case CUPS_CSPACE_RGB :
-+ case CUPS_CSPACE_RGBA :
-+ case CUPS_CSPACE_CMY :
-+ case CUPS_CSPACE_YMC :
-+# ifdef CUPS_RASTER_HAVE_COLORIMETRIC
-+ case CUPS_CSPACE_CIELab :
-+ case CUPS_CSPACE_ICC1 :
-+ case CUPS_CSPACE_ICC2 :
-+ case CUPS_CSPACE_ICC3 :
-+ case CUPS_CSPACE_ICC4 :
-+ case CUPS_CSPACE_ICC5 :
-+ case CUPS_CSPACE_ICC6 :
-+ case CUPS_CSPACE_ICC7 :
-+ case CUPS_CSPACE_ICC8 :
-+ case CUPS_CSPACE_ICC9 :
-+ case CUPS_CSPACE_ICCA :
-+ case CUPS_CSPACE_ICCB :
-+ case CUPS_CSPACE_ICCC :
-+ case CUPS_CSPACE_ICCD :
-+ case CUPS_CSPACE_ICCE :
-+ case CUPS_CSPACE_ICCF :
-+# endif /* CUPS_RASTER_HAVE_COLORIMETRIC */
-+ if (!pdev->icc_struct || (pdev->icc_struct &&
-+ pdev->icc_struct->device_profile[gsDEFAULTPROFILE]->data_cs != gsRGB)) {
-+
-+ if (pdev->icc_struct) {
-+ rc_decrement(pdev->icc_struct, "cups_set_color_info");
-+ }
-+ pdev->icc_struct = gsicc_new_device_profile_array(pdev->memory);
-+
-+ code = gsicc_set_device_profile(pdev, pdev->memory,
-+ (char *)DEFAULT_RGB_ICC, gsDEFAULTPROFILE);
-+ }
-+ break;
-+
-+ case CUPS_CSPACE_W :
-+ case CUPS_CSPACE_WHITE :
-+ case CUPS_CSPACE_K :
-+ case CUPS_CSPACE_GOLD :
-+ case CUPS_CSPACE_SILVER :
-+ if (!pdev->icc_struct || (pdev->icc_struct &&
-+ pdev->icc_struct->device_profile[gsDEFAULTPROFILE]->data_cs != gsGRAY)) {
-+
-+ if (pdev->icc_struct) {
-+ rc_decrement(pdev->icc_struct, "cups_set_color_info");
-+ }
-+ pdev->icc_struct = gsicc_new_device_profile_array(pdev->memory);
-+
-+ code = gsicc_set_device_profile(pdev, pdev->memory->non_gc_memory,
-+ (char *)DEFAULT_GRAY_ICC, gsDEFAULTPROFILE);
-+ }
-+ break;
-+ case CUPS_CSPACE_KCMYcm :
-+# ifdef CUPS_RASTER_HAVE_COLORIMETRIC
-+ case CUPS_CSPACE_CIEXYZ :
-+#endif
-+ case CUPS_CSPACE_CMYK :
-+ case CUPS_CSPACE_YMCK :
-+ case CUPS_CSPACE_KCMY :
-+ case CUPS_CSPACE_GMCK :
-+ case CUPS_CSPACE_GMCS :
-+ if (!pdev->icc_struct || (pdev->icc_struct &&
-+ pdev->icc_struct->device_profile[gsDEFAULTPROFILE]->data_cs != gsCMYK)) {
-+
-+ if (pdev->icc_struct) {
-+ rc_decrement(pdev->icc_struct, "cups_set_color_info");
-+ }
-+ pdev->icc_struct = gsicc_new_device_profile_array(pdev->memory);
-+
-+ code = gsicc_set_device_profile(pdev, pdev->memory,
-+ (char *)DEFAULT_CMYK_ICC, gsDEFAULTPROFILE);
-+ }
-+ break;
-+ }
- }
- }
-
diff --git a/libre/ghostscript-libre/ghostscript-gpl-9.04-freetype-underlinking.patch b/libre/ghostscript-libre/ghostscript-gpl-9.04-freetype-underlinking.patch
deleted file mode 100644
index 1a81863be..000000000
--- a/libre/ghostscript-libre/ghostscript-gpl-9.04-freetype-underlinking.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur ghostscript-9.04/base/Makefile.in ghostscript-9.04.new/base/Makefile.in
---- ghostscript-9.04/base/Makefile.in 2011-08-05 13:12:20.000000000 +0200
-+++ ghostscript-9.04.new/base/Makefile.in 2011-08-16 16:06:50.487377337 +0200
-@@ -375,7 +375,7 @@
- # Solaris may need -lnsl -lsocket -lposix4.
- # (Libraries required by individual drivers are handled automatically.)
-
--EXTRALIBS=@LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@
-+EXTRALIBS=@LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@
-
- # Define the standard libraries to search at the end of linking.
- # Most platforms require -lpthread for the POSIX threads library;
diff --git a/libre/ghostscript-libre/gs_bug691759and691760.diff b/libre/ghostscript-libre/gs_bug691759and691760.diff
deleted file mode 100644
index ca394427a..000000000
--- a/libre/ghostscript-libre/gs_bug691759and691760.diff
+++ /dev/null
@@ -1,215 +0,0 @@
-Modified: trunk/gs/base/gdevnfwd.c
-===================================================================
---- trunk/gs/base/gdevnfwd.c 2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gdevnfwd.c 2011-01-07 04:49:42 UTC (rev 12005)
-@@ -1117,3 +1117,29 @@
- {
- return 0;
- }
-+
-+bool
-+fwd_uses_fwd_cmap_procs(gx_device * dev)
-+{
-+ const gx_cm_color_map_procs *pprocs;
-+
-+ pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
-+ if (pprocs == &FwdDevice_cm_map_procs) {
-+ return true;
-+ }
-+ return false;
-+}
-+
-+const gx_cm_color_map_procs*
-+fwd_get_target_cmap_procs(gx_device * dev)
-+{
-+ const gx_cm_color_map_procs *pprocs;
-+ gx_device_forward * const fdev = (gx_device_forward *)dev;
-+ gx_device * const tdev = fdev->target;
-+
-+ pprocs = dev_proc(tdev, get_color_mapping_procs(tdev));
-+ while (pprocs == &FwdDevice_cm_map_procs) {
-+ pprocs = fwd_get_target_cmap_procs(tdev);
-+ }
-+ return pprocs;
-+}
-\ No newline at end of file
-
-Modified: trunk/gs/base/gdevp14.c
-===================================================================
---- trunk/gs/base/gdevp14.c 2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gdevp14.c 2011-01-07 04:49:42 UTC (rev 12005)
-@@ -900,7 +900,11 @@
- nos->parent_color_info_procs->num_components, 1,
- false, false, true, tos->planestride,
- tos->rowstride, num_rows, num_cols);
-- /* Transform the data */
-+ /* Transform the data. Since the pdf14 device should be
-+ using RGB, CMYK or Gray buffers, this transform
-+ does not need to worry about the cmap procs of
-+ the target device. Those are handled when we do
-+ the pdf14 put image operation */
- gscms_transform_color_buffer(icc_link, &input_buff_desc,
- &output_buff_desc, tos->data,
- new_data_buf);
-
-Modified: trunk/gs/base/gxcmap.c
-===================================================================
---- trunk/gs/base/gxcmap.c 2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxcmap.c 2011-01-07 04:49:42 UTC (rev 12005)
-@@ -31,6 +31,7 @@
- #include "gsicc_manage.h"
- #include "gdevdevn.h"
- #include "gsicc_cache.h"
-+#include "gscms.h"
-
- /* Structure descriptor */
- public_st_device_color();
-@@ -1744,3 +1745,37 @@
-
- }
- }
-+
-+bool
-+gx_device_uses_std_cmap_procs(gx_device * dev)
-+{
-+ const gx_cm_color_map_procs *pprocs;
-+
-+ if (dev->device_icc_profile != NULL) {
-+ pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
-+ /* Check if they are forwarding procs */
-+ if (fwd_uses_fwd_cmap_procs(dev)) {
-+ pprocs = fwd_get_target_cmap_procs(dev);
-+ }
-+ switch(dev->device_icc_profile->data_cs) {
-+ case gsGRAY:
-+ if (pprocs == &DeviceGray_procs) {
-+ return true;
-+ }
-+ break;
-+ case gsRGB:
-+ if (pprocs == &DeviceRGB_procs) {
-+ return true;
-+ }
-+ break;
-+ case gsCMYK:
-+ if (pprocs == &DeviceCMYK_procs) {
-+ return true;
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+ }
-+ return false;
-+}
-
-Modified: trunk/gs/base/gxcmap.h
-===================================================================
---- trunk/gs/base/gxcmap.h 2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxcmap.h 2011-01-07 04:49:42 UTC (rev 12005)
-@@ -284,5 +284,11 @@
- * [0,1]
- */
- frac gx_unit_frac(float fvalue);
-+/* Determine if the device is using the standard color mapping procs. In
-+ such a case, we can make use of the faster icc color conversions for
-+ images */
-+bool gx_device_uses_std_cmap_procs(gx_device * dev);
-+bool fwd_uses_fwd_cmap_procs(gx_device * dev);
-+const gx_cm_color_map_procs* fwd_get_target_cmap_procs(gx_device * dev);
-
- #endif /* gxcmap_INCLUDED */
-
-Modified: trunk/gs/base/gxi12bit.c
-===================================================================
---- trunk/gs/base/gxi12bit.c 2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxi12bit.c 2011-01-07 04:49:42 UTC (rev 12005)
-@@ -113,6 +113,8 @@
- irender_proc_t
- gs_image_class_2_fracs(gx_image_enum * penum)
- {
-+ bool std_cmap_procs;
-+
- if (penum->bps > 8) {
- if (penum->use_mask_color) {
- /* Convert color mask values to fracs. */
-@@ -122,9 +124,14 @@
- penum->mask_color.values[i] =
- bits2frac(penum->mask_color.values[i], 12);
- }
-+ /* If the device has some unique color mapping procs due to its color space,
-+ then we will need to use those and go through pixel by pixel instead
-+ of blasting through buffers. This is true for example with many of
-+ the color spaces for CUPs */
-+ std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
- if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN &&
- penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ||
-- penum->bps != 16 ||
-+ penum->bps != 16 || !std_cmap_procs ||
- gs_color_space_get_index(penum->pcs) == gs_color_space_index_DevicePixel) {
- /* DevicePixel color space used in mask from 3x type. Basically
- a simple color space that just is scaled to the device bit
-
-Modified: trunk/gs/base/gxicolor.c
-===================================================================
---- trunk/gs/base/gxicolor.c 2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxicolor.c 2011-01-07 04:49:42 UTC (rev 12005)
-@@ -97,6 +97,8 @@
- irender_proc_t
- gs_image_class_4_color(gx_image_enum * penum)
- {
-+ bool std_cmap_procs;
-+
- if (penum->use_mask_color) {
- /*
- * Scale the mask colors to match the scaling of each sample to
-@@ -128,8 +130,14 @@
- penum->mask_color.mask = 0;
- penum->mask_color.test = ~0;
- }
-+ /* If the device has some unique color mapping procs due to its color space,
-+ then we will need to use those and go through pixel by pixel instead
-+ of blasting through buffers. This is true for example with many of
-+ the color spaces for CUPs */
-+ std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
- if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN &&
-- penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ) {
-+ penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ||
-+ !std_cmap_procs) {
- return &image_render_color_DeviceN;
- } else {
- /* Set up the link now */
-
-Modified: trunk/gs/base/gxiscale.c
-===================================================================
---- trunk/gs/base/gxiscale.c 2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxiscale.c 2011-01-07 04:49:42 UTC (rev 12005)
-@@ -104,6 +104,13 @@
- != penum->dev->color_info.num_components) {
- use_icc = false;
- }
-+ /* If the device has some unique color mapping procs due to its color space,
-+ then we will need to use those and go through pixel by pixel instead
-+ of blasting through buffers. This is true for example with many of
-+ the color spaces for CUPs */
-+ if(!gx_device_uses_std_cmap_procs(penum->dev)) {
-+ use_icc = false;
-+ }
- /*
- * USE_CONSERVATIVE_INTERPOLATION_RULES is normally NOT defined since
- * the MITCHELL digital filter seems OK as long as we are going out to
-
-Modified: trunk/gs/base/lib.mak
-===================================================================
---- trunk/gs/base/lib.mak 2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/lib.mak 2011-01-07 04:49:42 UTC (rev 12005)
-@@ -602,7 +602,7 @@
- $(gxalpha_h) $(gxcspace_h) $(gxfarith_h) $(gxfrac_h)\
- $(gxdcconv_h) $(gxdevice_h) $(gxcmap_h) $(gsnamecl_h) $(gxlum_h)\
- $(gzstate_h) $(gxdither_h) $(gxcdevn_h) $(string__h)\
-- $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h)
-+ $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h) $(gscms_h)
- $(GLCC) $(GLO_)gxcmap.$(OBJ) $(C_) $(GLSRC)gxcmap.c
-
- $(GLOBJ)gxcpath.$(OBJ) : $(GLSRC)gxcpath.c $(GXERR)\
-
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index 29870d611..7b9198d8d 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=grub
pkgver=0.97
-pkgrel=21
+pkgrel=21.3
pkgdesc="A GNU multiboot boot loader (Parabola rebranded)"
arch=('i686' 'x86_64')
license=('GPL')
@@ -13,9 +13,6 @@ url="http://www.gnu.org/software/grub/"
groups=('base')
depends=('ncurses' 'diffutils' 'sed')
optdepends=('xfsprogs: freezing of xfs /boot in install-grub script')
-replaces=('grub')
-conflicts=('grub')
-provides=("grub=$pkgver")
source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz
menu.lst
install-grub
diff --git a/libre/grub/rePKGBUILD b/libre/grub/rePKGBUILD
index 909ce8550..b14550034 100644
--- a/libre/grub/rePKGBUILD
+++ b/libre/grub/rePKGBUILD
@@ -1,10 +1,12 @@
# Maintainer: Nicolas Reynolds <fauno@kiwwwi.com.ar>
+# Contributor: André Silva <andre.paulista@adinet.com.uy>
source PKGBUILD
-CARCH=x86_64
+CARCH=i686
unset build package md5sums source
_repo=core
source=(PKGBUILD
- http://mirrors.kernel.org/archlinux/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT
+ #http://mirrors.kernel.org/archlinux/${_repo}/os/${CARCH}/${pkgname%}-$pkgver-$pkgrel-$CARCH$PKGEXT
+ http://mirrors.kernel.org/archlinux/${_repo}/os/${CARCH}/${pkgname%}-$pkgver-21-$CARCH$PKGEXT
# files for pkg modifications
menu.lst
install-grub
@@ -13,7 +15,8 @@ options=(!strip)
build() {
cd "${srcdir}/"
- rm PKGBUILD .{INSTALL,PKGINFO} ${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT
+ #rm PKGBUILD .{INSTALL,PKGINFO} ${pkgname%}-$pkgver-$pkgrel-$CARCH$PKGEXT
+ rm PKGBUILD .{INSTALL,PKGINFO} ${pkgname%}-$pkgver-21-$CARCH$PKGEXT
# put actions for package modifications below this line
rm -v boot/grub/menu.lst sbin/install-grub
diff --git a/libre/gstreamer0.10-good/PKGBUILD b/libre/gstreamer0.10-good/PKGBUILD
new file mode 100644
index 000000000..abe7dc0ef
--- /dev/null
+++ b/libre/gstreamer0.10-good/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+
+pkgbase=gstreamer0.10-good
+pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins')
+pkgver=0.10.31
+pkgrel=1.1
+arch=('i686' 'x86_64')
+license=('LGPL')
+makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'libpulse' 'jack' 'udev')
+url="http://gstreamer.freedesktop.org/"
+options=(!libtool !emptydirs)
+source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.xz)
+sha256sums=('77a8436a7c0a15f876bad29616835046890df2bcaf72da02151bd91e3d292b64')
+
+build() {
+ cd "${srcdir}/gst-plugins-good-${pkgver}"
+ sed -i '/AC_PATH_XTRA/d' configure.ac
+ autoreconf
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --enable-experimental \
+ --disable-schemas-install \
+ --disable-hal \
+ --disable-esd \
+ --with-package-name="GStreamer Good Plugins (Parabola GNU/Linux-libre)" \
+ --with-package-origin="https://parabolagnulinux.org/"
+
+ make
+ sed -e 's/gst sys ext/gst/' -i Makefile
+}
+
+package_gstreamer0.10-good() {
+ depends=('gstreamer0.10-base>=0.10.34' 'bzip2')
+ pkgdesc="GStreamer Multimedia Framework Good plugin libraries (Parabola rebranded)"
+
+ cd "${srcdir}/gst-plugins-good-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}/etc/gconf"
+}
+
+package_gstreamer0.10-good-plugins() {
+ depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'jack' 'libpulse' 'udev')
+ pkgdesc="GStreamer Multimedia Framework Good Plugins (gst-plugins-good)"
+ groups=('gstreamer0.10-plugins')
+ replaces=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-soup' 'gstreamer0.10-pulse')
+ conflicts=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-bad-plugins<0.10.7' 'gstreamer0.10-soup' 'gstreamer0.10-pulse')
+ install=gstreamer0.10-good-plugins.install
+
+ cd "${srcdir}/gst-plugins-good-${pkgver}"
+ make -C sys DESTDIR="${pkgdir}" install
+ make -C ext GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ install -m644 gconf/gstreamer-0.10.schemas "${pkgdir}/usr/share/gconf/schemas/gstreamer0.10-good-plugins.schemas"
+}
diff --git a/libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install b/libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install
new file mode 100644
index 000000000..e343beea5
--- /dev/null
+++ b/libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install
@@ -0,0 +1,19 @@
+pkgname=gstreamer0.10-good-plugins
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ pre_remove
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
diff --git a/libre/hplip-libre/PKGBUILD b/libre/hplip-libre/PKGBUILD
index ff876dfe8..81b24e100 100644
--- a/libre/hplip-libre/PKGBUILD
+++ b/libre/hplip-libre/PKGBUILD
@@ -5,7 +5,7 @@
_pkgname=hplip
pkgname=hplip-libre
-pkgver=3.12.2
+pkgver=3.12.4
pkgrel=1
pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet"
arch=('i686' 'x86_64')
@@ -13,14 +13,14 @@ url="http://hplipopensource.com"
license=('GPL')
depends=('python2' 'ghostscript>=8.64-6' 'foomatic-db' 'foomatic-db-engine'
'net-snmp>=5.7.1')
-makedepends=('python2-qt' 'python2-gobject2' 'sane' 'rpcbind' 'cups')
+makedepends=('python2-pyqt' 'python2-gobject2' 'sane' 'rpcbind' 'cups')
optdepends=('cups: for printing support'
'dbus-python: for dbus support'
'sane: for scanner support'
'python-imaging: for commandline scanning support'
'python-notify: for Desktop notification support'
'rpcbind: for network support'
- 'python2-qt: for running hp-toolbox'
+ 'python2-pyqt: for running hp-toolbox'
'python2-gobject2: for running hp-toolbox')
replaces=('hpijs' "${_pkgname}")
conflicts=("${_pkgname}")
@@ -28,8 +28,6 @@ provides=("${_pkgname}=${pkgver}")
options=('!libtool')
install=hplip.install
source=(http://downloads.sourceforge.net/${_pkgname}/$_pkgname-$pkgver.tar.gz{,.asc})
-sha1sums=('bdf3e37a344f5b57b62425f755c4293d6d4ae875'
- 'aa00cdf755fea38f39247a0a4a2e8241dc15112c')
build() {
cd "$srcdir/$_pkgname-$pkgver"
@@ -68,4 +66,9 @@ package() {
rm -rf "$pkgdir"/etc/{sane.d,xdg}
# remove HAL .fdi file because HAL is no longer used
rm -rf "$pkgdir"/usr/share/hal
+ # move to /usr
+ mv "$pkgdir"/lib/udev "$pkgdir"/usr/lib/
+ rm "$pkgdir"/lib -r
}
+md5sums=('a063f76aa47edab55a3f31ff2558df07'
+ '2fe18f4091afb3dec200271dc7836128')
diff --git a/libre/iceape-i18n/Makefile b/libre/iceape-i18n/Makefile
new file mode 100644
index 000000000..89aaccfdc
--- /dev/null
+++ b/libre/iceape-i18n/Makefile
@@ -0,0 +1,59 @@
+#!/usr/bin/make -f
+# Use this script to update the PKGBUILD's list of langpacks.
+# This script depends on:
+# - coreutils
+# - pacman
+# - sed
+
+# Variables:
+# This is to get it from Debian Sid
+debname=iceape-l10n
+debver=2.7.4+debian
+debrel=2
+debrepo=http://ftp.debian.org/debian/pool/main/
+
+pkgver=2.7.4
+pkgrel=1
+
+# Guts: ##############################################################
+
+default: PHONY all
+all: PHONY
+ $(MAKE) clean
+ $(MAKE) PKGBUILD
+.PRECIOUS: PKGBUILD
+
+PKGBUILD.list: Makefile
+ sed \
+ -e 's/@DEBNAME@/$(debname)/' \
+ -e 's/@DEBVER@/$(debver)/' \
+ -e 's/@DEBREL@/$(debrel)/' \
+ -e 's%@DEBREPO@%$(debrepo)%' \
+ -e 's/@PKGVER@/$(pkgver)/' \
+ -e 's/@PKGREL@/$(pkgrel)/' \
+ -e "s/@LANGPACKS@/(phony)/" \
+ -e '/CUT HERE/,$$d' \
+ PKGBUILD.in > $@
+ echo 'package() { exit 0; }' >> $@
+ makepkg -gp $@ >> $@
+langpacks.txt: PKGBUILD.list Makefile
+ makepkg -dp $<
+ ls src/*/upstream | sed 's/\.xpi//' > $@
+PKGBUILD: PKGBUILD.in langpacks.txt Makefile
+ sed \
+ -e 's/@DEBNAME@/$(debname)/' \
+ -e 's/@DEBVER@/$(debver)/' \
+ -e 's/@DEBREL@/$(debrel)/' \
+ -e 's%@DEBREPO@%$(debrepo)%' \
+ -e 's/@PKGVER@/$(pkgver)/' \
+ -e 's/@PKGREL@/$(pkgrel)/' \
+ -e "s/@LANGPACKS@/(`xargs echo < langpacks.txt`)/" \
+ -e '/CUT HERE/d' \
+ -e '/md5sums/,$$d' \
+ PKGBUILD.in > $@
+ makepkg -dg >> $@
+
+clean: PHONY
+ rm -f PKGBUILD.list langpacks.txt
+
+.PHONY: PHONY FORCE
diff --git a/libre/iceape-i18n/PKGBUILD b/libre/iceape-i18n/PKGBUILD
new file mode 100644
index 000000000..3c0b42b31
--- /dev/null
+++ b/libre/iceape-i18n/PKGBUILD
@@ -0,0 +1,81 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer: André Silva <andre.paulista@adinet.com.uy>
+# Contributor: fauno <fauno@kiwwwi.com.ar>
+# Contributor: Figue <ffigue@gmail.com>
+# Based on icecat-i18n package, which is in turn based on firefox-i18n
+
+# When updating to a newer upstream release:
+# - Edit variables in in Makefile.
+# - (optionally) edit PKGBUILD.in
+# - Run 'make'. It will take care of everything else for you.
+
+_debname=iceape
+_debver=2.7.4
+_debrel=2
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_langpacks=(be ca cs de en-GB es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT ru sk sv-SE tr zh-CN)
+
+pkgbase=iceape-i18n
+pkgname=($(for lang in ${_langpacks[@]}
+ do echo $pkgbase-$lang | tr A-Z a-z
+ done))
+_pkgver=2.7.4
+pkgver=${_debver}.${_debrel}
+pkgrel=1
+
+pkgdesc="Language packs for Debian Iceape."
+arch=('any')
+url="http://packages.debian.org/source/sid/iceape"
+license=('MPL')
+depends=("iceape-libre>=$_pkgver")
+source=()
+for lang in ${_langpacks[@]}
+do
+ source+=("${_debrepo}/`debfile ${_debname}`-l10n-$(echo $lang | tr A-Z a-z)_${_debver}-${_debrel}_all.deb")
+done
+
+build() {
+ cd "${srcdir}"
+ for f in *.deb
+ do
+ bsdtar xf $f
+ bsdtar xf data.tar.gz
+ done
+}
+
+_path="/usr/lib/iceape/extensions"
+
+
+for lang in ${_langpacks[@]}
+do
+ eval "
+package_iceape-i18n-$(echo $lang | tr A-Z a-z)() {
+ install -Dm644 \"\$srcdir$_path/langpack-$lang@iceape.mozilla.org.xpi\" \"\$pkgdir$_path/langpack-$lang@iceape.mozilla.org.xpi\"
+}
+"
+done
+
+md5sums=('6d773ee12e9e3475f20f7ae1a13ae60b'
+ 'cce134a647f71808c15d3a693c6e0d91'
+ '289b5df66a7bf79a900f7033f034b941'
+ '90f7836b6dbe752fe0eb6e85be961dad'
+ '46f6170f7ca9a0e7d1be7cf2da411089'
+ '16fcf9e6c74a25ec164e4d0d9be7a9d4'
+ 'ad7eb7ff8ec821d3bb8baedb4c83b9a1'
+ '612ed06337160596629f92699bc9dc08'
+ '8204487072c23d70c1332c32b75850f1'
+ 'd653627ccc8f188d8f908ad60ee9c10d'
+ '146e7bb6829b44c9b971d271a9682f47'
+ 'eed45ddcec761bb76eec33ca26b8f869'
+ '0fb90f7c8de00ddcf7dc500264979cba'
+ '3454cfd4e79a7a2ef2a519133f57a5a7'
+ '880b81a89f71851f146e3e8bb45c0215'
+ 'e219a4a6a277edf7da1ecaf29203887f'
+ '9dff81762577df8b105912457a8ebdcd'
+ 'a7431be429fc93dc9876e3376441855b'
+ '19cb8a522fc38aeabdf375c2118efe7a'
+ '7d1e1f279bf3786917b11168251ced57'
+ '918022ba06904a99caffa5654a47f8b3'
+ '138d693f00d34ed8f943fca053e9e876')
diff --git a/libre/iceape-i18n/PKGBUILD.in b/libre/iceape-i18n/PKGBUILD.in
new file mode 100644
index 000000000..6891b2672
--- /dev/null
+++ b/libre/iceape-i18n/PKGBUILD.in
@@ -0,0 +1,64 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: fauno <fauno@kiwwwi.com.ar>
+# Contributor: Figue <ffigue@gmail.com>
+# Contributor: André Silva <andre.paulista@adinet.com.uy>
+# Based on icecat-i18n package, which is in turn based on firefox-i18n
+
+# When updating to a newer upstream release:
+# - Edit variables in in Makefile.
+# - (optionally) edit PKGBUILD.in
+# - Run 'make'. It will take care of everything else for you.
+
+_debname=@DEBNAME@
+_debver=@DEBVER@
+_debrel=@DEBREL@
+_debrepo=@DEBREPO@
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_langpacks=@LANGPACKS@
+
+pkgbase=iceape-i18n
+pkgname=($(for lang in ${_langpacks[@]}
+ do echo $pkgbase-$lang | tr A-Z a-z
+ done))
+_pkgver=@PKGVER@
+pkgver=${_debver}.${_debrel}
+pkgrel=@PKGREL@
+
+pkgdesc="Language packs for Debian Iceape."
+arch=('any')
+url="http://packages.debian.org/source/sid/iceape"
+license=('MPL')
+depends=("iceape=$_pkgver")
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.gz"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.diff.gz"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.dsc")
+noextract=($(for lang in ${_langpacks[@]}
+ do echo $lang.xpi
+ done))
+
+dpkg-source() {
+ # This will simulate dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc
+ cd "${_debname}-${_debver}"
+ patch -p1 -i "${srcdir}/${_debname}_${_debver}-${_debrel}.diff"
+ cd ..
+}
+
+build() {
+ cd "${srcdir}"
+ dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc
+}
+
+_path="/usr/lib/iceape-${_pkgver}/extensions"
+
+# CUT HERE <-- Separates package_*() functions from everything else.
+
+for lang in ${_langpacks[@]}
+do
+ eval "
+package_iceape-i18n-$(echo $lang | tr A-Z a-z) () {
+ install -Dm644 '$srcdir/'*'/upstream/$lang.xpi' \"\$pkgdir\"'$_path/langpack-$lang@firefox.mozilla.org.xpi'
+}
+"
+done
+
diff --git a/libre/iceape-libre/PKGBUILD b/libre/iceape-libre/PKGBUILD
new file mode 100644
index 000000000..9099fb270
--- /dev/null
+++ b/libre/iceape-libre/PKGBUILD
@@ -0,0 +1,117 @@
+# Maintainer : Márcio Silva <coadde@adinet.com.uy>
+# Maintainer : André Silva <andre.paulista@adinet.com.uy>
+
+# We're getting this from Debian Sid
+_debname=iceape
+_debver=2.7.4
+_debrel=2
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_pkgname=${_debname}
+pkgname=${_debname}-libre
+pkgver=${_debver}.${_debrel}
+pkgrel=1
+pkgdesc="A libre version of Debian Iceape, the Internet Suite based on Mozilla Seamonkey."
+arch=('i586' 'i686' 'x86_64' 'mips64el')
+license=('GPL2' 'MPL' 'LGPL')
+depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss' 'sqlite' 'startup-notification')
+makedepends=('unzip-libre' 'zip' 'pkg-config' 'python2' 'python2-ply' 'librsvg' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'quilt')
+replaces=('mozilla' 'seamonkey')
+conflicts=('seamonkey')
+provides=('seamonkey')
+install=$_pkgname.install
+url="http://packages.debian.org/source/sid/${_pkgname}"
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz"
+ mozconfig
+ ${_pkgname}.desktop
+ ${_pkgname}-2.0-lang.patch
+ clrf.patch
+ libre.patch)
+md5sums=('aedc7546db1fdc50cc9c5f21a7ad6138'
+ '4519446d9f23885dd748a59dfbbfa0a4'
+ '60ba9e8f2fafd20e41268af534a55ea7'
+ '7266333e31731af8bb50c2eca8d0bd26'
+ '25b6fe16ac24cd5c852213e5c1adb272'
+ 'c395d443a8c4c16880c7322bcf174743'
+ '79f99d8cda03dbcc1e88ef96776f591a')
+
+build() {
+ export QUILT_PATCHES=debian/patches
+ export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+ export QUILT_DIFF_ARGS='--no-timestamps'
+ export LDFLAGS="${LDFLAGS} -Wl,--as-needed,-rpath,/usr/lib/${_pkgname}"
+ export PYTHON="/usr/bin/python2"
+ export DEBIAN_BUILD="comm-release"
+ export DEBIAN_BRANDING_DIR="debian/branding"
+ export ICEAPE_ICONS_BRANDING="suite/branding/nightly"
+ mv comm-esr10 "${DEBIAN_BUILD}"
+ mv debian "${srcdir}/${DEBIAN_BUILD}"
+ cd "${srcdir}/${DEBIAN_BUILD}"
+ quilt push -av
+
+ patch -Np1 -i "$srcdir/$_pkgname-2.0-lang.patch"
+ patch -Np1 -i "$srcdir/clrf.patch"
+ patch -Np1 -i "$srcdir/libre.patch"
+
+ # set up a simple non-animated throbber from the icon
+ install -m644 debian/extras/Throbber-small.gif suite/themes/classic/communicator/brand/throbber-anim.png
+ install -m644 debian/extras/Throbber-small.png suite/themes/classic/communicator/brand/throbber-single.png
+ install -m644 debian/extras/Throbber-small.gif suite/themes/classic/communicator/brand/throbber16-anim.png
+ install -m644 debian/extras/Throbber-small.png suite/themes/classic/communicator/brand/throbber16-single.png
+ install -m644 debian/extras/Throbber-small.gif suite/themes/modern/communicator/brand/throbber-anim.png
+ install -m644 debian/extras/Throbber-small.png suite/themes/modern/communicator/brand/throbber-single.png
+ install -m644 debian/extras/Throbber-small.gif suite/themes/modern/communicator/brand/throbber16-anim.png
+ install -m644 debian/extras/Throbber-small.png suite/themes/modern/communicator/brand/throbber16-single.png
+
+ install -m644 debian/extras/preview.png suite/themes/classic/preview.png
+
+ # Converting svg file to png and replacing seamonkey by iceape icons
+ rsvg-convert -w 300 -h 280 -o ${ICEAPE_ICONS_BRANDING}/content/about.png ${DEBIAN_BRANDING_DIR}/iceape_logo_plain.svg
+ rsvg-convert -w 64 -h 64 -o ${ICEAPE_ICONS_BRANDING}/content/icon64.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 128 -h 128 -o ${ICEAPE_ICONS_BRANDING}/icons/gtk/iceape.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 32 -h 32 -o ${ICEAPE_ICONS_BRANDING}/icons/gtk/default.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 32 -h 32 -o ${ICEAPE_ICONS_BRANDING}/icons/gtk/main-window.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 16 -h 16 -o ${ICEAPE_ICONS_BRANDING}/icons/gtk/default16.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 16 -h 16 -o ${ICEAPE_ICONS_BRANDING}/icons/gtk/main-window16.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 48 -h 48 -o ${ICEAPE_ICONS_BRANDING}/icons/gtk/default48.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 48 -h 48 -o ${ICEAPE_ICONS_BRANDING}/icons/gtk/main-window48.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+
+ # Creating app-icons Folder for iceape*.png icons
+
+ install -m755 -d "${DEBIAN_BRANDING_DIR}/app-icons"
+
+ # Icons for /usr/share/icons/hicolor
+ rsvg-convert -w 16 -h 16 -o ${DEBIAN_BRANDING_DIR}/app-icons/iceape16.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 32 -h 32 -o ${DEBIAN_BRANDING_DIR}/app-icons/iceape32.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 48 -h 48 -o ${DEBIAN_BRANDING_DIR}/app-icons/iceape48.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 64 -h 64 -o ${DEBIAN_BRANDING_DIR}/app-icons/iceape64.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+ rsvg-convert -w 128 -h 128 -o ${DEBIAN_BRANDING_DIR}/app-icons/iceape128.png ${DEBIAN_BRANDING_DIR}/iceape_icon_plain.svg
+
+ cp "${srcdir}/mozconfig" .mozconfig
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}"
+}
+
+package() {
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ make -j1 -f client.mk DESTDIR="${pkgdir}" install
+
+ rm -rf "$pkgdir"/usr/lib/$_pkgname/{dictionaries,hyphenation,searchplugins}
+ ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries"
+ ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation"
+ ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/searchplugins"
+
+ install -m755 -d "$pkgdir/usr/share/applications"
+ install -m755 -d "$pkgdir/usr/share/pixmaps"
+ install -m644 ${ICEAPE_ICONS_BRANDING}/icons/gtk/iceape.png \
+ "$pkgdir/usr/share/pixmaps/"
+
+ for i in 16x16 32x32 48x48 64x64 128x128; do
+ install -Dm644 "${DEBIAN_BRANDING_DIR}/app-icons/${_pkgname}${i/x*/}.png" "${pkgdir}/usr/share/icons/hicolor/$i/apps/${_pkgname}.png"
+ done
+ install -Dm644 "${DEBIAN_BRANDING_DIR}/${_pkgname}_icon_plain.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
+
+ install -m644 "$srcdir/$_pkgname.desktop" "$pkgdir/usr/share/applications/"
+}
diff --git a/libre/iceape-libre/clrf.patch b/libre/iceape-libre/clrf.patch
new file mode 100644
index 000000000..375708ac4
--- /dev/null
+++ b/libre/iceape-libre/clrf.patch
@@ -0,0 +1,260 @@
+diff -Nur comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp
+--- comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-03-12 23:37:12.000000000 -0300
++++ comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-05-07 12:33:58.517612453 -0300
+@@ -688,7 +688,7 @@
+ PL_strcat(encoding, "{");
+ lengthStr.AppendInt((PRInt32) strlen(value));
+ PL_strcat(encoding, lengthStr.get());
+- PL_strcat(encoding, "}"CRLF);
++ PL_strcat(encoding, "}" CRLF);
+ PL_strcat(encoding, value);
+ return NS_OK;
+ }
+diff -Nur comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp
+--- comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-05-07 12:41:08.003264793 -0300
+@@ -753,7 +753,7 @@
+ }
+ }
+ }
+-#define EXTRA_KEYWORD_HDR " "MSG_LINEBREAK
++#define EXTRA_KEYWORD_HDR " " MSG_LINEBREAK
+
+ // if status offset isn't in the first block, this code won't work. There's no good reason
+ // for the status offset not to be at the beginning of the message anyway.
+@@ -1203,7 +1203,7 @@
+ // check if there's an envelope header; if not, write one.
+ if (strncmp(m_dataBuffer, "From ", 5))
+ {
+- m_fileStream->Write("From "CRLF, 7, &bytesWritten);
++ m_fileStream->Write("From " CRLF, 7, &bytesWritten);
+ m_offlineMsgSize += bytesWritten;
+ }
+ }
+diff -Nur comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp comm-release/mailnews/compose/src/nsSmtpProtocol.cpp
+--- comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/compose/src/nsSmtpProtocol.cpp 2012-05-07 12:44:43.127347489 -0300
+@@ -1722,7 +1722,7 @@
+ {
+ m_sendDone = PR_TRUE;
+ nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
+- SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server.
++ SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server.
+ m_nextState = SMTP_RESPONSE;
+ m_nextStateAfterResponse = SMTP_DONE;
+ return(0);
+@@ -1969,7 +1969,7 @@
+ {
+ nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
+ // send a quit command to close the connection with the server.
+- if (SendData(url, "QUIT"CRLF) == NS_OK)
++ if (SendData(url, "QUIT" CRLF) == NS_OK)
+ {
+ m_nextState = SMTP_RESPONSE;
+ m_nextStateAfterResponse = SMTP_ERROR_DONE;
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp comm-release/mailnews/imap/src/nsImapMailFolder.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/imap/src/nsImapMailFolder.cpp 2012-05-07 12:48:29.417179064 -0300
+@@ -8298,7 +8298,7 @@
+ bool needMoreData = false;
+ char * newLine = nsnull;
+ PRUint32 numBytesInLine = 0;
+- const char *envelope = "From "CRLF;
++ const char *envelope = "From " CRLF;
+ offlineStore->Write(envelope, strlen(envelope), &bytesWritten);
+ fileSize += bytesWritten;
+ do
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp comm-release/mailnews/imap/src/nsImapProtocol.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/imap/src/nsImapProtocol.cpp 2012-05-07 15:45:58.551202719 -0300
+@@ -1410,7 +1410,7 @@
+ {
+ // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages();
+ nsCAutoString commandBuffer(GetServerCommandTag());
+- commandBuffer.Append(" IDLE"CRLF);
++ commandBuffer.Append(" IDLE" CRLF);
+
+ do
+ {
+@@ -3290,7 +3290,7 @@
+ commandString.Append(messageIds);
+ commandString.Append(" (");
+ commandString.Append(attribute);
+- commandString.Append(")"CRLF);
++ commandString.Append(")" CRLF);
+ nsresult rv = SendData(commandString.get());
+
+ if (NS_SUCCEEDED(rv))
+@@ -5283,7 +5283,7 @@
+
+ IncrementCommandTagNumber();
+ nsCAutoString command(GetServerCommandTag());
+- command.Append(" expunge"CRLF);
++ command.Append(" expunge" CRLF);
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -5359,7 +5359,7 @@
+ command.Append(gAppName);
+ command.Append("\" \"version\" \"");
+ command.Append(gAppVersion);
+- command.Append("\")"CRLF);
++ command.Append("\")" CRLF);
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -5816,7 +5816,7 @@
+ nsCAutoString correctedPassword;
+ EscapeUserNamePasswordString(password.get(), &correctedPassword);
+ command.Append(correctedPassword);
+- command.Append("\""CRLF);
++ command.Append("\"" CRLF);
+ rv = SendData(command.get(), PR_TRUE /* suppress logging */);
+ NS_ENSURE_SUCCESS(rv, rv);
+ ParseIMAPandCheckForNewMail();
+@@ -7446,7 +7446,7 @@
+ nsCString command(GetServerCommandTag());
+ command += " create \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if(NS_SUCCEEDED(rv))
+@@ -7549,7 +7549,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " lsub \"\" \"";
+ command += escapedPattern;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ PR_Free(boxnameWithOnlineDirectory);
+
+@@ -7578,7 +7578,7 @@
+ command += useXLIST ?
+ " xlist \"\" \"" : " list \"\" \"";
+ command += escapedPattern;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ PR_Free(boxnameWithOnlineDirectory);
+
+@@ -7599,7 +7599,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " subscribe \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -7617,7 +7617,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " unsubscribe \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -7631,7 +7631,7 @@
+ if (m_urlInProgress)
+ return;
+ nsCAutoString command (GetServerCommandTag());
+- command += " IDLE"CRLF;
++ command += " IDLE" CRLF;
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+ {
+@@ -7658,7 +7658,7 @@
+ nsCOMPtr <nsIAsyncInputStream> asyncInputStream = do_QueryInterface(m_inputStream);
+ if (asyncInputStream)
+ asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull);
+- nsresult rv = SendData("DONE"CRLF);
++ nsresult rv = SendData("DONE" CRLF);
+ // set a short timeout if we don't want to wait for a response
+ if (m_transport && !waitForResponse)
+ m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5);
+@@ -7727,8 +7727,8 @@
+ PRUint32 msgsHandled = 0;
+ const char *formatString;
+ formatString = (idsAreUid)
+- ? "%s uid store %s %s"CRLF
+- : "%s store %s %s"CRLF;
++ ? "%s uid store %s %s" CRLF
++ : "%s store %s %s" CRLF;
+
+ do
+ {
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-05-07 12:57:22.050615120 -0300
+@@ -185,7 +185,7 @@
+
+ NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' &&
+ *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string");
+- bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF);
++ bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF);
+ if (sendingIdleDone)
+ fWaitingForMoreClientInput = PR_FALSE;
+
+diff -Nur comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp comm-release/mailnews/local/src/nsPop3Protocol.cpp
+--- comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/local/src/nsPop3Protocol.cpp 2012-05-07 12:59:45.857182813 -0300
+@@ -2483,7 +2483,7 @@
+ return(MK_OUT_OF_MEMORY);
+ m_pop3ConData->next_state_after_response = POP3_GET_LIST;
+ m_listpos = 0;
+- return SendData(m_url, "LIST"CRLF);
++ return SendData(m_url, "LIST" CRLF);
+ }
+
+
+diff -Nur comm-release.orig/mailnews/mime/src/mimedrft.cpp comm-release/mailnews/mime/src/mimedrft.cpp
+--- comm-release.orig/mailnews/mime/src/mimedrft.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/mime/src/mimedrft.cpp 2012-05-07 13:01:42.912022177 -0300
+@@ -1473,7 +1473,7 @@
+ *newbody = 0;
+ PL_strcatn(newbody, newbodylen, "<PRE>");
+ PL_strcatn(newbody, newbodylen, body);
+- PL_strcatn(newbody, newbodylen, "</PRE>"CRLF);
++ PL_strcatn(newbody, newbodylen, "</PRE>" CRLF);
+ PR_Free(body);
+ body = newbody;
+ }
+diff -Nur comm-release.orig/mailnews/mime/src/mimemult.cpp comm-release/mailnews/mime/src/mimemult.cpp
+--- comm-release.orig/mailnews/mime/src/mimemult.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/mime/src/mimemult.cpp 2012-05-07 13:04:41.511265477 -0300
+@@ -280,7 +280,7 @@
+ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\""));
+ MimeWriteAString(obj, fileName);
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: "));
+ MimeWriteAString(obj, obj->options->state->detachedFilePath);
+ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
+@@ -293,10 +293,10 @@
+ status = MimeWriteAString(obj, header);
+ if (status < 0)
+ return status;
+- status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 8bit"MSG_LINEBREAK));
++ status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "Content-Transfer-Encoding: 8bit" MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: inline; filename=\"Deleted: "));
+ MimeWriteAString(obj, fileName);
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\""));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "X-Mozilla-Altered: AttachmentDeleted; date=\""));
+ }
+ nsCString result;
+ char timeBuffer[128];
+@@ -306,8 +306,8 @@
+ "%a %b %d %H:%M:%S %Y",
+ &now);
+ MimeWriteAString(obj, nsDependentCString(timeBuffer));
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
+- MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK));
+ MimeHeaders_write_raw_headers(mult->hdrs, obj->options, PR_FALSE);
+ }
+ PRInt32 old_nchildren = container->nchildren;
diff --git a/libre/iceape-libre/gcc47.patch b/libre/iceape-libre/gcc47.patch
new file mode 100644
index 000000000..115d65131
--- /dev/null
+++ b/libre/iceape-libre/gcc47.patch
@@ -0,0 +1,63 @@
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc comm-release/mozilla/ipc/chromium/src/base/file_util.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-03 18:38:11.474783536 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-03 18:43:29.218995578 +0000
+@@ -8,7 +8,7 @@
+ #include <io.h>
+ #endif
+ #include <stdio.h>
+-#if defined(ANDROID)
++#if defined(ANDROID) || defined(OS_POSIX)
+ #include <unistd.h>
+ #endif
+
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-03 18:38:11.381450924 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-03 18:43:29.218995578 +0000
+@@ -5,6 +5,9 @@
+ #include "base/file_util.h"
+
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <string>
+ #include <vector>
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-03 18:38:11.438117153 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-03 18:43:29.218995578 +0000
+@@ -6,6 +6,9 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include "eintr_wrapper.h"
+ #include "base/logging.h"
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc comm-release/mozilla/ipc/chromium/src/base/time_posix.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-03 18:38:11.418117308 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-03 18:43:29.218995578 +0000
+@@ -14,6 +14,8 @@
+ #include <time.h>
+ #endif
+
++#include <unistd.h>
++
+ #include <limits>
+
+ #include "base/basictypes.h"
+diff -Nur comm-release.orig/mozilla/toolkit/crashreporter/client/Makefile.in comm-release/mozilla/toolkit/crashreporter/client/Makefile.in
+--- comm-release.orig/mozilla/toolkit/crashreporter/client/Makefile.in 2012-04-03 18:38:56.101105510 +0000
++++ comm-release/mozilla/toolkit/crashreporter/client/Makefile.in 2012-04-03 18:43:29.218995578 +0000
+@@ -69,6 +69,9 @@
+ $(STDCXX_COMPAT) \
+ $(NULL)
+
++# Needed for moz_free
++LIBS += -L$(LIBXUL_DIST)/lib -lmozalloc
++
+ ifeq ($(OS_ARCH),WINNT)
+ CPPSRCS += crashreporter_win.cpp
+ LIBS += \
diff --git a/libre/iceape-libre/iceape-2.0-lang.patch b/libre/iceape-libre/iceape-2.0-lang.patch
new file mode 100644
index 000000000..b9f4a5cde
--- /dev/null
+++ b/libre/iceape-libre/iceape-2.0-lang.patch
@@ -0,0 +1,11 @@
+--- comm-1.9.1/mozilla/modules/libpref/src/init/all.js 2009-10-11 02:12:44.000000000 +0200
++++ comm-1.9.1/mozilla/modules/libpref/src/init/all.js 2009-09-16 02:56:45.000000000 +0200
+@@ -890,7 +890,7 @@
+ pref("intl.charset.detector", "chrome://global/locale/intl.properties");
+ pref("intl.charset.default", "chrome://global-platform/locale/intl.properties");
+ pref("intl.ellipsis", "chrome://global-platform/locale/intl.properties");
+-pref("intl.locale.matchOS", false);
++pref("intl.locale.matchOS", true);
+ // fallback charset list for Unicode conversion (converting from Unicode)
+ // currently used for mail send only to handle symbol characters (e.g Euro, trademark, smartquotes)
+ // for ISO-8859-1
diff --git a/libre/iceape-libre/iceape.desktop b/libre/iceape-libre/iceape.desktop
new file mode 100644
index 000000000..0868e5058
--- /dev/null
+++ b/libre/iceape-libre/iceape.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=iceape %u
+Icon=iceape
+Type=Application
+Terminal=false
+MultipleArgs=false
+Name=Iceape Internet Suite
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;message/rfc822;x-scheme-handler/mailto;
+StartupNotify=false
+Categories=Application;Network;
diff --git a/libre/iceape-libre/iceape.install b/libre/iceape-libre/iceape.install
new file mode 100644
index 000000000..709ad81f2
--- /dev/null
+++ b/libre/iceape-libre/iceape.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/iceape-libre/libre.patch b/libre/iceape-libre/libre.patch
new file mode 100644
index 000000000..fef11cbad
--- /dev/null
+++ b/libre/iceape-libre/libre.patch
@@ -0,0 +1,288 @@
+--- comm-release.orig/mozilla/browser/locales/en-US/chrome/browser-region/region.properties 2012-02-16 12:08:39.000000000 -0200
++++ comm-release/mozilla/browser/locales/en-US/chrome/browser-region/region.properties 2012-05-12 05:03:27.306166002 -0300
+@@ -1,45 +1,23 @@
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=DuckDuckGo
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=Google
+-browser.search.order.2=Yahoo
+-browser.search.order.3=Bing
++browser.search.order.1=DuckDuckGo
+
+ # This is the default set of web based feed handlers shown in the reader
+ # selection UI
+-browser.contentHandlers.types.0.title=Google
+-browser.contentHandlers.types.0.uri=http://fusion.google.com/add?feedurl=%s
+-browser.contentHandlers.types.1.title=My Yahoo!
+-browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s
++browser.contentHandlers.types.0.title=DuckDuckGo
++browser.contentHandlers.types.0.uri=https://duckduckgo.com/search_box.html
+
+ # URL for site-specific search engines
+ # TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site
+ # to be searched and the user's search query. Place them in the appropriate location
+ # for your locale's URL but do not translate them.
+-browser.search.siteSearchURL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms}
++browser.search.siteSearchURL=http://duckduckgo.com/?q=site%3A{moz:domain}+{searchTerms}
+
+ # increment this number when anything gets changed in the list below. This will
+ # cause Firefox to re-read these prefs and inject any new handlers into the
+ # profile database. Note that "new" is defined as "has a different URL"; this
+ # means that it's not possible to update the name of existing handler, so
+ # don't make any spelling errors here.
+-gecko.handlerService.defaultHandlersVersion=3
+-
+-# The default set of protocol handlers for webcal:
+-gecko.handlerService.schemes.webcal.0.name=30 Boxes
+-gecko.handlerService.schemes.webcal.0.uriTemplate=http://30boxes.com/external/widget?refer=ff&url=%s
+-
+-# The default set of protocol handlers for mailto:
+-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+-gecko.handlerService.schemes.mailto.0.uriTemplate=http://compose.mail.yahoo.com/?To=%s
+-gecko.handlerService.schemes.mailto.1.name=Gmail
+-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+-
+-# The default set of protocol handlers for irc:
+-gecko.handlerService.schemes.irc.0.name=Mibbit
+-gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
+-
+-# The default set of protocol handlers for ircs:
+-gecko.handlerService.schemes.ircs.0.name=Mibbit
+-gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
++gecko.handlerService.defaultHandlersVersion=0
+--- comm-release.orig/mozilla/modules/libpref/src/init/all.js 2012-03-16 04:46:09.000000000 -0300
++++ comm-release/mozilla/modules/libpref/src/init/all.js 2012-05-12 04:03:52.163831535 -0300
+@@ -47,7 +47,7 @@
+ // SYNTAX HINTS: dashes are delimiters. Use underscores instead.
+ // The first character after a period must be alphabetic.
+
+-pref("keyword.URL", "http://www.google.com/search?ie=UTF-8&oe=utf-8&q=");
++pref("keyword.URL", "http://duckduckgo.com/?q=");
+ pref("keyword.enabled", false);
+ pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+ pref("general.useragent.compatMode.firefox", false);
+--- comm-release.orig/mozilla/toolkit/content/plugins.html 2012-02-16 12:09:35.000000000 -0200
++++ comm-release/mozilla/toolkit/content/plugins.html 2012-05-12 03:56:16.599192244 -0300
+@@ -98,18 +98,6 @@
+ else
+ document.writeln("<h1 id=\"noplugs\">" + pluginsbundle.GetStringFromName("nopluginsareenabled_label") + "<\/h1>");
+
+- document.writeln("<div id=\"findmore\">" + pluginsbundle.GetStringFromName("findmore_label") + " ");
+- document.writeln("<a href=\"" + regionbundle.GetStringFromName("more_plugins_url") + "\">" + regionbundle.GetStringFromName("more_plugins_label") + "<\/a>.");
+- document.writeln("<\/div>");
+-
+- document.writeln("<div id=\"findpluginupdates\">" + pluginsbundle.GetStringFromName("findpluginupdates_label") + " ");
+- document.writeln("<a href=\"" + regionbundle.GetStringFromName("pluginupdates_url") + "\">" + regionbundle.GetStringFromName("pluginupdates_label") + "<\/a>.");
+- document.writeln("<\/div>");
+-
+- document.writeln("<div id=\"installhelp\">" + pluginsbundle.GetStringFromName("installhelp_label") + " ");
+- document.writeln("<a href=\"" + regionbundle.GetStringFromName("plugindoc_url") + "\">" + regionbundle.GetStringFromName("plugindoc_label") + "<\/a>.");
+- document.writeln("<\/div><hr>");
+-
+ for (var i = 0; i < numPlugins; i++)
+ {
+ var plugin = navigator.plugins[i];
+--- comm-release.orig/mozilla/toolkit/mozapps/plugins/content/pluginInstallerWizard.js 2012-02-16 12:09:38.000000000 -0200
++++ comm-release/mozilla/toolkit/mozapps/plugins/content/pluginInstallerWizard.js 2012-05-12 03:59:11.639451163 -0300
+@@ -107,6 +107,7 @@
+ this.mPluginInfoArrayLength++;
+ } else {
+ this.mPluginNotFoundArray[aPluginRequestItem.mimetype] = aPluginRequestItem;
++ this.mPluginNotFoundArray[aPluginRequestItem.mimetype].pluginsPage = null;
+ this.mPluginNotFoundArrayLength++;
+ }
+
+--- comm-release.orig/mozilla/toolkit/mozapps/plugins/content/pluginInstallerWizard.xul 2012-02-16 12:09:38.000000000 -0200
++++ comm-release/mozilla/toolkit/mozapps/plugins/content/pluginInstallerWizard.xul 2012-05-12 04:01:29.208462907 -0300
+@@ -138,10 +138,6 @@
+
+ <description id="pluginSummaryRestartNeeded" style="padding-top:10px;"
+ value="&pluginWizard.finalPage.restart.label;"/>
+- <spacer flex="1" />
+- <description id="moreInfoLink"
+- style="color:rgb(0, 0, 255); cursor:pointer; text-decoration:underline;"
+- value="&pluginWizard.finalPage.moreInfo.label;"/>
+ </wizardpage>
+
+ </wizard>
+--- comm-release.orig/suite/locales/en-US/chrome/browser/region.properties 2012-02-16 11:59:54.000000000 -0200
++++ comm-release/suite/locales/en-US/chrome/browser/region.properties 2012-05-12 04:10:18.982249044 -0300
+@@ -4,7 +4,7 @@
+ #
+ browser.startup.homepage=about:
+ browser.throbber.url=about:
+-browser.search.defaulturl=http://www.google.com/search?q=
++browser.search.defaulturl=http://duckduckgo.com/?q=
+
+ browser.translation.service=http://translate.google.com/translate?prev=/language_tools&u=
+ browser.translation.serviceDomain=translate.google.com
+@@ -15,7 +15,5 @@
+
+ # This is the default set of web based feed handlers shown in the reader
+ # selection UI
+-browser.contentHandlers.types.0.title=Google
+-browser.contentHandlers.types.0.uri=http://fusion.google.com/add?feedurl=%s
+-browser.contentHandlers.types.1.title=My Yahoo!
+-browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s
++browser.contentHandlers.types.0.title=DuckDuckGo
++browser.contentHandlers.types.0.uri=https://duckduckgo.com/search_box.html
+--- comm-release.orig/suite/locales/en-US/chrome/common/region.properties 2012-02-16 11:59:54.000000000 -0200
++++ comm-release/suite/locales/en-US/chrome/common/region.properties 2012-05-12 05:49:20.084819625 -0300
+@@ -1,10 +1,9 @@
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=DuckDuckGo
+
+ # Search engine order (order displayed in the search bar dropdown)
+-browser.search.order.1=Google
+-browser.search.order.2=Yahoo
++browser.search.order.1=DuckDuckGo
+
+ # More information about this update link available in the update wizard.
+ # Only change this if you are providing localized release notes.
+-app.update.url.details=http://www.seamonkey-project.org/releases/
++app.update.url.details=http://packages.debian.org/source/sid/iceape
+--- comm-release.orig/suite/locales/en-US/chrome/mailnews/region.properties 2012-02-16 11:59:54.000000000 -0200
++++ comm-release/suite/locales/en-US/chrome/mailnews/region.properties 2012-05-12 04:28:05.202481512 -0300
+@@ -2,9 +2,9 @@
+ # messenger.properties
+ # mailnews.js
+ mailnews.start_page.url=chrome://messenger/content/start.xhtml
+-messenger.throbber.url=http://www.seamonkey-project.org/
+-compose.throbber.url=http://www.seamonkey-project.org/
+-addressbook.throbber.url=http://www.seamonkey-project.org/
++messenger.throbber.url=about:blank
++compose.throbber.url=about:blank
++addressbook.throbber.url=about:blank
+ # To make mapit buttons to disappear in the addressbook, specify empty string. For example:
+ # mail.addr_book.mapit_url.format=
+ # The format for "mail.addr_book.mapit_url.format" is:
+--- comm-release.orig/suite/locales/en-US/profile/bookmarks.extra 2012-02-16 11:59:54.000000000 -0200
++++ comm-release/suite/locales/en-US/profile/bookmarks.extra 2012-05-12 04:34:50.172992393 -0300
+@@ -9,9 +9,7 @@
+
+ <DT><H3>Search the Web</H3>
+ <DL><p>
+- <DT><A HREF="http://www.google.com/">Google</A>
+- <DT><A HREF="http://groups.google.com/">Google Groups</A>
+- <DT><A HREF="http://news.google.com/">Google News</A>
++ <DT><A HREF="http://duckduckgo.com/">DuckDuckGo</A>
+ </DL><p>
+
+ #unfilter emptyLines
+--- comm-release.orig/suite/browser/browser-prefs.js 2012-02-16 11:59:53.000000000 -0200
++++ comm-release/suite/browser/browser-prefs.js 2012-05-12 04:19:25.031793983 -0300
+@@ -67,7 +67,7 @@
+
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last
+ pref("browser.startup.page", 1);
+-pref("browser.startup.homepage", "chrome://navigator-region/locale/region.properties");
++pref("browser.startup.homepage", "about:blank");
+ pref("browser.startup.homepage.count", 1);
+
+ pref("browser.warnOnQuit", true);
+@@ -110,7 +110,7 @@
+ pref("browser.doorhanger.enabled", true);
+
+ // search engines URL
+-pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/seamonkey/search-engines/");
++pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // pointer to the default engine name
+ pref("browser.search.defaultenginename", "chrome://communicator-region/locale/region.properties");
+@@ -587,10 +587,10 @@
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true); // also toggles personalized recommendations
+ pref("extensions.getAddons.maxResults", 15);
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/seamonkey/api/%API_VERSION%/search/guid:%IDS%?src=seamonkey&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/seamonkey/search?q=%TERMS%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/seamonkey/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=seamonkey");
+-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/seamonkey/discovery/pane/%VERSION%/%OS%");
++pref("extensions.getAddons.get.url", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // getMoreThemes is used by our UI under our switch theme menu
+ pref("extensions.getMoreThemesURL", "chrome://branding/locale/brand.properties");
+@@ -716,7 +715,7 @@
+ #endif
+
+ // plugin finder service url
+-pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%");
++pref("pfs.datasource.url", "http://www.gnu.org/software/gnuzilla/addons.html");
+ pref("plugins.update.url", "http://www.mozilla.com/%LOCALE%/plugincheck/");
+ pref("plugins.update.notifyUser", false);
+ pref("plugins.hide_infobar_for_outdated_plugin", false);
+--- comm-release.orig/suite/locales/en-US/chrome/branding/brand.dtd 2012-05-12 05:14:55.000000000 -0300
++++ comm-release/suite/locales/en-US/chrome/branding/brand.dtd 2012-05-12 05:32:18.992033502 -0300
+@@ -1,4 +1,4 @@
+ <!ENTITY brandFullName "Iceape">
+ <!ENTITY brandShortName "Iceape">
+-<!ENTITY vendorShortName "Debian">
++<!ENTITY vendorShortName "Parabola">
+ <!ENTITY sidebarName "Sidebar">
+--- comm-release.orig/suite/locales/en-US/chrome/branding/brand.properties 2012-05-12 05:14:55.000000000 -0300
++++ comm-release/suite/locales/en-US/chrome/branding/brand.properties 2012-05-12 05:36:38.640803397 -0300
+@@ -1,9 +1,9 @@
+ brandFullName=Iceape
+ brandShortName=Iceape
+-vendorShortName=Debian
++vendorShortName=Parabola
+ sidebarName=Sidebar
+-extensions.getMoreThemesURL=https://addons.mozilla.org/%LOCALE%/%APP%/themes
++extensions.getMoreThemesURL=http://www.gnu.org/software/gnuzilla/addons.html#themes
+ extensions.getPersonasURL=https://addons.mozilla.org/%LOCALE%/%APP%/personas
+ spellchecker.dictionaries.download.url=https://addons.mozilla.org/%LOCALE%/%APP%/dictionaries
+-app.releaseNotesURL=http://www.seamonkey-project.org/releases/seamonkey%VERSION%/
+-app.vendorURL=http://www.seamonkey-project.org/
++app.releaseNotesURL=http://packages.debian.org/source/sid/iceape
++app.vendorURL=http://packages.debian.org/source/sid/iceape
+--- comm-release.orig/suite/locales/generic/profile/bookmarks.html.in 2012-02-16 11:59:54.000000000 -0200
++++ comm-release/suite/locales/generic/profile/bookmarks.html.in 2012-05-12 04:40:19.221095752 -0300
+@@ -11,37 +11,14 @@
+ <DL><p>
+ <DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="NC:PersonalToolbarFolder">@personal_toolbarfolder@</H3>
+ <DL><p>
+- <DT><A HREF="http://www.seamonkey-project.org/">@seamonkey@</a>
+- @seamonkey_l10n@
+- <DT><A HREF="http://www.mozilla.org/">@mozilla_org@</A>
+- <DT><A HREF="http://www.mozillazine.org/">@mozillazine@</A>
+- <DT><A HREF="http://www.mozdev.org/">@mozdev@</A>
++ <DT><A HREF="https://parabolagnulinux.org/">Parabola GNU/Linux-libre</a>
++ <DT><A HREF="http://www.fsf.org/">Free Software Foundation</A>
++ <DT><A HREF="http://libreplanet.org/">LibrePlanet</A>
+ </DL><p>
+- <DT><H3>@seamonkey_and_mozilla@</H3>
++ <DT><H3>GNUzilla</H3>
+ <DL><p>
+- <DT><A HREF="http://www.seamonkey-project.org/">@seamonkey_long@</a>
+- @seamonkey_l10n_long@
+- <DT><H3>@mozilla_org@</H3>
+- <DL><p>
+- <DT><A HREF="http://www.mozilla.org/">@mozilla_org_long@</A>
+- <DT><A HREF="http://www.mozilla.org/projects/">@mozilla_projects@</A>
+- <DT><A HREF="http://www.mozilla.org/about/">@mozilla_about@</A>
+- </DL><p>
+- <DT><H3>@extend_seamonkey@</H3>
+- <DL><p>
+- <DT><A HREF="https://addons.mozilla.org/@AB_CD@/seamonkey/">@seamonkey_addons@</a>
+- <DT><A HREF="https://addons.mozilla.org/@AB_CD@/seamonkey/themes">@seamonkey_themes@</a>
+- <DT><A HREF="https://addons.mozilla.org/@AB_CD@/seamonkey/dictionaries">@seamonkey_dictionaries@</a>
+- <DT><A HREF="https://addons.mozilla.org/@AB_CD@/seamonkey/plugins">@seamonkey_plugins@</a>
+- <DT><A HREF="http://www.mozdev.org/">@mozdev@</A>
+- <DT><A HREF="http://www.mozdev.org/projects/applications/SeaMonkey.html">@mozdev_seamonkey@</A>
+- </DL><p>
+- <DT><H3>@community_support@</H3>
+- <DL><p>
+- <DT><A HREF="http://www.seamonkey-project.org/community">@seamonkey_community@</a>
+- <DT><A HREF="http://www.mozillazine.org/">@mozillazine@</A>
+- <DT><A HREF="http://forums.mozillazine.org/viewforum.php?f=40">@seamonkey_support@</A>
+- </DL><p>
++ <DT><A HREF="http://www.gnu.org/software/gnuzilla/">GNUzilla and IceCat</a>
++ <DT><a href="http://www.gnu.org/software/gnuzilla/addons.html">Free addons</a>
+ </DL><p>
+ #include bookmarks.extra
+ <HR>
diff --git a/libre/iceape-libre/mozconfig b/libre/iceape-libre/mozconfig
new file mode 100644
index 000000000..5227d77a5
--- /dev/null
+++ b/libre/iceape-libre/mozconfig
@@ -0,0 +1,61 @@
+mk_add_options MOZ_CO_PROJECT=suite
+ac_add_options --enable-application=suite
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --enable-system-ffi
+ac_add_options --enable-system-cairo
+ac_add_options --with-pthreads
+
+# Features
+ac_add_options --enable-startup-notification
+ac_add_options --disable-safe-browsing
+ac_add_options --enable-gio
+
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-tests
+ac_add_options --disable-mochitest
+ac_add_options --disable-installer
+
+# Optimization
+ac_add_options --enable-optimize
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+
+# Parabola
+export BUILD_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+
+# Debian
+ac_add_options --with-default-mozilla-five-home=/usr/lib/iceape
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=debian/branding
+ac_add_options --enable-pango
+ac_add_options --enable-svg
+ac_add_options --enable-mathml
+ac_add_options --disable-pedantic
+ac_add_options --disable-long-long-warning
+ac_add_options --disable-debug
+ac_add_options --enable-canvas
+ac_add_options --enable-extensions="default,-venkman,-inspector"
+ac_add_options --disable-elf-dynstr-gc
+ac_add_options --disable-strip
+ac_add_options --disable-install-strip
+ac_add_options --enable-crypto
+ac_add_options --disable-javaxpcom
diff --git a/libre/icedove-i18n/PKGBUILD b/libre/icedove-i18n/PKGBUILD
new file mode 100644
index 000000000..8213076af
--- /dev/null
+++ b/libre/icedove-i18n/PKGBUILD
@@ -0,0 +1,524 @@
+# $Id$
+# Maintainer: Márcio Silva <coadde@adinet.com.uy>
+# Maintainer: André Silva <andre.paulista@adinet.com.uy>
+
+pkgbase=icedove-i18n
+pkgver=11.0.1
+pkgname=('icedove-i18n-ar'
+ #'icedove-i18n-af'
+ 'icedove-i18n-be'
+ 'icedove-i18n-bn-bd'
+ 'icedove-i18n-bg'
+ 'icedove-i18n-br'
+ 'icedove-i18n-ca'
+ 'icedove-i18n-cs'
+ 'icedove-i18n-da'
+ 'icedove-i18n-de'
+ 'icedove-i18n-el'
+ 'icedove-i18n-en-gb'
+ 'icedove-i18n-es-ar'
+ 'icedove-i18n-es'
+ 'icedove-i18n-et'
+ 'icedove-i18n-eu'
+ 'icedove-i18n-fi'
+ 'icedove-i18n-fr'
+ 'icedove-i18n-fy-nl'
+ 'icedove-i18n-ga'
+ 'icedove-i18n-gd'
+ 'icedove-i18n-gl'
+ 'icedove-i18n-he'
+ 'icedove-i18n-hu'
+ 'icedove-i18n-id'
+ 'icedove-i18n-is'
+ 'icedove-i18n-it'
+ 'icedove-i18n-ja'
+ 'icedove-i18n-ko'
+ 'icedove-i18n-lt'
+ 'icedove-i18n-nb'
+ 'icedove-i18n-nl'
+ 'icedove-i18n-nn'
+ 'icedove-i18n-pa'
+ 'icedove-i18n-pl'
+ 'icedove-i18n-pt-br'
+ 'icedove-i18n-pt'
+ 'icedove-i18n-ro'
+ 'icedove-i18n-rm'
+ 'icedove-i18n-ru'
+ 'icedove-i18n-si'
+ 'icedove-i18n-sk'
+ 'icedove-i18n-sl'
+ 'icedove-i18n-sq'
+ 'icedove-i18n-sv'
+ 'icedove-i18n-ta-lk'
+ 'icedove-i18n-tr'
+ 'icedove-i18n-uk'
+ 'icedove-i18n-vi'
+ 'icedove-i18n-zh-cn'
+ 'icedove-i18n-zh-tw')
+
+pkgrel=1
+pkgdesc="Language pack for Debian Icedove"
+arch=('any')
+url="http://packages.debian.org/source/experimental/icedove"
+license=('MPL' 'GPL')
+depends=("icedove-libre>=$pkgver")
+_url=http://repo.parabolagnulinux.org/other/$pkgbase/releases/$pkgver
+source=(icedove-i18n-$pkgver-ar.xpi::$_url/ar.xpi
+# icedove-i18n-$pkgver-af.xpi::$_url/af.xpi
+ icedove-i18n-$pkgver-be.xpi::$_url/be.xpi
+ icedove-i18n-$pkgver-bn-BD.xpi::$_url/bn-BD.xpi
+ icedove-i18n-$pkgver-bg.xpi::$_url/bg.xpi
+ icedove-i18n-$pkgver-br.xpi::$_url/br.xpi
+ icedove-i18n-$pkgver-ca.xpi::$_url/ca.xpi
+ icedove-i18n-$pkgver-cs.xpi::$_url/cs.xpi
+ icedove-i18n-$pkgver-da.xpi::$_url/da.xpi
+ icedove-i18n-$pkgver-de.xpi::$_url/de.xpi
+ icedove-i18n-$pkgver-el.xpi::$_url/el.xpi
+ icedove-i18n-$pkgver-en-GB.xpi::$_url/en-GB.xpi
+ icedove-i18n-$pkgver-es-AR.xpi::$_url/es-AR.xpi
+ icedove-i18n-$pkgver-es-ES.xpi::$_url/es-ES.xpi
+ icedove-i18n-$pkgver-et.xpi::$_url/et.xpi
+ icedove-i18n-$pkgver-eu.xpi::$_url/eu.xpi
+ icedove-i18n-$pkgver-fi.xpi::$_url/fi.xpi
+ icedove-i18n-$pkgver-fr.xpi::$_url/fr.xpi
+ icedove-i18n-$pkgver-fy-NL.xpi::$_url/fy-NL.xpi
+ icedove-i18n-$pkgver-ga-IE.xpi::$_url/ga-IE.xpi
+ icedove-i18n-$pkgver-gd.xpi::$_url/gd.xpi
+ icedove-i18n-$pkgver-gl.xpi::$_url/gl.xpi
+ icedove-i18n-$pkgver-he.xpi::$_url/he.xpi
+ icedove-i18n-$pkgver-hu.xpi::$_url/hu.xpi
+ icedove-i18n-$pkgver-id.xpi::$_url/id.xpi
+ icedove-i18n-$pkgver-is.xpi::$_url/is.xpi
+ icedove-i18n-$pkgver-it.xpi::$_url/it.xpi
+ icedove-i18n-$pkgver-ja.xpi::$_url/ja.xpi
+ icedove-i18n-$pkgver-ko.xpi::$_url/ko.xpi
+ icedove-i18n-$pkgver-lt.xpi::$_url/lt.xpi
+ icedove-i18n-$pkgver-nb-NO.xpi::$_url/nb-NO.xpi
+ icedove-i18n-$pkgver-nl.xpi::$_url/nl.xpi
+ icedove-i18n-$pkgver-nn-NO.xpi::$_url/nn-NO.xpi
+ icedove-i18n-$pkgver-pa-IN.xpi::$_url/pa-IN.xpi
+ icedove-i18n-$pkgver-pl.xpi::$_url/pl.xpi
+ icedove-i18n-$pkgver-pt-BR.xpi::$_url/pt-BR.xpi
+ icedove-i18n-$pkgver-pt-PT.xpi::$_url/pt-PT.xpi
+ icedove-i18n-$pkgver-rm.xpi::$_url/rm.xpi
+ icedove-i18n-$pkgver-ro.xpi::$_url/ro.xpi
+ icedove-i18n-$pkgver-ru.xpi::$_url/ru.xpi
+ icedove-i18n-$pkgver-si.xpi::$_url/si.xpi
+ icedove-i18n-$pkgver-sk.xpi::$_url/sk.xpi
+ icedove-i18n-$pkgver-sl.xpi::$_url/sl.xpi
+ icedove-i18n-$pkgver-sq.xpi::$_url/sq.xpi
+ icedove-i18n-$pkgver-sv-SE.xpi::$_url/sv-SE.xpi
+ icedove-i18n-$pkgver-ta-LK.xpi::$_url/ta-LK.xpi
+ icedove-i18n-$pkgver-tr.xpi::$_url/tr.xpi
+ icedove-i18n-$pkgver-uk.xpi::$_url/uk.xpi
+ icedove-i18n-$pkgver-vi.xpi::$_url/vi.xpi
+ icedove-i18n-$pkgver-zh-CN.xpi::$_url/zh-CN.xpi
+ icedove-i18n-$pkgver-zh-TW.xpi::$_url/zh-TW.xpi)
+
+# Don't extract anything
+noextract=(${source[@]##*/})
+
+_path="/usr/lib/icedove/extensions/"
+
+package_icedove-i18n-ar() {
+ pkgdesc="Arabic language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-ar.xpi "${pkgdir}/$_path/langpack-ar@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-af() {
+ pkgdesc="Afrikaans (South Africa) language pack for Debian Icedove"
+ replaces=icedove-af
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-af.xpi "${pkgdir}/$_path/langpack-af@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-be() {
+ pkgdesc="Belarusian language pack for Debian Icedove"
+ replaces=icedove-be
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-be.xpi "${pkgdir}/$_path/langpack-be@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-bn-bd() {
+ pkgdesc="Bangladesh language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-bn-BD.xpi "${pkgdir}/$_path/langpack-bn-BE@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-bg() {
+ pkgdesc="Bulgarian language pack for Debian Icedove"
+ replaces=icedove-bg
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-bg.xpi "${pkgdir}/$_path/langpack-bg@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-br() {
+ pkgdesc="Breton language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-br.xpi "${pkgdir}/$_path/langpack-br@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-ca() {
+ pkgdesc="Catalan language pack for Debian Icedove"
+ replaces=icedove-ca
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-ca.xpi "${pkgdir}/$_path/langpack-ca@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-cs() {
+ pkgdesc="Czech language pack for Debian Icedove"
+ replaces=icedove-cs
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-cs.xpi "${pkgdir}/$_path/langpack-cs@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-da() {
+ pkgdesc="Danish language pack for Debian Icedove"
+ replaces=icedove-da
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-da.xpi "${pkgdir}/$_path/langpack-da@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-de() {
+ pkgdesc="German language pack for Debian Icedove"
+ replaces=icedove-de
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-de.xpi "${pkgdir}/$_path/langpack-de@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-el() {
+ pkgdesc="Greek language pack for Debian Icedove"
+ replaces=icedove-el
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-el.xpi "${pkgdir}/$_path/langpack-el@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-en-gb() {
+ pkgdesc="English (GB) language pack for Debian Icedove"
+ replaces=icedove-en-gb
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-en-GB.xpi "${pkgdir}/$_path/langpack-en-GB@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-es-ar() {
+ pkgdesc="Spanish (AR) language pack for Debian Icedove"
+ replaces=icedove-es-ar
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-es-AR.xpi "${pkgdir}/$_path/langpack-es-AR@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-es() {
+ pkgdesc="Spanish language pack for Debian Icedove"
+ replaces=icedove-es
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-es-ES.xpi "${pkgdir}/$_path/langpack-es-ES@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-et() {
+ pkgdesc="Estonian language pack for Debian Icedove"
+ replaces=icedove-et
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-et.xpi "${pkgdir}/$_path/langpack-et@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-eu() {
+ pkgdesc="Basque language pack for Debian Icedove"
+ replaces=icedove-eu
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-eu.xpi "${pkgdir}/$_path/langpack-eu@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-fi() {
+ pkgdesc="Finnish language pack for Debian Icedove"
+ replaces=icedove-fi
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-fi.xpi "${pkgdir}/$_path/langpack-fi@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-fr() {
+ pkgdesc="French language pack for Debian Icedove"
+ replaces=icedove-fr
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-fr.xpi "${pkgdir}/$_path/langpack-fr@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-fy-nl(){
+ pkgdesc="Frysk (fy) language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-fy-NL.xpi "${pkgdir}/$_path/langpack-fy-NL@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-ga() {
+ pkgdesc="Irish language pack for Debian Icedove"
+ replaces=icedove-ga
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-ga-IE.xpi "${pkgdir}/$_path/langpack-ga-IE@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-gd() {
+ pkgdesc="Scottish Gaelic language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-gd.xpi "${pkgdir}/$_path/langpack-gd@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-gl() {
+ pkgdesc="Galician language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-gl.xpi "${pkgdir}/$_path/langpack-gl@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-he() {
+ pkgdesc="Hebrew language pack for Debian Icedove"
+ replaces=icedove-he
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-he.xpi "${pkgdir}/$_path/langpack-he@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-hu() {
+ pkgdesc="Hungarian language pack for Debian Icedove"
+ replaces=icedove-hu
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-hu.xpi "${pkgdir}/$_path/langpack-hu@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-id(){
+ pkgdesc="Indonesian language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-id.xpi "${pkgdir}/$_path/langpack-id@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-is() {
+ pkgdesc="Icelandic Gaelic language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-is.xpi "${pkgdir}/$_path/langpack-is@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-it() {
+ pkgdesc="Italian language pack for Debian Icedove"
+ replaces=icedove-it
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-it.xpi "${pkgdir}/$_path/langpack-it@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-ja() {
+ pkgdesc="Japanese language pack for Debian Icedove"
+ replaces=icedove-ja
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-ja.xpi "${pkgdir}/$_path/langpack-ja@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-ko() {
+ pkgdesc="Korean language pack for Debian Icedove"
+ replaces=icedove-ko
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-ko.xpi "${pkgdir}/$_path/langpack-ko@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-lt() {
+ pkgdesc="Lithuanian language pack for Debian Icedove"
+ replaces=icedove-lt
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-lt.xpi "${pkgdir}/$_path/langpack-lt@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-nb() {
+ pkgdesc="Norwegian (Bokmal) language pack for Debian Icedove"
+ replaces=icedove-nb
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-nb-NO.xpi "${pkgdir}/$_path/langpack-nb-NO@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-mk() {
+ pkgdesc="Macedonian language pack for Debian Icedove"
+ replaces=icedove-mk
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-mk.xpi "${pkgdir}/$_path/langpack-mk@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-nl() {
+ pkgdesc="Dutch language pack for Debian Icedove"
+ replaces=icedove-nl
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-nl.xpi "${pkgdir}/$_path/langpack-nl@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-nn() {
+ pkgdesc="Norwegian (Nynorsk) language pack for Debian Icedove"
+ replaces=icedove-nn
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-nn-NO.xpi "${pkgdir}/$_path/langpack-nn-NO@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-pa() {
+ pkgdesc="Punjabi language pack for Debian Icedove"
+ replaces=icedove-pa
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-pa-IN.xpi "${pkgdir}/$_path/langpack-pa-IN@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-pl() {
+ pkgdesc="Polish language pack for Debian Icedove"
+ replaces=icedove-pl
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-pl.xpi "${pkgdir}/$_path/langpack-pl@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-pt-br() {
+ pkgdesc="Brazilian Portuguese language pack for Debian Icedove"
+ replaces=icedove-pt-br
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-pt-BR.xpi "${pkgdir}/$_path/langpack-pt-BR@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-pt() {
+ pkgdesc="Portuguese language pack for Debian Icedove"
+ replaces=icedove-pt
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-pt-PT.xpi "${pkgdir}/$_path/langpack-pt-PT@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-ro() {
+ pkgdesc="Romanian language pack for Debian Icedove"
+ replaces=icedove-ro
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-ro.xpi "${pkgdir}/$_path/langpack-ro@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-rm() {
+ pkgdesc="Romansh language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-rm.xpi "${pkgdir}/$_path/langpack-rm@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-ru() {
+ pkgdesc="Russian language pack for Debian Icedove"
+ replaces=icedove-ru
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-ru.xpi "${pkgdir}/$_path/langpack-ru@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-si() {
+ pkgdesc="Sinhalese language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-si.xpi "${pkgdir}/$_path/langpack-si@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-sk() {
+ pkgdesc="Slovak language pack for Debian Icedove"
+ replaces=icedove-sk
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-sk.xpi "${pkgdir}/$_path/langpack-sk@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-sl() {
+ pkgdesc="Slovenian language pack for Debian Icedove"
+ replaces=icedove-sl
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-sl.xpi "${pkgdir}/$_path/langpack-sl@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-sq() {
+ pkgdesc="Albanian language pack for Debian Icedove"
+ replaces=icedove-sl
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-sq.xpi "${pkgdir}/$_path/langpack-sq@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-sv() {
+ pkgdesc="Swedish language pack for Debian Icedove"
+ replaces=icedove-sv
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-sv-SE.xpi "${pkgdir}/$_path/langpack-sv-SE@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-ta-lk() {
+ pkgdesc=" Tamil (Sri Lanka) language pack for Debian Icedove"
+ replaces=icedove-sv
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-ta-LK.xpi "${pkgdir}/$_path/langpack-ta-LK@icedove.mozilla.org.xpi"
+}
+
+
+package_icedove-i18n-tr() {
+ pkgdesc="Turkish language pack for Debian Icedove"
+ replaces=icedove-tr
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-tr.xpi "${pkgdir}/$_path/langpack-tr@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-uk() {
+ pkgdesc="Ukrainian language pack for Debian Icedove"
+ replaces=icedove-uk
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-uk.xpi "${pkgdir}/$_path/langpack-uk@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-vi() {
+ pkgdesc="Vietnamese language pack for Debian Icedove"
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-vi.xpi "${pkgdir}/$_path/langpack-vi@icedove.mozilla.org.xpi"
+}
+package_icedove-i18n-zh-cn() {
+ pkgdesc="Chinese (simplified) language pack for Debian Icedove"
+ replaces=icedove-zh-cn
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-zh-CN.xpi "${pkgdir}/$_path/langpack-zh-CN@icedove.mozilla.org.xpi"
+}
+
+package_icedove-i18n-zh-tw() {
+ pkgdesc="Chinese (traditional) language pack for Debian Icedove"
+ replaces=icedove-zh-tw
+ cd ${srcdir}
+ install -Dm644 icedove-i18n-$pkgver-zh-TW.xpi "${pkgdir}/$_path/langpack-zh-TW@icedove.mozilla.org.xpi"
+}
+md5sums=('43ea2aeec780c591af577215a8f928ae'
+ '0dc7a6ca6d308f4135ce135b87b19823'
+ '343f4b73820d9906205606833c48ddd1'
+ '56f7a9e47037c82fda2d97efcac6e2fa'
+ '7da75017f43c073b7f7e413d41794a37'
+ '07c7efe6d9400b17ef572c5769f25ccd'
+ '8dba7a9ff2c2b55908bb32b947fab75e'
+ 'e262a088217fceb213a8890124e85db6'
+ '9c2355ff0ca0b640e50f7a24ec5d9f6e'
+ '628c84299fc7b76a5f084905518b8f73'
+ 'a26276362394dedbbea98356d573f2f1'
+ '06c0ed88ff10c296f2066a7a84cc33d6'
+ '2a03c69e72bbe08e8938177908a3ab17'
+ 'e80febfd74cc81bc9e5cb9752c0b3b95'
+ '4ad12b69da9910e1c0122aa76c3513d5'
+ '5e9c7ab66141389b9300f8db28852a5a'
+ 'c3390ce9a18b979fe148652fc76ae311'
+ '85c17fe5018696d6999e7fed8c447edc'
+ 'a049d7cf3b9c9ef5ece4afced3b56f9d'
+ 'c483f4da184315444d1d094fd75b150a'
+ 'e57eba03836a14e8915a816a7655fb46'
+ 'c4d4caf6baf85ca22ed1ea19a3630d67'
+ 'e16465d4d1234fe7362b5ba2f73682f9'
+ '36fb64f2541e5a7ba0640931e8ee2be1'
+ 'd03b2ddcfc3cf28e1725df4972e2abfe'
+ 'f5fcf08545542a752b7355d1dd692c2d'
+ '842c4ce562c0beba6713424551d5d748'
+ '004c5c6a1a5bb575827fe626e0b804cc'
+ '0d810b4347b21d43d8b38fd077a63f9d'
+ 'e03ac78e858e0d345512bcc24f180838'
+ 'e17ab7b097085b9462d38a7d8aa4d027'
+ 'f58b78d51281acf36c9755abb6bbde14'
+ '086270a5669cb5db0a21bf5ca1c7620c'
+ 'c972a8eaf135cfeb9509603ae1d392d3'
+ 'c4eb654adce293e9ef6fe2cb2b1078bc'
+ 'd120891141f898644a93bb2317def809'
+ '78c32f4f1c814130f9cddce60b17a089'
+ '055d77477e07632dcb06a08d51609514'
+ '9b28657c99b9193cef3dbf959ed1849c'
+ '5c6ca9cd178df6a6fca1f638a0845b0a'
+ '277cf819683b9a9016b322a77a3236fa'
+ '7104f5238b221ea4dc502c14eae12ea1'
+ 'a29ed3f28bab6a970c15378505b352cc'
+ '5774b9adccafa40221e6eb3011de5db0'
+ '5419f4456c65703ebeb9d4befc0c2d2c'
+ '2423b38ceb1022a6064070a3f7f5600f'
+ '5de7fd60a6a74bf23066a6cfe9dee2d6'
+ '47a23af3184ee6999433a9f59da3a67a'
+ 'd3242d7e7c35df585e55918ed6556f16'
+ 'd0f7e27dfdc4aa14398e8422e3135a4a')
diff --git a/libre/icedove-libre/.directory b/libre/icedove-libre/.directory
new file mode 100644
index 000000000..ef6a156b3
--- /dev/null
+++ b/libre/icedove-libre/.directory
@@ -0,0 +1,2 @@
+[Dolphin]
+Timestamp=2012,5,10,17,26,4
diff --git a/libre/icedove-libre/PKGBUILD b/libre/icedove-libre/PKGBUILD
new file mode 100644
index 000000000..6bd50cd47
--- /dev/null
+++ b/libre/icedove-libre/PKGBUILD
@@ -0,0 +1,95 @@
+# Maintainer : Márcio Silva <coadde@adinet.com.uy>
+# Maintainer : André Silva <andre.paulista@adinet.com.uy>
+
+# We're getting this from Debian Experimental
+_debname=icedove
+_debver=11.0
+_debrel=1
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_pkgname=${_debname}
+pkgname=${_debname}-libre
+pkgver=${_debver}.${_debrel}
+pkgrel=1
+pkgdesc="A libre version of Debian Icedove, the Standalone Mail/News reader based on Mozilla Thunderbird."
+arch=('i586' 'i686' 'x86_64' 'mips64el')
+license=('GPL2' 'MPL' 'LGPL')
+url="http://packages.debian.org/source/experimental/${_pkgname}"
+depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss' 'sqlite' 'startup-notification')
+makedepends=('unzip-libre' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'quilt')
+optdepends=('libcanberra: for sound support')
+replaces=('thunderbird')
+conflicts=('thunderbird')
+provides=('thunderbird')
+install=$_pkgname.install
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz"
+ mozconfig
+ channel-prefs.js
+ vendor.js
+ gcc47.patch
+ clrf.patch
+ makefile.patch
+ ${_pkgname}.desktop)
+md5sums=('0d4aaf892cd1cbf9bda38928947025fe'
+ 'd4401c080fe5190e8bb1326f10808231'
+ 'd6d58d3104a44624e0a3d227cdf1c211'
+ '476ec205162340fb0679f522c9d31c3b'
+ '4eecc4fc5aafaf0da651a09eadc90bee'
+ '94d5cd599ccc4438f192d8daabf98b6a'
+ 'c395d443a8c4c16880c7322bcf174743'
+ 'c4ed43e85945e180a89cce03e45ec62c'
+ 'e785e0c267f4435ae1a9aa0b03bcacfb')
+
+build() {
+ export QUILT_PATCHES=debian/patches
+ export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+ export QUILT_DIFF_ARGS='--no-timestamps'
+ export LDFLAGS="${LDFLAGS} -Wl,--as-needed,-rpath,/usr/lib/${_pkgname}"
+ export PYTHON="/usr/bin/python2"
+ export DEBIAN_BUILD="comm-release"
+ mv debian "${srcdir}/${DEBIAN_BUILD}"
+ cd "${srcdir}/${DEBIAN_BUILD}"
+ mv debian/${_pkgname}-branding "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}"
+ cp -a debian/app-icons/${_pkgname}big.svg debian/app-icons/${_pkgname}_icon.svg
+ for i in 16x16 22x22 24x24 32x32 48x48 256x256; do
+ install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}/mailicon${i/x*/}.png"
+ done
+ for i in 48x48 64x64; do
+ install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}/content/icon${i/x*/}.png"
+ done
+ quilt push -av
+
+ patch -Np1 -i "$srcdir/gcc47.patch"
+ patch -Np1 -i "$srcdir/clrf.patch"
+ patch -Np1 -i "$srcdir/makefile.patch"
+
+ cp "${srcdir}/mozconfig" .mozconfig
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}"
+}
+
+package() {
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ make -j1 -f client.mk DESTDIR="${pkgdir}" install
+
+ install -m644 "${srcdir}/vendor.js" "${pkgdir}/usr/lib/${_pkgname}/defaults/pref"
+ # Recommend free addons
+ install -m644 "${srcdir}/channel-prefs.js" "${pkgdir}/usr/lib/${_pkgname}/defaults/pref"
+
+ for i in 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256; do
+ install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${pkgdir}/usr/share/icons/hicolor/$i/apps/${_pkgname}.png"
+ done
+ install -Dm644 "debian/app-icons/${_pkgname}_icon.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
+
+ install -Dm644 "$srcdir/${_pkgname}.desktop" \
+ "$pkgdir/usr/share/applications/${_pkgname}.desktop"
+
+ rm -rf "${pkgdir}"/usr/lib/${_pkgname}/{dictionaries,hyphenation,searchplugins}
+ ln -sf /usr/share/hunspell "${pkgdir}/usr/lib/${_pkgname}/dictionaries"
+ ln -sf /usr/share/hyphen "${pkgdir}/usr/lib/${_pkgname}/hyphenation"
+ ln -sf /usr/lib/mozilla/searchplugins "${pkgdir}/usr/lib/${_pkgname}/searchplugins"
+ # We don't want the development stuff
+ rm -r "${pkgdir}"/usr/{include,lib/$_pkgname-devel,share/idl}
+}
diff --git a/libre/icedove-libre/channel-prefs.js b/libre/icedove-libre/channel-prefs.js
new file mode 100644
index 000000000..13b1ba388
--- /dev/null
+++ b/libre/icedove-libre/channel-prefs.js
@@ -0,0 +1,9 @@
+//@line 2 "/build/src/comm-release/mail/app/profile/channel-prefs.js"
+pref("app.update.channel", "default");
+
+//Recommend free addons
+pref("extensions.getAddons.get.url", "http://www.gnu.org/software/gnuzilla/addons.html");
+pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html");
+pref("extensions.getMoreThemesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+pref("extensions.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html");
diff --git a/libre/icedove-libre/clrf.patch b/libre/icedove-libre/clrf.patch
new file mode 100644
index 000000000..375708ac4
--- /dev/null
+++ b/libre/icedove-libre/clrf.patch
@@ -0,0 +1,260 @@
+diff -Nur comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp
+--- comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-03-12 23:37:12.000000000 -0300
++++ comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-05-07 12:33:58.517612453 -0300
+@@ -688,7 +688,7 @@
+ PL_strcat(encoding, "{");
+ lengthStr.AppendInt((PRInt32) strlen(value));
+ PL_strcat(encoding, lengthStr.get());
+- PL_strcat(encoding, "}"CRLF);
++ PL_strcat(encoding, "}" CRLF);
+ PL_strcat(encoding, value);
+ return NS_OK;
+ }
+diff -Nur comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp
+--- comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-05-07 12:41:08.003264793 -0300
+@@ -753,7 +753,7 @@
+ }
+ }
+ }
+-#define EXTRA_KEYWORD_HDR " "MSG_LINEBREAK
++#define EXTRA_KEYWORD_HDR " " MSG_LINEBREAK
+
+ // if status offset isn't in the first block, this code won't work. There's no good reason
+ // for the status offset not to be at the beginning of the message anyway.
+@@ -1203,7 +1203,7 @@
+ // check if there's an envelope header; if not, write one.
+ if (strncmp(m_dataBuffer, "From ", 5))
+ {
+- m_fileStream->Write("From "CRLF, 7, &bytesWritten);
++ m_fileStream->Write("From " CRLF, 7, &bytesWritten);
+ m_offlineMsgSize += bytesWritten;
+ }
+ }
+diff -Nur comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp comm-release/mailnews/compose/src/nsSmtpProtocol.cpp
+--- comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/compose/src/nsSmtpProtocol.cpp 2012-05-07 12:44:43.127347489 -0300
+@@ -1722,7 +1722,7 @@
+ {
+ m_sendDone = PR_TRUE;
+ nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
+- SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server.
++ SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server.
+ m_nextState = SMTP_RESPONSE;
+ m_nextStateAfterResponse = SMTP_DONE;
+ return(0);
+@@ -1969,7 +1969,7 @@
+ {
+ nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
+ // send a quit command to close the connection with the server.
+- if (SendData(url, "QUIT"CRLF) == NS_OK)
++ if (SendData(url, "QUIT" CRLF) == NS_OK)
+ {
+ m_nextState = SMTP_RESPONSE;
+ m_nextStateAfterResponse = SMTP_ERROR_DONE;
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp comm-release/mailnews/imap/src/nsImapMailFolder.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/imap/src/nsImapMailFolder.cpp 2012-05-07 12:48:29.417179064 -0300
+@@ -8298,7 +8298,7 @@
+ bool needMoreData = false;
+ char * newLine = nsnull;
+ PRUint32 numBytesInLine = 0;
+- const char *envelope = "From "CRLF;
++ const char *envelope = "From " CRLF;
+ offlineStore->Write(envelope, strlen(envelope), &bytesWritten);
+ fileSize += bytesWritten;
+ do
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp comm-release/mailnews/imap/src/nsImapProtocol.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/imap/src/nsImapProtocol.cpp 2012-05-07 15:45:58.551202719 -0300
+@@ -1410,7 +1410,7 @@
+ {
+ // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages();
+ nsCAutoString commandBuffer(GetServerCommandTag());
+- commandBuffer.Append(" IDLE"CRLF);
++ commandBuffer.Append(" IDLE" CRLF);
+
+ do
+ {
+@@ -3290,7 +3290,7 @@
+ commandString.Append(messageIds);
+ commandString.Append(" (");
+ commandString.Append(attribute);
+- commandString.Append(")"CRLF);
++ commandString.Append(")" CRLF);
+ nsresult rv = SendData(commandString.get());
+
+ if (NS_SUCCEEDED(rv))
+@@ -5283,7 +5283,7 @@
+
+ IncrementCommandTagNumber();
+ nsCAutoString command(GetServerCommandTag());
+- command.Append(" expunge"CRLF);
++ command.Append(" expunge" CRLF);
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -5359,7 +5359,7 @@
+ command.Append(gAppName);
+ command.Append("\" \"version\" \"");
+ command.Append(gAppVersion);
+- command.Append("\")"CRLF);
++ command.Append("\")" CRLF);
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -5816,7 +5816,7 @@
+ nsCAutoString correctedPassword;
+ EscapeUserNamePasswordString(password.get(), &correctedPassword);
+ command.Append(correctedPassword);
+- command.Append("\""CRLF);
++ command.Append("\"" CRLF);
+ rv = SendData(command.get(), PR_TRUE /* suppress logging */);
+ NS_ENSURE_SUCCESS(rv, rv);
+ ParseIMAPandCheckForNewMail();
+@@ -7446,7 +7446,7 @@
+ nsCString command(GetServerCommandTag());
+ command += " create \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if(NS_SUCCEEDED(rv))
+@@ -7549,7 +7549,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " lsub \"\" \"";
+ command += escapedPattern;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ PR_Free(boxnameWithOnlineDirectory);
+
+@@ -7578,7 +7578,7 @@
+ command += useXLIST ?
+ " xlist \"\" \"" : " list \"\" \"";
+ command += escapedPattern;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ PR_Free(boxnameWithOnlineDirectory);
+
+@@ -7599,7 +7599,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " subscribe \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -7617,7 +7617,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " unsubscribe \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -7631,7 +7631,7 @@
+ if (m_urlInProgress)
+ return;
+ nsCAutoString command (GetServerCommandTag());
+- command += " IDLE"CRLF;
++ command += " IDLE" CRLF;
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+ {
+@@ -7658,7 +7658,7 @@
+ nsCOMPtr <nsIAsyncInputStream> asyncInputStream = do_QueryInterface(m_inputStream);
+ if (asyncInputStream)
+ asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull);
+- nsresult rv = SendData("DONE"CRLF);
++ nsresult rv = SendData("DONE" CRLF);
+ // set a short timeout if we don't want to wait for a response
+ if (m_transport && !waitForResponse)
+ m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5);
+@@ -7727,8 +7727,8 @@
+ PRUint32 msgsHandled = 0;
+ const char *formatString;
+ formatString = (idsAreUid)
+- ? "%s uid store %s %s"CRLF
+- : "%s store %s %s"CRLF;
++ ? "%s uid store %s %s" CRLF
++ : "%s store %s %s" CRLF;
+
+ do
+ {
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-05-07 12:57:22.050615120 -0300
+@@ -185,7 +185,7 @@
+
+ NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' &&
+ *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string");
+- bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF);
++ bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF);
+ if (sendingIdleDone)
+ fWaitingForMoreClientInput = PR_FALSE;
+
+diff -Nur comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp comm-release/mailnews/local/src/nsPop3Protocol.cpp
+--- comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/local/src/nsPop3Protocol.cpp 2012-05-07 12:59:45.857182813 -0300
+@@ -2483,7 +2483,7 @@
+ return(MK_OUT_OF_MEMORY);
+ m_pop3ConData->next_state_after_response = POP3_GET_LIST;
+ m_listpos = 0;
+- return SendData(m_url, "LIST"CRLF);
++ return SendData(m_url, "LIST" CRLF);
+ }
+
+
+diff -Nur comm-release.orig/mailnews/mime/src/mimedrft.cpp comm-release/mailnews/mime/src/mimedrft.cpp
+--- comm-release.orig/mailnews/mime/src/mimedrft.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/mime/src/mimedrft.cpp 2012-05-07 13:01:42.912022177 -0300
+@@ -1473,7 +1473,7 @@
+ *newbody = 0;
+ PL_strcatn(newbody, newbodylen, "<PRE>");
+ PL_strcatn(newbody, newbodylen, body);
+- PL_strcatn(newbody, newbodylen, "</PRE>"CRLF);
++ PL_strcatn(newbody, newbodylen, "</PRE>" CRLF);
+ PR_Free(body);
+ body = newbody;
+ }
+diff -Nur comm-release.orig/mailnews/mime/src/mimemult.cpp comm-release/mailnews/mime/src/mimemult.cpp
+--- comm-release.orig/mailnews/mime/src/mimemult.cpp 2012-03-12 23:37:13.000000000 -0300
++++ comm-release/mailnews/mime/src/mimemult.cpp 2012-05-07 13:04:41.511265477 -0300
+@@ -280,7 +280,7 @@
+ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\""));
+ MimeWriteAString(obj, fileName);
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: "));
+ MimeWriteAString(obj, obj->options->state->detachedFilePath);
+ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
+@@ -293,10 +293,10 @@
+ status = MimeWriteAString(obj, header);
+ if (status < 0)
+ return status;
+- status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 8bit"MSG_LINEBREAK));
++ status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "Content-Transfer-Encoding: 8bit" MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: inline; filename=\"Deleted: "));
+ MimeWriteAString(obj, fileName);
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\""));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "X-Mozilla-Altered: AttachmentDeleted; date=\""));
+ }
+ nsCString result;
+ char timeBuffer[128];
+@@ -306,8 +306,8 @@
+ "%a %b %d %H:%M:%S %Y",
+ &now);
+ MimeWriteAString(obj, nsDependentCString(timeBuffer));
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
+- MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK));
+ MimeHeaders_write_raw_headers(mult->hdrs, obj->options, PR_FALSE);
+ }
+ PRInt32 old_nchildren = container->nchildren;
diff --git a/libre/icedove-libre/gcc47.patch b/libre/icedove-libre/gcc47.patch
new file mode 100644
index 000000000..115d65131
--- /dev/null
+++ b/libre/icedove-libre/gcc47.patch
@@ -0,0 +1,63 @@
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc comm-release/mozilla/ipc/chromium/src/base/file_util.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-03 18:38:11.474783536 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-03 18:43:29.218995578 +0000
+@@ -8,7 +8,7 @@
+ #include <io.h>
+ #endif
+ #include <stdio.h>
+-#if defined(ANDROID)
++#if defined(ANDROID) || defined(OS_POSIX)
+ #include <unistd.h>
+ #endif
+
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-03 18:38:11.381450924 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-03 18:43:29.218995578 +0000
+@@ -5,6 +5,9 @@
+ #include "base/file_util.h"
+
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <string>
+ #include <vector>
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-03 18:38:11.438117153 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-03 18:43:29.218995578 +0000
+@@ -6,6 +6,9 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include "eintr_wrapper.h"
+ #include "base/logging.h"
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc comm-release/mozilla/ipc/chromium/src/base/time_posix.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-03 18:38:11.418117308 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-03 18:43:29.218995578 +0000
+@@ -14,6 +14,8 @@
+ #include <time.h>
+ #endif
+
++#include <unistd.h>
++
+ #include <limits>
+
+ #include "base/basictypes.h"
+diff -Nur comm-release.orig/mozilla/toolkit/crashreporter/client/Makefile.in comm-release/mozilla/toolkit/crashreporter/client/Makefile.in
+--- comm-release.orig/mozilla/toolkit/crashreporter/client/Makefile.in 2012-04-03 18:38:56.101105510 +0000
++++ comm-release/mozilla/toolkit/crashreporter/client/Makefile.in 2012-04-03 18:43:29.218995578 +0000
+@@ -69,6 +69,9 @@
+ $(STDCXX_COMPAT) \
+ $(NULL)
+
++# Needed for moz_free
++LIBS += -L$(LIBXUL_DIST)/lib -lmozalloc
++
+ ifeq ($(OS_ARCH),WINNT)
+ CPPSRCS += crashreporter_win.cpp
+ LIBS += \
diff --git a/libre/icedove-libre/icedove.desktop b/libre/icedove-libre/icedove.desktop
new file mode 100644
index 000000000..ef2cd76e9
--- /dev/null
+++ b/libre/icedove-libre/icedove.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Name=Icedove
+Comment=Mail & News Reader
+GenericName=Mail Client & News Reader
+Exec=icedove %u
+TryExec=icedove
+Icon=icedove
+Terminal=false
+Type=Application
+Categories=Network;Email;
+MimeType=message/rfc822;x-scheme-handler/mailto;
+StartupNotify=true
diff --git a/libre/kdenetwork-libre/kdenetwork-kget.install b/libre/icedove-libre/icedove.install
index 5495fb1b5..4d4a283db 100644
--- a/libre/kdenetwork-libre/kdenetwork-kget.install
+++ b/libre/icedove-libre/icedove.install
@@ -1,6 +1,6 @@
post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}
post_upgrade() {
diff --git a/libre/icedove-libre/makefile.patch b/libre/icedove-libre/makefile.patch
new file mode 100644
index 000000000..8f8137bec
--- /dev/null
+++ b/libre/icedove-libre/makefile.patch
@@ -0,0 +1,46 @@
+diff -Nur comm-release.orig/mail/branding/icedove/Makefile.in comm-release/mail/branding/icedove/Makefile.in
+--- comm-release.orig/mail/branding/icedove/Makefile.in 2012-04-18 15:42:15.000000000 -0300
++++ comm-release/mail/branding/icedove/Makefile.in 2012-05-08 04:03:25.680643202 -0300
+@@ -38,11 +38,11 @@
+ # Branding Makefile for Icedove branding
+
+ DEPTH = ../../..
+-topsrcdir = ../../../
++topsrcdir = @top_srcdir@
+ srcdir = @srcdir@
+ VPATH = @srcdir@
+
+-include $(topsrcdir)/config/autoconf.mk
++include $(DEPTH)/config/autoconf.mk
+
+ DIRS = \
+ locales \
+@@ -50,7 +50,7 @@
+
+ PREF_JS_EXPORTS += $(srcdir)/thunderbird-branding.js
+
+-include $(DEPTH)/config/rules.mk
++include $(topsrcdir)/config/rules.mk
+
+ export::
+ $(NSINSTALL) -D $(DIST)/branding
+diff -Nur comm-release.orig/mail/branding/icedove/locales/Makefile.in comm-release/mail/branding/icedove/locales/Makefile.in
+--- comm-release.orig/mail/branding/icedove/locales/Makefile.in 2012-04-18 15:42:15.000000000 -0300
++++ comm-release/mail/branding/icedove/locales/Makefile.in 2012-05-08 05:32:57.481620942 -0300
+@@ -36,13 +36,13 @@
+ # ***** END LICENSE BLOCK *****
+
+ DEPTH = ../../../..
+-topsrcdir = ../../../..
++topsrcdir = @top_srcdir@
+ srcdir = @srcdir@
+ VPATH = @srcdir@
+ relativesrcdir = mail/branding/icedove/locales
+
+-include $(topsrcdir)/config/autoconf.mk
++include $(DEPTH)/config/autoconf.mk
+
+ DEFINES += -DAB_CD=$(AB_CD) -DMOZ_DISTRIBUTION_ID_UNQUOTED=$(MOZ_DISTRIBUTION_ID)
+
+-include $(DEPTH)/config/rules.mk
++include $(topsrcdir)/config/rules.mk
diff --git a/libre/icedove-libre/mozconfig b/libre/icedove-libre/mozconfig
new file mode 100644
index 000000000..58f8ce24f
--- /dev/null
+++ b/libre/icedove-libre/mozconfig
@@ -0,0 +1,64 @@
+mk_add_options MOZ_CO_PROJECT=mail
+ac_add_options --enable-application=mail
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --enable-system-ffi
+ac_add_options --enable-system-cairo
+ac_add_options --enable-system-pixman
+ac_add_options --with-pthreads
+
+# Features
+ac_add_options --enable-startup-notification
+ac_add_options --enable-gio
+
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-tests
+ac_add_options --disable-mochitest
+ac_add_options --disable-installer
+
+# Optimization
+ac_add_options --enable-optimize
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+
+# Parabola
+export BUILD_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+
+# Debian
+export MAIL_PKG_SHARED=1
+mk_add_options MAIL_PKG_SHARED=1
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=mail/branding/icedove
+ac_add_options --enable-extensions=default
+ac_add_options --with-default-mozilla-five-home=/usr/lib/icedove
+ac_add_options --disable-javaxpcom
+ac_add_options --disable-elf-dynstr-gc
+ac_add_options --disable-strip
+ac_add_options --disable-strip-libs
+ac_add_options --disable-install-strip
+ac_add_options --enable-pango
+ac_add_options --enable-xft
+ac_add_options --enable-xinerama
+ac_add_options --enable-svg
+ac_add_options --enable-svg-renderer=cairo
+ac_add_options --enable-canvas
+ac_add_options --enable-crypto
+ac_add_options --enable-shared-js
+ac_add_options --enable-readline
diff --git a/libre/icedove-libre/vendor.js b/libre/icedove-libre/vendor.js
new file mode 100644
index 000000000..279bdc158
--- /dev/null
+++ b/libre/icedove-libre/vendor.js
@@ -0,0 +1,12 @@
+// Forbid application updates
+lockPref("app.update.enabled", false);
+
+// Use LANG environment variable to choose locale
+pref("intl.locale.matchOS", true);
+
+// Disable default mailer checking.
+pref("mail.shell.checkDefaultMail", false);
+
+// Don't disable our bundled extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+pref("extensions.shownSelectionUI", true);
diff --git a/libre/iceweasel-i18n/PKGBUILD b/libre/iceweasel-i18n/PKGBUILD
index 0743504ee..b03b8196b 100644
--- a/libre/iceweasel-i18n/PKGBUILD
+++ b/libre/iceweasel-i18n/PKGBUILD
@@ -9,8 +9,8 @@
# - Run 'make'. It will take care of everything else for you.
_debname=iceweasel
-_debver=11.0
-_debrel=2
+_debver=12.0
+_debrel=7
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -56,87 +56,87 @@ package_iceweasel-i18n-$(echo $lang | tr A-Z a-z)() {
"
done
-md5sums=('c11d65787c3f2848e0b582115e50c3ca'
- 'f579bb571a43c33d6a13fd71f7853331'
- '5ec94ba1055f11e8a33674a3ea623fca'
- '7598e4409463c98c6f358a49c0e0e864'
- 'f3a7156974b43a7829e68e82e6dd749a'
- '2cd6d08c82a59cee5454d3da763d9808'
- '3b5529e7d1a6c87e9a99b251bb008b9f'
- 'f1eb67cbc423a49dd4b4f85e1f50034c'
- '76c39cc1134b4074283fe080a1d0b29e'
- '1b282bba90202701fa63fc21b44e78d5'
- '77f818359b98fdd2a23b40989f9f56c6'
- 'cbd8fb3d20a5269ac728c717ebd1d98c'
- '83e2314c8b80d0fd551fa083d89cef70'
- 'e68bed0670b4a82dbd66512e8ca130c7'
- '48ea629311ec141de087474ad95fa122'
- '9c1849045f0004e49c240061358b244f'
- '72bce5d1aa3e6b21f6b7e7b6f2c8d4f2'
- '224a5bb2ee4fdde8cc20e79a70e30eab'
- 'e856bf522ad406c3b17e605a922a149f'
- 'e522dd90baf0fdc61fbd45a496993fed'
- 'adc195bb74d8d84f768ab0077c6c80b2'
- 'a8012c48c890655c1ef1826f900f7cd3'
- 'fad33e552bd6fb805a5c92325c649eff'
- 'cad39ebafc45aad5d32f115fa1839ac0'
- '238fa3a6a33cd30ad2712510cc578baa'
- '5dadee4c8eca35353e811b93a6602860'
- '67c7d7ab47d8cd636d6849f9fda68fe7'
- 'b7cf88fe4b118aea853978c7ff43eb57'
- 'c0aa19616cf37148a7f33789c9e88deb'
- '806a1b78d92c1e6504051f2c6bf2cdcf'
- '92ee27275709f2c81f229f40d032da23'
- '6f7369cff0c0680f52394d9caee7b136'
- '2adba18d2bd10051950f1b37325ddbce'
- 'a2e1834d4b28fa8dea5b8d01adcedb7e'
- '929bfa11831b267b419a1b09b4d614d4'
- 'fe5ea0a2cc3ee9b45618517a2a6cd162'
- '45cd4f3e44046bfdc78848d12a0983f9'
- '7f7681277e566052e6831377b1bcd479'
- 'f136cefdb1b7a8b9fc18cba540414fcc'
- 'e714caf6fc74f9978ca5911310f33f10'
- '7a745b384d1ee293decce327189d49e8'
- '5b22c59215b6ce6d3fd588305a6429f6'
- 'b6f1f722168a7e2dc70b02c199e96198'
- 'e490e5a65c40cd60ba64e4511f1dcef1'
- '640c52cb0b2e4f8ae0d7206fb3db3b33'
- 'a42b31f567dcc8032360caa684df1c08'
- 'd8da0314598179ac5c3479dd397d7827'
- '7e065b66f0673c3801ee7f37ff33344d'
- 'c8c5d1646483013fa249b3a839523e53'
- 'abf1db7ea2e8014e135f324cf3efc141'
- '8a352420c9580fe3c930a4b3c4d3530e'
- '465ca43f628d0567b3de36626b54bf40'
- '6cc860dae180ed5f80916759da290a9d'
- 'b0d97a60501760c78f520ba4151427a7'
- '829311af6d4d0d78378fdcfd2cfccc68'
- 'b54daae60d32b270a44b891fdb61e3b5'
- '39246a00ea31552326d0ea52f8eb1f05'
- 'e49074be0a43ebc9810d89c24de75268'
- '281f20486ae5b6caadfc5504e7f036ac'
- '740c3a38b45788378c6c5db795d31ee1'
- '296df42d755d93032b9a3dc619bc502d'
- '74b59fa4676d2779f8e1081ac253b122'
- 'a92960238a2c942c4b49b0f4187d0a71'
- '230fbd4b3e6a65545b4a37ec1549d0e6'
- 'e606f5a9db88334a6cb33086340f4ff7'
- '0b52b803abe1acb1e137a57fe0497746'
- '00ddf2c8c6adfcd51230dd469d01ec75'
- '254303860ecc7c25157f08a4d55a4f68'
- '70d037f9c5c8f25e2b335c7016f17b58'
- 'b3da484dade70c544d4f0e6a829ef806'
- '05347b208889b3e4aa86d9a6dccda71d'
- 'a2212a06adac1aa6b74bc2f7e9de2af2'
- '371d5e9b0a10feec5e05d3fdfd949bc6'
- '63611b468b7d41a0470385e19a849a8d'
- 'dc691a55cc7f95018e4178e6e794a1a4'
- '90723a80c36b85006fa7514641cd2f2a'
- '918683079f1d037d05a9a38b05d4ca51'
- '77dda2b5fd59bcdb66918b4d13b486ae'
- '33c2d8bff6cdf141614457c71fcf5d36'
- '08990457e150c081e0f505515c15df09'
- '379c5ede369994f016745e7dd83dfe54'
- '15062007856eb66b04c26694a7f35727'
- '569b1a54a9ca0b8149f151eb4cf57957'
- '970928f01c78b094a2c054e58cd85bff')
+md5sums=('5ff63ad5c05d6d1b6602ad5741a0ebbe'
+ 'ba39d79b5d311942e638668e2e4ed2c9'
+ '7f090255a9fe67dd690659ee174ee7a8'
+ '4c6bd176a604e52c72d9d879aa16ef92'
+ '2a5589be415e0fe395c16d59cdc7c91a'
+ '9e7908cee8a30ca2514bfb30ad8a73a1'
+ '19d7de55b66a939400384d5ff463b6e8'
+ 'd9270f14e3119d6395345a1e211ae6be'
+ '3becb7d177c66b261a21af21b7ec9cb5'
+ '68758f2d56daa04c456b53852b811ae6'
+ 'c128c138f022a1d81313fcbfa332dfe3'
+ 'af0f6166f137fcd886e39e6f09c6bdf1'
+ 'fea6cbd83d51a6c07b36ff33ffc0dd64'
+ 'cf2c157ee82b06ca7d10fed9f0c3e71a'
+ '85816cd36489cbee7e3ac8ebde0f6217'
+ 'a34727f3cb2e32133a280978dc354b01'
+ 'e31213480521b80600207fd67adda16a'
+ '53b15a8b5ef4659bf67dc66ba946e2d2'
+ '4fa7defd9b33e26231e3d236b0fd9d8c'
+ '6788e9cdd0cc01b82d9a49800ce809ed'
+ '26cbb5f5afe5fbaa26716a297b6b2a46'
+ 'df5c334e257805af2ebdf685a643e706'
+ '898a92607281f0263d670b4eb28ca224'
+ '8aa4093d5f55587dcf951201301c5246'
+ '1f4531c0c5f41a5095d811c107d276ac'
+ '907f8599e1e4a342b3b19072661cc72e'
+ '4db5b7af448becc5dd56e0a0cb9f908d'
+ '0fb24139ee7ea7b7c340d31e9e58ae04'
+ '7ff7ae7d1cd9a713dad7070c38dd4f42'
+ 'f8f6385a9f6c1ecaa8d299ac72aa046e'
+ '49c99a2a04144e6b33cafed7e33b47ea'
+ 'bc9a4b47fd087ceefce8745a2cedd615'
+ 'd7a4703936bfde284cc46d68dede421f'
+ '615df26846bf62714466a7e1dd2a7e5e'
+ '3c666f8153645a9d958753eb5e910ef2'
+ '5217d26e9f4465db7433e77b7bbc5233'
+ 'd3ffdf2ece6ca4d84fc0061371690b28'
+ 'ccf85e0bc3be22824e1aa5ad99873248'
+ 'e3bf49a5c040bf88583d5aa1b886eeea'
+ 'a3c545319134c7febf801bb45722ab6f'
+ '48c9d21d50e2b5ccb3c0d1a5f8b46bb5'
+ 'df6a5bedd8f5684f8b8b3f6fc11e7ceb'
+ 'f82373a67a80e8ab9c39678e3eb92353'
+ '72084f9a0960ca6d3ac4a3b16b27e6e5'
+ '66763631a58e597fbd0e69f73bf08c94'
+ 'af8c4e38439d6ad799eb071a9e59742f'
+ 'fba1d988df08fbd991b961a35ccfd56e'
+ 'b1792658b67d09c6cb1b28c73253668a'
+ 'd0398797d63b6ba71478cb6ea00bae35'
+ '8cb0fa6026c0303b603969563b2ef911'
+ 'f1d6d2f4a6a937f802040dc295e4e112'
+ '0f57699e98cc355de7c3bdaccbbfb832'
+ '7b86f62efab9124feda8793fda381a3a'
+ '84f27e886c65c91a2aeb3cfc9bfddff4'
+ 'b55de8bc0f7c5a24de8b53a2fea82478'
+ '954f672c975029c170e7a77156e23557'
+ 'f4758ff2db7be02c7498f635c17505a3'
+ 'f24a6033051be1d638790dc5b1fa9198'
+ '573df4582c8fd6941b044f40900d4c99'
+ 'a413353b6d7b50659b681d76cdd8f776'
+ '3a9147ba480b4aececbc70aa33fc9917'
+ '37319736f6e25d70add33217eff30818'
+ '2a4bc9f1c0b55f37e7fc92ef3ab8cf5d'
+ '1fff9acffe3326545beb09c740d44b6b'
+ '62d690efe261982864d3fa32e0239a96'
+ '082d3648630d6598a39f677da29cff36'
+ '228708e4516f88e68f829f1a9db61c57'
+ '9cc41239414fdc754c3b793f1d7e3687'
+ '760e3e973ba13d237eeec5242d2ac844'
+ '631e269b9b67af6a5051c66fe83817c0'
+ '0a87ae60bf970f9fa37b00d9682e2213'
+ 'dc02816eb0a9abe9ebd92aa80b7d494a'
+ '11d5de175fc96065d89d06474f6aaeeb'
+ '5e0d0cfe252ad6209ca1fb5dba69e0f7'
+ 'ddb128f54193c45b88640cf157420f3b'
+ '53d1ecb05a575de362868efcfdd6043f'
+ 'b7440790e099bc475f5e5fe18440dbe4'
+ '6affd9862729c6c6697f96464c7475bc'
+ 'd6ddadc8f0d32c2c3e601ae825881fac'
+ '4dfb121fdaab263e650fe741f6d353c3'
+ '45b4d8707e1bfd30e0b5393bb2e09533'
+ '51d955380bd47c8c6709a6a47b54f600'
+ '9f6818419d059157cb995a86892ad1f7'
+ 'b7a7679359068b22efc4ba5902a7db39')
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index 3ef4da470..85ede7409 100644
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -12,8 +12,8 @@ _pgo=false
# We're getting this from Debian Sid
_debname=iceweasel
-_debver=11.0
-_debrel=2
+_debver=12.0
+_debrel=7
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -27,11 +27,12 @@ if $_pgo; then
pkgname+='-pgo'
fi
-pkgdesc="A libre version of Debian Iceweasel, the browser based on Mozilla Firefox."
+pkgdesc="A libre version of Debian Iceweasel, the Browser based on Mozilla Firefox."
arch=('i586' 'i686' 'x86_64' 'mips64el')
license=('GPL2' 'MPL' 'LGPL')
depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss>=3.13.1' 'sqlite3' 'startup-notification')
-makedepends=( 'autoconf2.13' 'diffutils' 'imagemagick' 'libidl2' 'librsvg' 'libxslt' 'mesa' 'pkg-config' 'python2' 'quilt' 'unzip' 'wireless_tools' 'yasm' 'zip')
+makedepends=( 'autoconf2.13' 'diffutils' 'imagemagick' 'libidl2' 'librsvg' 'libxslt' 'mesa' 'pkg-config' 'python2' 'quilt' 'unzip' 'wireless_tools' 'zip')
+[ "$CARCH" != "mips64el" ] && makedepends+=('yasm')
if $_pgo; then
makedepends+=('xorg-server-xvfb')
options=(!ccache)
@@ -49,13 +50,13 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
iceweasel-install-dir.patch
region.properties
vendor.js)
-md5sums=('01d9d18909ca9fff2483d8fd779a0f89'
- '59349da94b095fe0623d09ce75696766'
- 'f407208a750cdc9bea3a6a3a3e42dd89'
+md5sums=('b45f57bfe21b0e6db4f0683e794917cb'
+ '08aa0a949d9cbb26116490f7878a62fe'
+ 'd7ad1c025d2442427a06cc702906ef0d'
'eab149c1994ab14392e55af3abb08e80'
'ac29b01c189f20abae2f3eef1618ffc0'
'a485a2b5dc544a8a2bd40c985d2e5813'
- 'addd3a3420cebeda152b447705b086e9'
+ '64be2fab525189c285ee04495d628035'
'e529742c0a425648087bc3ce537fe4c5'
'f1c76e7e244257856a386ca2de69bdf0'
'0d053487907de4376d67d8f499c5502b')
@@ -110,6 +111,20 @@ fi
sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
browser/base/Makefile.in
+ # This is a bug, we should fix it.
+ if [ "$CARCH" = "mips64el" ]; then
+ # Fix MIPS N32 support.
+ sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \
+ js/src/assembler/wtf/Platform.h
+ # Disable JIT.
+ sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \
+ js/src/assembler/wtf/Platform.h
+ sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.in
+ echo 'ac_add_options --disable-methodjit' >> .mozconfig
+ echo 'ac_add_options --disable-tracejit' >> .mozconfig
+ echo 'ac_add_options --disable-jemalloc' >> .mozconfig
+ fi
+
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname"
export PYTHON="/usr/bin/python2"
diff --git a/libre/iceweasel-libre/gcc47.patch b/libre/iceweasel-libre/gcc47.patch
new file mode 100644
index 000000000..829d59510
--- /dev/null
+++ b/libre/iceweasel-libre/gcc47.patch
@@ -0,0 +1,75 @@
+
+# HG changeset patch
+# User Martin Stránský <stransky@redhat.com>
+# Date 1328886461 -3600
+# Node ID 87a5ed480992788832387ba91a77c69fbe9fe349
+# Parent 67017dd3b7f6650e6bcd5b6f545e0309e8de7049
+Bug 725655 - gcc 4.7 build failures (missing headers). r=benjamin
+
+diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc
+--- a/ipc/chromium/src/base/file_util_linux.cc
++++ b/ipc/chromium/src/base/file_util_linux.cc
+@@ -1,15 +1,18 @@
+ // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+ #include "base/file_util.h"
+
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <string>
+ #include <vector>
+
+ #include "base/eintr_wrapper.h"
+ #include "base/file_path.h"
+ #include "base/string_util.h"
+
+diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc
+--- a/ipc/chromium/src/base/message_pump_libevent.cc
++++ b/ipc/chromium/src/base/message_pump_libevent.cc
+@@ -1,16 +1,19 @@
+ // Copyright (c) 2008 The Chromium Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+ #include "base/message_pump_libevent.h"
+
+ #include <errno.h>
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include "eintr_wrapper.h"
+ #include "base/logging.h"
+ #include "base/scoped_nsautorelease_pool.h"
+ #include "base/scoped_ptr.h"
+ #include "base/time.h"
+ #include "third_party/libevent/event.h"
+
+diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc
+--- a/ipc/chromium/src/base/time_posix.cc
++++ b/ipc/chromium/src/base/time_posix.cc
+@@ -8,16 +8,19 @@
+ #include <mach/mach_time.h>
+ #endif
+ #include <sys/time.h>
+ #ifdef ANDROID
+ #include <time64.h>
+ #else
+ #include <time.h>
+ #endif
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <limits>
+
+ #include "base/basictypes.h"
+ #include "base/logging.h"
+
+ namespace base {
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
index c1bb0a8c7..ecebbb3ce 100644
--- a/libre/iceweasel-libre/libre.patch
+++ b/libre/iceweasel-libre/libre.patch
@@ -9,12 +9,12 @@ diff -urN iceweasel-9.0.1.orig/browser/app/profile/firefox.js iceweasel-9.0.1/br
-pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%");
-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=firefox");
--pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%");
-++pref("extensions.getAddons.get.url", "");
-++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
-++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-++pref("extensions.webservice.discoverURL", "http://www.gnu.org/s/gnuzilla/addons.html");
+-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%/%COMPATIBILITY_MODE%");
++pref("extensions.getAddons.get.url", "");
++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.webservice.discoverURL", "http://www.gnu.org/s/gnuzilla/addons.html");
// Blocklist preferences
pref("extensions.blocklist.enabled", true);
@@ -135,23 +135,23 @@ diff -urN iceweasel-9.0.1.orig/layout/ipc/test-ipcbrowser.xul iceweasel-9.0.1/la
diff -urN iceweasel-9.0.1.orig/mobile/xul/app/mobile.js iceweasel-9.0.1/mobile/xul/app/mobile.js
--- mozilla-build/mobile/xul/app/mobile.js.orig 2012-03-20 01:02:30.300551777 -0300
+++ mozilla-build/mobile/xul/app/mobile.js 2012-03-20 01:02:40.820551342 -0300
-@@ -218,13 +218,12 @@
+@@ -220,13 +220,12 @@
/* preferences for the Get Add-ons pane */
pref("extensions.getAddons.cache.enabled", true);
pref("extensions.getAddons.maxResults", 15);
-pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/mobile/recommended/");
-pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/list/featured/all/%MAX_RESULTS%/%OS%/%VERSION%");
-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/mobile/search?q=%TERMS%");
--pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%");
-pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/mobile/");
-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%");
-pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
-++pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
-++pref("extensions.getAddons.recommended.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
-++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-++pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html");
-++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.recommended.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
/* preference for the locale picker */
pref("extensions.getLocales.get.url", "");
diff --git a/libre/initscripts/PKGBUILD b/libre/initscripts/PKGBUILD
index f8b70de29..e58947f8d 100644
--- a/libre/initscripts/PKGBUILD
+++ b/libre/initscripts/PKGBUILD
@@ -1,18 +1,19 @@
# $Id: PKGBUILD 144989 2011-12-13 15:25:38Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Thomas Bächler <thomas@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
# Maintainer (Parabola): Nicolas Reynolds <fauno@kiwwwi.com.ar>
pkgname=initscripts
-pkgver=2012.02.1
-pkgrel=1
+pkgver=2012.05.2
+pkgrel=2
pkgdesc="System initialization/bootup scripts (Parabola branding)"
arch=('any')
url="https://parabolagnulinux.org"
license=('GPL2')
groups=('base')
backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown etc/conf.d/wireless)
-depends=('glibc' 'bash' 'grep' 'coreutils' 'udev>=174' 'iproute2'
+depends=('glibc' 'bash' 'grep' 'coreutils' 'udev>=182' 'udev<=183' 'iproute2'
'ncurses' 'kbd' 'findutils' 'sysvinit')
optdepends=('bridge-utils: Network bridging support'
'dhcpcd: DHCP network configuration'
@@ -22,11 +23,11 @@ makedepends=(asciidoc)
install=initscripts.install
source=("https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.xz"
'wireless.conf.d')
+md5sums=('2b845c1c6660b32720aa12aa5f9649be'
+ '027576534885b8d5dded9be546057b12')
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
install -D -m644 ${srcdir}/wireless.conf.d ${pkgdir}/etc/conf.d/wireless
}
-md5sums=('db7506749d240cbe1e5988d3a81d72a9'
- '027576534885b8d5dded9be546057b12')
diff --git a/libre/kdebase-konqueror-libre/PKGBUILD b/libre/kdebase-konqueror-libre/PKGBUILD
index 719cd3a4f..9c1223d07 100644
--- a/libre/kdebase-konqueror-libre/PKGBUILD
+++ b/libre/kdebase-konqueror-libre/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id$
+# $Id: PKGBUILD 158148 2012-05-03 13:20:53Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
-# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
_pkgname='kdebase-konqueror'
pkgname='kdebase-konqueror-libre'
-pkgver=4.8.2
-pkgrel=1
+pkgver=4.8.3
+pkgrel=1.3
arch=('i686' 'x86_64' 'mips64el')
url="http://kde.org/applications/internet/konqueror/"
license=('GPL' 'LGPL' 'FDL')
groups=('kde' 'kdebase')
makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml')
source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz"
- "konq-about-fsdg.diff")
-sha1sums=('13dc2e6c8639feadc9a5a334d0720a60b1e3ccb6'
+ "konq-about-fsdg.diff")
+sha1sums=('593053e7fdd50b32e6f9264edf2a69e499ddc0a6'
'f41541371414dcbe5e76687835e648112b3ff364')
pkgdesc='KDE File Manager & Web Browser'
depends=('kdebase-dolphin' 'kdebase-keditbookmarks')
diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD
index aa2a51ddb..933527aa9 100644
--- a/libre/kdelibs-libre/PKGBUILD
+++ b/libre/kdelibs-libre/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 155359 2012-04-02 12:16:32Z andrea $
+# $Id: PKGBUILD 158132 2012-05-03 13:20:07Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
_pkgname=kdelibs
pkgname=kdelibs-libre
-pkgver=4.8.2
+pkgver=4.8.3
pkgrel=1
pkgdesc="KDE Core Libraries"
arch=('i686' 'x86_64' 'mips64el')
@@ -24,7 +24,7 @@ source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.
'kde-applications-menu.patch'
'use-pythondontwritebytecode.patch'
'khtml-fsdg.diff')
-sha1sums=('f844ae0877880563361144d9577706064c3483e7'
+sha1sums=('50633efa4ea2a133e51bf55286ff754c46f2eae2'
'86ee8c8660f19de8141ac99cd6943964d97a1ed7'
'a1e35760d5b4e29471ad357c963a343c67200f32'
'a1502a964081ad583a00cf90c56e74bf60121830')
diff --git a/libre/kdenetwork-kopete-libre/PKGBUILD b/libre/kdenetwork-kopete-libre/PKGBUILD
new file mode 100644
index 000000000..1c2292a45
--- /dev/null
+++ b/libre/kdenetwork-kopete-libre/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 158333 2012-05-03 17:21:20Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+
+pkgbase=kdenetwork
+pkgname=('kdenetwork-kopete-libre')
+pkgver=4.8.3
+pkgrel=3.1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdenetwork')
+makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp'
+ 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn'
+ 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu'
+ 'libktorrent' 'libmms' 'mediastreamer')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz"
+ 'gcc47.patch')
+sha1sums=('9da87317c6a10243d6fff8c121c04146415f65cd'
+ '0e1325569e296d98e7b1be12305c1c018104685b')
+
+build() {
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+ patch -p4 -i "${srcdir}"/gcc47.patch
+
+ cd "${srcdir}"
+# Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34.
+ sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' "${pkgbase}-${pkgver}/kopete/protocols/CMakeLists.txt"
+ rm -rf "${pkgbase}-${pkgver}/kopete/protocols/skype"
+ sed 's/, Skype//' -i "${pkgbase}-${pkgver}/doc/kopete/index.docbook"
+
+ mkdir build
+ cd build
+ cmake ../${pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMOZPLUGIN_INSTALL_DIR=/usr/lib/mozilla/plugins/ \
+ -DWITH_Xmms=OFF \
+ -DWITH_LibMeanwhile=OFF \
+ -DWITH_qq=OFF
+ make
+}
+
+package_kdenetwork-kopete-libre() {
+ pkgdesc='Instant Messenger (without skype support)'
+ depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn'
+ 'libidn' 'qimageblitz' 'libgadu' 'mediastreamer')
+ conflicts=('kdenetwork-kopete')
+ provides=("kdenetwork-kopete=${pkgver}")
+ replaces=('kdenetwork-kopete')
+ url="http://kde.org/applications/internet/kopete/"
+ install='kdenetwork-kopete.install'
+ cd $srcdir/build/kopete
+ make DESTDIR=$pkgdir install
+ cd $srcdir/build/doc/kopete
+ make DESTDIR=$pkgdir install
+}
diff --git a/libre/kdenetwork-kopete-libre/gcc47.patch b/libre/kdenetwork-kopete-libre/gcc47.patch
new file mode 100644
index 000000000..78af901dc
--- /dev/null
+++ b/libre/kdenetwork-kopete-libre/gcc47.patch
@@ -0,0 +1,59 @@
+--- branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/socketaddress.cc 2012/05/03 16:03:23 1292761
++++ branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/socketaddress.cc 2012/05/03 16:11:00 1292762
+@@ -31,6 +31,7 @@
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <netdb.h>
++#include <unistd.h>
+ #endif
+
+ #include <cstring>
+--- branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/ssladapter.cc 2012/05/03 16:03:23 1292761
++++ branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/ssladapter.cc 2012/05/03 16:11:00 1292762
+@@ -27,6 +27,12 @@
+
+ #include "talk/base/ssladapter.h"
+
++#ifdef POSIX
++extern "C" {
++#include <unistd.h>
++}
++#endif
++
+ #if !defined(SSL_USE_SCHANNEL) && !defined(SSL_USE_OPENSSL)
+ #ifdef WIN32
+ #define SSL_USE_SCHANNEL 1
+--- branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/stringutils.h 2012/05/03 16:03:23 1292761
++++ branches/KDE/4.8/kdenetwork/kopete/protocols/jabber/googletalk/libjingle/talk/base/stringutils.h 2012/05/03 16:11:00 1292762
+@@ -198,15 +198,6 @@
+ }
+
+ template<class CTYPE>
+-size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) {
+- va_list args;
+- va_start(args, format);
+- size_t len = vsprintfn(buffer, buflen, format, args);
+- va_end(args);
+- return len;
+-}
+-
+-template<class CTYPE>
+ size_t vsprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format,
+ va_list args) {
+ int len = vsnprintf(buffer, buflen, format, args);
+@@ -217,6 +208,15 @@
+ return len;
+ }
+
++template<class CTYPE>
++size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) {
++ va_list args;
++ va_start(args, format);
++ size_t len = vsprintfn(buffer, buflen, format, args);
++ va_end(args);
++ return len;
++}
++
+ ///////////////////////////////////////////////////////////////////////////////
+ // Allow safe comparing and copying ascii (not UTF-8) with both wide and
+ // non-wide character strings.
diff --git a/libre/kdenetwork-libre/kdenetwork-kopete.install b/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install
index 5495fb1b5..5495fb1b5 100644
--- a/libre/kdenetwork-libre/kdenetwork-kopete.install
+++ b/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install
diff --git a/libre/kdenetwork-libre/kdenetwork.install b/libre/kdenetwork-kopete-libre/kdenetwork.install
index e70c054ec..e70c054ec 100644
--- a/libre/kdenetwork-libre/kdenetwork.install
+++ b/libre/kdenetwork-kopete-libre/kdenetwork.install
diff --git a/libre/kdenetwork-libre/PKGBUILD b/libre/kdenetwork-libre/PKGBUILD
deleted file mode 100644
index e39929f4c..000000000
--- a/libre/kdenetwork-libre/PKGBUILD
+++ /dev/null
@@ -1,121 +0,0 @@
-# $Id: PKGBUILD 154726 2012-03-30 16:15:21Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
-
-_pkgbase=kdenetwork
-pkgbase=kdenetwork-libre
-pkgname=('kdenetwork-filesharing'
- 'kdenetwork-kdnssd'
- 'kdenetwork-kget'
- 'kdenetwork-kopete-libre'
- 'kdenetwork-kppp'
- 'kdenetwork-krdc'
- 'kdenetwork-krfb')
-pkgver=4.8.2
-pkgrel=1
-arch=('i686' 'x86_64' 'mips64el')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdenetwork')
-makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp'
- 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn'
- 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu'
- 'libktorrent' 'libmms' 'mediastreamer')
-source=("http://download.kde.org/stable/${pkgver}/src/${_pkgbase}-${pkgver}.tar.xz")
-sha1sums=('a899a9ef1637612a5ec14bb3ff950f3ed565d60e')
-
-build() {
- cd "${srcdir}"
-
-# Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34.
- sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' "${_pkgbase}-${pkgver}/kopete/protocols/CMakeLists.txt"
- rm -rf "${_pkgbase}-${pkgver}/kopete/protocols/skype"
- sed 's/, Skype//' -i "${_pkgbase}-${pkgver}/doc/kopete/index.docbook"
-
- mkdir build
- cd build
- cmake ../${_pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMOZPLUGIN_INSTALL_DIR=/usr/lib/mozilla/plugins/ \
- -DWITH_Xmms=OFF \
- -DWITH_LibMeanwhile=OFF
- make
-}
-
-package_kdenetwork-filesharing() {
- pkgdesc='Konqueror properties dialog plugin to share a directory with the local network'
- depends=('kdelibs' 'smbclient')
- install='kdenetwork.install'
- cd $srcdir/build/filesharing
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-kdnssd() {
- pkgdesc='Monitors the network for DNS-SD services'
- depends=('kdelibs')
- cd $srcdir/build/kdnssd
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-kget() {
- pkgdesc='Download Manager'
- depends=('kdebase-workspace' 'kdebase-lib' 'libktorrent' 'libmms')
- url="http://kde.org/applications/internet/kget/"
- install='kdenetwork-kget.install'
- cd $srcdir/build/kget
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kget
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-kopete-libre() {
- pkgdesc='Instant Messenger (without skype support)'
- depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn'
- 'libidn' 'qimageblitz' 'libgadu' 'mediastreamer')
- conflicts=('kdenetwork-kopete')
- provides=("kdenetwork-kopete=${pkgver}")
- replaces=('kdenetwork-kopete')
- url="http://kde.org/applications/internet/kopete/"
- install='kdenetwork-kopete.install'
- cd $srcdir/build/kopete
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kopete
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-kppp() {
- pkgdesc='Internet Dial-Up Tool'
- depends=('kdebase-runtime' 'ppp')
- url="http://kde.org/applications/internet/kppp/"
- install='kdenetwork-kppp.install'
- cd $srcdir/build/kppp
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kppp
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-krdc() {
- pkgdesc='Remote Desktop Client'
- depends=('kdebase-runtime' 'libvncserver' 'rdesktop')
- optdepends=('kdebase-keditbookmarks: to edit bookmarks')
- url="http://kde.org/applications/internet/krdc/"
- cd $srcdir/build/krdc
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/krdc
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-krfb() {
- pkgdesc='Desktop Sharing'
- # note on libxdamage:
- # not detected by namcap because libgl depends on it
- # but nvidia providing libgl does not depend on libxdamage
- depends=('kdebase-runtime' 'libvncserver' 'libxdamage')
- cd $srcdir/build/krfb
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/krfb
- make DESTDIR=$pkgdir install
-}
diff --git a/libre/kdenetwork-libre/kdenetwork-kppp.install b/libre/kdenetwork-libre/kdenetwork-kppp.install
deleted file mode 100644
index 5495fb1b5..000000000
--- a/libre/kdenetwork-libre/kdenetwork-kppp.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/libre/kdeutils-ark-libre/PKGBUILD b/libre/kdeutils-ark-libre/PKGBUILD
index 8f3ff312b..0bda68d17 100644
--- a/libre/kdeutils-ark-libre/PKGBUILD
+++ b/libre/kdeutils-ark-libre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 154731 2012-03-30 16:15:36Z andrea $
+# $Id: PKGBUILD 158207 2012-05-03 13:23:51Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
_pkgname=kdeutils-ark
pkgname=kdeutils-ark-libre
-pkgver=4.8.2
+pkgver=4.8.3
pkgrel=1
pkgdesc='Archiving Tool'
url='http://kde.org/applications/utilities/ark/'
@@ -19,7 +19,7 @@ replaces=('kdeutils-ark')
conflicts=('kdeutils-ark')
install=${_pkgname}.install
source=("http://download.kde.org/stable/${pkgver}/src/ark-${pkgver}.tar.xz")
-sha1sums=('d39be864ed818dd49aeba84ca4c02c0e5813eadf')
+sha1sums=('9ff1fff082f53f31d0d31f2570005ae551fd2164')
build() {
cd "${srcdir}"
diff --git a/libre/kile-libre/PKGBUILD b/libre/kile-libre/PKGBUILD
index d41e129b3..be5acfd2f 100644
--- a/libre/kile-libre/PKGBUILD
+++ b/libre/kile-libre/PKGBUILD
@@ -1,27 +1,33 @@
-# Parabola maintainer: Michał Masłowski <mtjm@mtjm.eu>
-# $Id: PKGBUILD 147972 2012-01-29 10:07:14Z ronald $
+# $Id: PKGBUILD 159260 2012-05-19 19:37:30Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
_pkgname=kile
pkgname=kile-libre
-pkgver=2.1.1
-pkgrel=1.1
+pkgver=2.1.2
+pkgrel=1
pkgdesc="A user friendly TeX/LaTeX frontend for KDE"
arch=("i686" "x86_64")
license=('GPL2')
url="http://kile.sourceforge.net/"
-depends=('kdebase-runtime' 'texlive-core' 'kdebase-kwrite')
+depends=('kdebase-runtime' 'texlive-core' 'kdebase-katepart')
makedepends=('cmake' 'automoc4')
conflicts=('kile')
replaces=('kile')
provides=('kile')
install=${_pkgname}.install
-source=("http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.bz2")
-sha1sums=('36987669dd9db05b063a0b4650ef3589dc79f711')
+source=("http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.bz2"
+ "no-acroread.patch")
+sha1sums=('238a8fde4fca00e06b314c13671ff53e2ac4845c'
+ '9bbe5d1b0e2a78b13667fcf4e5e21f801447f9d6')
build() {
- cd "${srcdir}"
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ # Don't recommend a nonfree PDF viewer.
+ patch -Np1 -i "${srcdir}/no-acroread.patch"
+ cd ..
mkdir build
cd build
cmake ../${_pkgname}-${pkgver} \
diff --git a/libre/lilo/.directory b/libre/lilo/.directory
new file mode 100644
index 000000000..ba03b0e05
--- /dev/null
+++ b/libre/lilo/.directory
@@ -0,0 +1,2 @@
+[Dolphin]
+Timestamp=2012,5,3,19,29,58
diff --git a/libre/lilo/PKGBUILD b/libre/lilo/PKGBUILD
index 169037bc2..8103a1ac1 100644
--- a/libre/lilo/PKGBUILD
+++ b/libre/lilo/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=lilo
pkgver=23.2
-pkgrel=3
+pkgrel=3.1
pkgdesc="A bootloader for Linux (Parabola rebranded)"
arch=('i686' 'x86_64')
url="https://alioth.debian.org/projects/lilo/"
@@ -19,9 +19,6 @@ backup=('etc/lilo.conf')
depends=('device-mapper' 'coreutils')
makedepends=('bin86' 'sharutils')
optdepends=('perl: to use keytab-lilo')
-replaces=('lilo')
-conflicts=('lilo')
-provides=("lilo=$pkgver")
install=lilo.install
options=('!makeflags')
source=("http://lilo.alioth.debian.org/ftp/sources/${pkgname}-${pkgver}.tar.gz"
diff --git a/libre/linux-libre-lts/CVE-2012-0056.patch b/libre/linux-libre-lts/CVE-2012-0056.patch
deleted file mode 100644
index 4098f3506..000000000
--- a/libre/linux-libre-lts/CVE-2012-0056.patch
+++ /dev/null
@@ -1,269 +0,0 @@
-From e268337dfe26dfc7efd422a804dbb27977a3cccc Mon Sep 17 00:00:00 2001
-From: Linus Torvalds <torvalds@linux-foundation.org>
-Date: Tue, 17 Jan 2012 15:21:19 -0800
-Subject: proc: clean up and fix /proc/<pid>/mem handling
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Linus Torvalds <torvalds@linux-foundation.org>
-
-commit e268337dfe26dfc7efd422a804dbb27977a3cccc upstream.
-
-Jüri Aedla reported that the /proc/<pid>/mem handling really isn't very
-robust, and it also doesn't match the permission checking of any of the
-other related files.
-
-This changes it to do the permission checks at open time, and instead of
-tracking the process, it tracks the VM at the time of the open. That
-simplifies the code a lot, but does mean that if you hold the file
-descriptor open over an execve(), you'll continue to read from the _old_
-VM.
-
-That is different from our previous behavior, but much simpler. If
-somebody actually finds a load where this matters, we'll need to revert
-this commit.
-
-I suspect that nobody will ever notice - because the process mapping
-addresses will also have changed as part of the execve. So you cannot
-actually usefully access the fd across a VM change simply because all
-the offsets for IO would have changed too.
-
-Reported-by: Jüri Aedla <asd@ut.ee>
-Cc: Al Viro <viro@zeniv.linux.org.uk>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- fs/proc/base.c | 145 +++++++++++++++------------------------------------------
- 1 file changed, 39 insertions(+), 106 deletions(-)
-
---- a/fs/proc/base.c
-+++ b/fs/proc/base.c
-@@ -194,65 +194,7 @@ static int proc_root_link(struct inode *
- return result;
- }
-
--static struct mm_struct *__check_mem_permission(struct task_struct *task)
--{
-- struct mm_struct *mm;
--
-- mm = get_task_mm(task);
-- if (!mm)
-- return ERR_PTR(-EINVAL);
--
-- /*
-- * A task can always look at itself, in case it chooses
-- * to use system calls instead of load instructions.
-- */
-- if (task == current)
-- return mm;
--
-- /*
-- * If current is actively ptrace'ing, and would also be
-- * permitted to freshly attach with ptrace now, permit it.
-- */
-- if (task_is_stopped_or_traced(task)) {
-- int match;
-- rcu_read_lock();
-- match = (tracehook_tracer_task(task) == current);
-- rcu_read_unlock();
-- if (match && ptrace_may_access(task, PTRACE_MODE_ATTACH))
-- return mm;
-- }
--
-- /*
-- * No one else is allowed.
-- */
-- mmput(mm);
-- return ERR_PTR(-EPERM);
--}
--
--/*
-- * If current may access user memory in @task return a reference to the
-- * corresponding mm, otherwise ERR_PTR.
-- */
--static struct mm_struct *check_mem_permission(struct task_struct *task)
--{
-- struct mm_struct *mm;
-- int err;
--
-- /*
-- * Avoid racing if task exec's as we might get a new mm but validate
-- * against old credentials.
-- */
-- err = mutex_lock_killable(&task->signal->cred_guard_mutex);
-- if (err)
-- return ERR_PTR(err);
--
-- mm = __check_mem_permission(task);
-- mutex_unlock(&task->signal->cred_guard_mutex);
--
-- return mm;
--}
--
--struct mm_struct *mm_for_maps(struct task_struct *task)
-+static struct mm_struct *mm_access(struct task_struct *task, unsigned int mode)
- {
- struct mm_struct *mm;
- int err;
-@@ -263,7 +205,7 @@ struct mm_struct *mm_for_maps(struct tas
-
- mm = get_task_mm(task);
- if (mm && mm != current->mm &&
-- !ptrace_may_access(task, PTRACE_MODE_READ)) {
-+ !ptrace_may_access(task, mode)) {
- mmput(mm);
- mm = ERR_PTR(-EACCES);
- }
-@@ -272,6 +214,11 @@ struct mm_struct *mm_for_maps(struct tas
- return mm;
- }
-
-+struct mm_struct *mm_for_maps(struct task_struct *task)
-+{
-+ return mm_access(task, PTRACE_MODE_READ);
-+}
-+
- static int proc_pid_cmdline(struct task_struct *task, char * buffer)
- {
- int res = 0;
-@@ -816,38 +763,39 @@ static const struct file_operations proc
-
- static int mem_open(struct inode* inode, struct file* file)
- {
-- file->private_data = (void*)((long)current->self_exec_id);
-+ struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode);
-+ struct mm_struct *mm;
-+
-+ if (!task)
-+ return -ESRCH;
-+
-+ mm = mm_access(task, PTRACE_MODE_ATTACH);
-+ put_task_struct(task);
-+
-+ if (IS_ERR(mm))
-+ return PTR_ERR(mm);
-+
- /* OK to pass negative loff_t, we can catch out-of-range */
- file->f_mode |= FMODE_UNSIGNED_OFFSET;
-+ file->private_data = mm;
-+
- return 0;
- }
-
- static ssize_t mem_read(struct file * file, char __user * buf,
- size_t count, loff_t *ppos)
- {
-- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode);
-+ int ret;
- char *page;
- unsigned long src = *ppos;
-- int ret = -ESRCH;
-- struct mm_struct *mm;
-+ struct mm_struct *mm = file->private_data;
-
-- if (!task)
-- goto out_no_task;
-+ if (!mm)
-+ return 0;
-
-- ret = -ENOMEM;
- page = (char *)__get_free_page(GFP_TEMPORARY);
- if (!page)
-- goto out;
--
-- mm = check_mem_permission(task);
-- ret = PTR_ERR(mm);
-- if (IS_ERR(mm))
-- goto out_free;
--
-- ret = -EIO;
--
-- if (file->private_data != (void*)((long)current->self_exec_id))
-- goto out_put;
-+ return -ENOMEM;
-
- ret = 0;
-
-@@ -874,13 +822,7 @@ static ssize_t mem_read(struct file * fi
- }
- *ppos = src;
-
--out_put:
-- mmput(mm);
--out_free:
- free_page((unsigned long) page);
--out:
-- put_task_struct(task);
--out_no_task:
- return ret;
- }
-
-@@ -889,27 +831,15 @@ static ssize_t mem_write(struct file * f
- {
- int copied;
- char *page;
-- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode);
- unsigned long dst = *ppos;
-- struct mm_struct *mm;
-+ struct mm_struct *mm = file->private_data;
-
-- copied = -ESRCH;
-- if (!task)
-- goto out_no_task;
-+ if (!mm)
-+ return 0;
-
-- copied = -ENOMEM;
- page = (char *)__get_free_page(GFP_TEMPORARY);
- if (!page)
-- goto out_task;
--
-- mm = check_mem_permission(task);
-- copied = PTR_ERR(mm);
-- if (IS_ERR(mm))
-- goto out_free;
--
-- copied = -EIO;
-- if (file->private_data != (void *)((long)current->self_exec_id))
-- goto out_mm;
-+ return -ENOMEM;
-
- copied = 0;
- while (count > 0) {
-@@ -933,13 +863,7 @@ static ssize_t mem_write(struct file * f
- }
- *ppos = dst;
-
--out_mm:
-- mmput(mm);
--out_free:
- free_page((unsigned long) page);
--out_task:
-- put_task_struct(task);
--out_no_task:
- return copied;
- }
-
-@@ -959,11 +883,20 @@ loff_t mem_lseek(struct file *file, loff
- return file->f_pos;
- }
-
-+static int mem_release(struct inode *inode, struct file *file)
-+{
-+ struct mm_struct *mm = file->private_data;
-+
-+ mmput(mm);
-+ return 0;
-+}
-+
- static const struct file_operations proc_mem_operations = {
- .llseek = mem_lseek,
- .read = mem_read,
- .write = mem_write,
- .open = mem_open,
-+ .release = mem_release,
- };
-
- static ssize_t environ_read(struct file *file, char __user *buf,
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index 4c7de83e5..3593442f9 100644
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -9,9 +9,9 @@ pkgname=('linux-libre-lts' 'linux-libre-lts-headers') # Build stock -LIBRE kerne
# pkgname=linux-custom # Build kernel with a different name
_kernelname=-LIBRE-LTS
_basekernel=3.0
-_sublevel=29
+_sublevel=32
pkgver=${_basekernel}.${_sublevel}
-_lxopkgver=${_basekernel}.27 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.31 # nearly always the same as pkgver
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
@@ -32,17 +32,17 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'ext4-options.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
md5sums=('5f64180fe7df4e574dac5911b78f5067'
- '6c1dcf39863434add4043d0a3678001f'
+ '1fc88c19baf04fbb37385712ad9c4d57'
'df7e69a7b238c6492b589cc2beb894d2'
'2ef390e115d6ae1c074c30fec9258442'
- 'd2c0701480bce49fd4b40dc46b9863f1'
+ 'c072b17032e80debc6a8626299245d46'
'2967cecc3af9f954ccc822fd63dca6ff'
'8267264d9a8966e57fdacd1fa1fc65c4'
'04b21c79df0a952c22d681dd4f4562df'
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
'f36222e7ce20c8e4dc27376f9be60f6c'
- '6f0a19113e73495e24873c31feab8464')
+ 'bacdceaf5ce186cfe69dffc89cd246a0')
if [ "$CARCH" != "mips64el" ]; then
# Don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
@@ -141,7 +141,7 @@ build() {
package_linux-libre-lts() {
pkgdesc="The Linux-libre Kernel and modules - stable longtime supported kernel package suitable for servers"
- depends=('coreutils' 'module-init-tools>=3.16')
+ depends=('coreutils' 'kmod')
optdepends=('crda: to set the correct wireless channels of your country')
provides=('kernel26-lts' "linux-lts=$pkgver")
conflicts=('kernel26-lts' 'kernel26-libre-lts' 'linux-lts')
@@ -199,10 +199,10 @@ package_linux-libre-lts() {
# gzip -9 all modules to save 100MB of space
find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
# make room for external modules
- ln -s "../extramodules-${_basekernel}${_kernelname:--LIBRE}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
+ ln -s "../extramodules-${_basekernel}${_kernelname:--LIBRE-LTS}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from post_install/upgrade
- mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}"
- echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}/version"
+ mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE-LTS}"
+ echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE-LTS}/version"
}
package_linux-libre-lts-headers() {
@@ -348,7 +348,7 @@ package_linux-libre-lts-headers() {
done
# remove unneeded architectures
- rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+ rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,microblaze,mn10300,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,um,unicore32,v850,xtensa}
if [ "$CARCH" = "mips64el" ]; then
rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
else
diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install
index 714f68a17..6cd9761a7 100644
--- a/libre/linux-libre-lts/linux-libre-lts.install
+++ b/libre/linux-libre-lts/linux-libre-lts.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-lts
-KERNEL_VERSION=3.0.29-1-LIBRE-LTS
+KERNEL_VERSION=3.0.32-1-LIBRE-LTS
post_install () {
# updating module dependencies
diff --git a/libre/linux-libre-lts/linux-libre-lts.preset b/libre/linux-libre-lts/linux-libre-lts.preset
index 4621af434..37cf35ed0 100644
--- a/libre/linux-libre-lts/linux-libre-lts.preset
+++ b/libre/linux-libre-lts/linux-libre-lts.preset
@@ -1,4 +1,4 @@
-# mkinitcpio preset file for the 'linux' package
+# mkinitcpio preset file for the 'linux-libre-lts' package
ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux-libre-lts"
diff --git a/libre/linux-libre-tools/PKGBUILD b/libre/linux-libre-tools/PKGBUILD
index d30a61137..b7dc50f94 100644
--- a/libre/linux-libre-tools/PKGBUILD
+++ b/libre/linux-libre-tools/PKGBUILD
@@ -3,9 +3,12 @@
# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
pkgbase=linux-libre-tools
+_pkgname=('perf' 'cpupower')
pkgname=('perf-libre' 'cpupower-libre')
-pkgver=3.3
-kernver=${pkgver}
+_basekernel=3.4
+#_sublevel=1
+#pkgver=${_basekernel}.${_sublevel}
+pkgver=${_basekernel}
pkgrel=2
license=('GPL2')
arch=('i686' 'x86_64' 'mips64el')
@@ -13,39 +16,58 @@ url='http://linux-libre.fsfla.org/'
options=('!strip')
makedepends=('asciidoc' 'xmlto')
# split packages need all package dependencies set manually in makedepends
-makedepends+=('python2-libre' 'libnewt' 'elfutils' 'pciutils')
-source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/$kernver-gnu/linux-libre-$kernver-gnu.tar.xz"
+makedepends+=('python2' 'libnewt' 'elfutils' 'pciutils')
+source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz"
+ #"http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz"
'cpupower.rc'
'cpupower.conf'
'cpupower.service')
-md5sums=('5487da14ca81715a469c7594d39722fa'
- '26af384ca282bc0dc38ff65acc7bb4b9'
+md5sums=('a5e128ca059cceb8b69148b41ff4ac6f'
+ '73dbc931e86b3b73d6e2338dcbee81a4'
'18d5aa9e4c6bb23bb02bf65e155e0f0e'
'20870541e88109d2f153be3c58a277f1')
build() {
+ cd "${srcdir}/linux-${_basekernel}"
+
+ if [ "${_basekernel}" != "${pkgver}" ]; then
+ patch -Np1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu"
+ fi
+
+ cd ${srcdir}
msg2 'Build perf'
- cd linux-$kernver/tools/perf
- make PYTHON=python2 DESTDIR="${pkgdir}/usr" perfexecdir="lib/$pkgname" \
- PERF_VERSION=$pkgver-$pkgrel all man
+ pushd linux-$pkgver/tools/perf
+ make \
+ DESTDIR="$pkgdir/usr" \
+ perfexecdir="lib/$_pkgname" \
+ PYTHON=python2 \
+ NO_GTK2=1 \
+ PERF_VERSION=$pkgver-$pkgrel \
+ all man
+ popd
msg2 'Build cpupower'
+ cd linux-$pkgver/tools/power/cpupower
# we cannot use --as-needed
LDFLAGS=${LDFLAGS:+"$LDFLAGS,--no-as-needed"}
- cd "$srcdir/linux-$kernver/tools/power/cpupower"
make VERSION=$pkgver-$pkgrel
}
package_perf-libre() {
pkgdesc='Linux-libre kernel performance auditing tool'
- depends=('python2-libre' 'libnewt' 'elfutils')
+ depends=('python2' 'libnewt' 'elfutils')
replaces=('perf')
conflicts=('perf')
provides=("perf=$pkgver")
- cd linux-${kernver}/tools/perf
- make PYTHON=python2 DESTDIR="${pkgdir}/usr" perfexecdir="lib/$pkgname" \
- PERF_VERSION=$pkgver install install-man
+ cd linux-$pkgver/tools/perf
+ make \
+ DESTDIR="$pkgdir/usr" \
+ perfexecdir="lib/$_pkgname" \
+ PYTHON=python2 \
+ NO_GTK2=1 \
+ PERF_VERSION=$pkgver-$pkgrel \
+ install install-man
}
package_cpupower-libre() {
@@ -56,18 +78,17 @@ package_cpupower-libre() {
conflicts=('cpupower' 'cpufrequtils')
provides=("cpupower=$pkgver")
- cd linux-$kernver/tools/power/cpupower
+ pushd linux-$pkgver/tools/power/cpupower
make \
DESTDIR="$pkgdir" \
mandir='/usr/share/man' \
docdir='/usr/share/doc/cpupower' \
install install-man
+ popd
# install rc.d script
- cd "$srcdir"
install -D -m 755 cpupower.rc "$pkgdir/etc/rc.d/cpupower"
install -D -m 644 cpupower.conf "$pkgdir/etc/conf.d/cpupower"
install -D -m 644 cpupower.service "$pkgdir/usr/lib/systemd/system/cpupower.service"
-
}
# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/linux-libre-tools/cpupower.rc b/libre/linux-libre-tools/cpupower.rc
index 9b0bcddb7..27a491e95 100644
--- a/libre/linux-libre-tools/cpupower.rc
+++ b/libre/linux-libre-tools/cpupower.rc
@@ -33,7 +33,7 @@ case "$1" in
(($fail > 0)) && stat_fail && exit 1 || stat_done
;;
*)
- echo "usage: $0 {start|restart}"
+ echo "usage: ${0##*/} {start|restart}"
esac
true
diff --git a/libre/linux-libre/CVE-2012-0056.patch b/libre/linux-libre/CVE-2012-0056.patch
deleted file mode 100644
index 6a83fef1c..000000000
--- a/libre/linux-libre/CVE-2012-0056.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-From e268337dfe26dfc7efd422a804dbb27977a3cccc Mon Sep 17 00:00:00 2001
-From: Linus Torvalds <torvalds@linux-foundation.org>
-Date: Tue, 17 Jan 2012 15:21:19 -0800
-Subject: [PATCH] proc: clean up and fix /proc/<pid>/mem handling
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-Jüri Aedla reported that the /proc/<pid>/mem handling really isn't very
-robust, and it also doesn't match the permission checking of any of the
-other related files.
-
-This changes it to do the permission checks at open time, and instead of
-tracking the process, it tracks the VM at the time of the open. That
-simplifies the code a lot, but does mean that if you hold the file
-descriptor open over an execve(), you'll continue to read from the _old_
-VM.
-
-That is different from our previous behavior, but much simpler. If
-somebody actually finds a load where this matters, we'll need to revert
-this commit.
-
-I suspect that nobody will ever notice - because the process mapping
-addresses will also have changed as part of the execve. So you cannot
-actually usefully access the fd across a VM change simply because all
-the offsets for IO would have changed too.
-
-Reported-by: Jüri Aedla <asd@ut.ee>
-Cc: Al Viro <viro@zeniv.linux.org.uk>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
----
- fs/proc/base.c | 145 +++++++++++++++-----------------------------------------
- 1 files changed, 39 insertions(+), 106 deletions(-)
-
-diff --git a/fs/proc/base.c b/fs/proc/base.c
-index 5485a53..662ddf2 100644
---- a/fs/proc/base.c
-+++ b/fs/proc/base.c
-@@ -198,65 +198,7 @@ static int proc_root_link(struct dentry *dentry, struct path *path)
- return result;
- }
-
--static struct mm_struct *__check_mem_permission(struct task_struct *task)
--{
-- struct mm_struct *mm;
--
-- mm = get_task_mm(task);
-- if (!mm)
-- return ERR_PTR(-EINVAL);
--
-- /*
-- * A task can always look at itself, in case it chooses
-- * to use system calls instead of load instructions.
-- */
-- if (task == current)
-- return mm;
--
-- /*
-- * If current is actively ptrace'ing, and would also be
-- * permitted to freshly attach with ptrace now, permit it.
-- */
-- if (task_is_stopped_or_traced(task)) {
-- int match;
-- rcu_read_lock();
-- match = (ptrace_parent(task) == current);
-- rcu_read_unlock();
-- if (match && ptrace_may_access(task, PTRACE_MODE_ATTACH))
-- return mm;
-- }
--
-- /*
-- * No one else is allowed.
-- */
-- mmput(mm);
-- return ERR_PTR(-EPERM);
--}
--
--/*
-- * If current may access user memory in @task return a reference to the
-- * corresponding mm, otherwise ERR_PTR.
-- */
--static struct mm_struct *check_mem_permission(struct task_struct *task)
--{
-- struct mm_struct *mm;
-- int err;
--
-- /*
-- * Avoid racing if task exec's as we might get a new mm but validate
-- * against old credentials.
-- */
-- err = mutex_lock_killable(&task->signal->cred_guard_mutex);
-- if (err)
-- return ERR_PTR(err);
--
-- mm = __check_mem_permission(task);
-- mutex_unlock(&task->signal->cred_guard_mutex);
--
-- return mm;
--}
--
--struct mm_struct *mm_for_maps(struct task_struct *task)
-+static struct mm_struct *mm_access(struct task_struct *task, unsigned int mode)
- {
- struct mm_struct *mm;
- int err;
-@@ -267,7 +209,7 @@ struct mm_struct *mm_for_maps(struct task_struct *task)
-
- mm = get_task_mm(task);
- if (mm && mm != current->mm &&
-- !ptrace_may_access(task, PTRACE_MODE_READ)) {
-+ !ptrace_may_access(task, mode)) {
- mmput(mm);
- mm = ERR_PTR(-EACCES);
- }
-@@ -276,6 +218,11 @@ struct mm_struct *mm_for_maps(struct task_struct *task)
- return mm;
- }
-
-+struct mm_struct *mm_for_maps(struct task_struct *task)
-+{
-+ return mm_access(task, PTRACE_MODE_READ);
-+}
-+
- static int proc_pid_cmdline(struct task_struct *task, char * buffer)
- {
- int res = 0;
-@@ -752,38 +699,39 @@ static const struct file_operations proc_single_file_operations = {
-
- static int mem_open(struct inode* inode, struct file* file)
- {
-- file->private_data = (void*)((long)current->self_exec_id);
-+ struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode);
-+ struct mm_struct *mm;
-+
-+ if (!task)
-+ return -ESRCH;
-+
-+ mm = mm_access(task, PTRACE_MODE_ATTACH);
-+ put_task_struct(task);
-+
-+ if (IS_ERR(mm))
-+ return PTR_ERR(mm);
-+
- /* OK to pass negative loff_t, we can catch out-of-range */
- file->f_mode |= FMODE_UNSIGNED_OFFSET;
-+ file->private_data = mm;
-+
- return 0;
- }
-
- static ssize_t mem_read(struct file * file, char __user * buf,
- size_t count, loff_t *ppos)
- {
-- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode);
-+ int ret;
- char *page;
- unsigned long src = *ppos;
-- int ret = -ESRCH;
-- struct mm_struct *mm;
-+ struct mm_struct *mm = file->private_data;
-
-- if (!task)
-- goto out_no_task;
-+ if (!mm)
-+ return 0;
-
-- ret = -ENOMEM;
- page = (char *)__get_free_page(GFP_TEMPORARY);
- if (!page)
-- goto out;
--
-- mm = check_mem_permission(task);
-- ret = PTR_ERR(mm);
-- if (IS_ERR(mm))
-- goto out_free;
--
-- ret = -EIO;
--
-- if (file->private_data != (void*)((long)current->self_exec_id))
-- goto out_put;
-+ return -ENOMEM;
-
- ret = 0;
-
-@@ -810,13 +758,7 @@ static ssize_t mem_read(struct file * file, char __user * buf,
- }
- *ppos = src;
-
--out_put:
-- mmput(mm);
--out_free:
- free_page((unsigned long) page);
--out:
-- put_task_struct(task);
--out_no_task:
- return ret;
- }
-
-@@ -825,27 +767,15 @@ static ssize_t mem_write(struct file * file, const char __user *buf,
- {
- int copied;
- char *page;
-- struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode);
- unsigned long dst = *ppos;
-- struct mm_struct *mm;
-+ struct mm_struct *mm = file->private_data;
-
-- copied = -ESRCH;
-- if (!task)
-- goto out_no_task;
-+ if (!mm)
-+ return 0;
-
-- copied = -ENOMEM;
- page = (char *)__get_free_page(GFP_TEMPORARY);
- if (!page)
-- goto out_task;
--
-- mm = check_mem_permission(task);
-- copied = PTR_ERR(mm);
-- if (IS_ERR(mm))
-- goto out_free;
--
-- copied = -EIO;
-- if (file->private_data != (void *)((long)current->self_exec_id))
-- goto out_mm;
-+ return -ENOMEM;
-
- copied = 0;
- while (count > 0) {
-@@ -869,13 +799,7 @@ static ssize_t mem_write(struct file * file, const char __user *buf,
- }
- *ppos = dst;
-
--out_mm:
-- mmput(mm);
--out_free:
- free_page((unsigned long) page);
--out_task:
-- put_task_struct(task);
--out_no_task:
- return copied;
- }
-
-@@ -895,11 +819,20 @@ loff_t mem_lseek(struct file *file, loff_t offset, int orig)
- return file->f_pos;
- }
-
-+static int mem_release(struct inode *inode, struct file *file)
-+{
-+ struct mm_struct *mm = file->private_data;
-+
-+ mmput(mm);
-+ return 0;
-+}
-+
- static const struct file_operations proc_mem_operations = {
- .llseek = mem_lseek,
- .read = mem_read,
- .write = mem_write,
- .open = mem_open,
-+ .release = mem_release,
- };
-
- static ssize_t environ_read(struct file *file, char __user *buf,
---
-1.7.6.5
-
diff --git a/libre/linux-libre/ChangeLog b/libre/linux-libre/ChangeLog
index bbf62fc7c..a6f62e2cd 100644
--- a/libre/linux-libre/ChangeLog
+++ b/libre/linux-libre/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-26 André Silva <andre.paulista@adinet.com.uy>
+
+ * linux-libre-3.4-1.2
+ * Disabled CONFIG_MICROCODE_INTEL and CONFIG_MICROCODE_AMD modules https://labs.parabola.nu/issues/116
+
2012-04-24 André Silva <andre.paulista@adinet.com.uy>
* linux-libre-3.3.3-1
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD
index 17aecbeb2..8c1d72f35 100644
--- a/libre/linux-libre/PKGBUILD
+++ b/libre/linux-libre/PKGBUILD
@@ -11,18 +11,19 @@ pkgbase=linux-libre
pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock -LIBRE kernel
# pkgname=linux-custom # Build kernel with a different name
_kernelname=-LIBRE
-_basekernel=3.3
-_sublevel=3
-pkgver=${_basekernel}.${_sublevel}
-_lxopkgver=${_basekernel}.1 # nearly always the same as pkgver
-pkgrel=1
+_basekernel=3.4
+#_sublevel=6
+#pkgver=${_basekernel}.${_sublevel}
+pkgver=${_basekernel}
+_lxopkgver=${_basekernel}.5 # nearly always the same as pkgver
+pkgrel=1.2
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl')
options=('!strip')
source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz"
- "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz"
+ #"http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz"
# the main kernel config files
'config.i686' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
@@ -32,24 +33,18 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'boot-logo.patch'
'change-default-console-loglevel.patch'
'i915-fix-ghost-tv-output.patch'
- 'fix-memblock-3.3.x.patch'
- 'fix-r8712u-3.3.2.patch'
- 'ext4-options.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
-md5sums=('5487da14ca81715a469c7594d39722fa'
- 'b3584346eba0031be9e08c0c6d64fa85'
- '8c97845fa581b5d8172694d85577d817'
- '60c740318d677350ac5251300f6cbe73'
- 'a8a3843046926eb7ab81312cd438c5c5'
+md5sums=('a5e128ca059cceb8b69148b41ff4ac6f'
+ #'6d9d139e4b53802615833372728cc0e4'
+ '631bee7d8e6e125f859fc51200699685'
+ '54f6db6c3b747fbee10cb02460ba66f0'
+ 'e49ac236dfeef709f91a3d993ea7b62c'
'2967cecc3af9f954ccc822fd63dca6ff'
'8267264d9a8966e57fdacd1fa1fc65c4'
'04b21c79df0a952c22d681dd4f4562df'
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
- 'bfbac6688a9031372638438adccd4595'
- '4be6f77e4c1533c4587dd48cfd50759e'
- 'bb7fd1aa23016c8057046b84fd4eb528'
- '107729418380124db470dda99425fdce')
+ 'de092ff42e61e88a67f50c351c2ad7c0')
if [ "$CARCH" != "mips64el" ]; then
# Don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
@@ -76,23 +71,11 @@ build() {
patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch"
# Patch submitted upstream, waiting for inclusion:
- # fix https://bugzilla.kernel.org/show_bug.cgi?id=43098
- # Arch Linux bug report #29351
- patch -Np1 -i "${srcdir}/fix-memblock-3.3.x.patch"
-
- # Patch submitted upstream, waiting for inclusion:
- # Arch Linux bug report #29339
- # probably 3.3.4 will include it
- patch -Np1 -i "${srcdir}/fix-r8712u-3.3.2.patch"
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
- # fix ext4 module to mount ext3/2 correct
- # https://bugs.archlinux.org/task/28653
- patch -Np1 -i "${srcdir}/ext4-options.patch"
-
if [ "$CARCH" == "mips64el" ]; then
sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile
sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \
@@ -158,7 +141,7 @@ build() {
package_linux-libre() {
pkgdesc="The Linux-libre Kernel and modules"
groups=('base')
- depends=('coreutils' 'module-init-tools>=3.16')
+ depends=('coreutils' 'kmod')
optdepends=('crda: to set the correct wireless channels of your country')
provides=('kernel26' "linux=$pkgver")
conflicts=('kernel26' 'kernel26-libre' 'linux')
@@ -365,7 +348,7 @@ package_linux-libre-headers() {
done
# remove unneeded architectures
- rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+ rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa}
if [ "$CARCH" = "mips64el" ]; then
rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
else
diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686
index c58fe0e40..0bea26739 100644
--- a/libre/linux-libre/config.i686
+++ b/libre/linux-libre/config.i686
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.3.3-1 Kernel Configuration
+# Linux/i386 3.4.0-1 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -32,6 +32,7 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
@@ -93,10 +94,11 @@ CONFIG_HAVE_GENERIC_HARDIRQS=y
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
@@ -105,7 +107,6 @@ CONFIG_SPARSE_IRQ=y
#
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
-# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
CONFIG_RCU_FAST_NO_HZ=y
@@ -282,7 +283,7 @@ CONFIG_PADATA=y
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_SPIN_UNLOCK is not set
+CONFIG_UNINLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
@@ -378,11 +379,9 @@ CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=5
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
@@ -410,9 +409,8 @@ CONFIG_TOSHIBA=m
CONFIG_I8K=m
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
+# CONFIG_MICROCODE_INTEL is not set
+# CONFIG_MICROCODE_AMD is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
# CONFIG_NOHIGHMEM is not set
@@ -530,6 +528,7 @@ CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
CONFIG_ACPI_CUSTOM_METHOD=m
+CONFIG_ACPI_BGRT=m
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
@@ -613,10 +612,14 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=m
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
@@ -636,6 +639,8 @@ CONFIG_OLPC_XO1_RTC=y
CONFIG_OLPC_XO1_SCI=y
CONFIG_OLPC_XO15_SCI=y
# CONFIG_ALIX is not set
+# CONFIG_NET5501 is not set
+# CONFIG_GEOS is not set
CONFIG_AMD_NB=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
@@ -795,8 +800,9 @@ CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
-# CONFIG_NF_CONNTRACK_PROCFS is not set
+CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
@@ -814,6 +820,7 @@ CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=m
@@ -837,6 +844,7 @@ CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
@@ -952,6 +960,7 @@ CONFIG_IP_VS_PE_SIP=m
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
@@ -960,7 +969,6 @@ CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
@@ -1006,7 +1014,6 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
@@ -1120,6 +1127,7 @@ CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
#
# Classification
@@ -1360,7 +1368,7 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
-# CONFIG_DMA_SHARED_BUFFER is not set
+CONFIG_DMA_SHARED_BUFFER=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=m
@@ -1474,6 +1482,7 @@ CONFIG_MTD_NAND_DISKONCHIP=m
# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+CONFIG_MTD_NAND_DOCG4=m
# CONFIG_MTD_NAND_CAFE is not set
CONFIG_MTD_NAND_CS553X=m
CONFIG_MTD_NAND_NANDSIM=m
@@ -1508,6 +1517,7 @@ CONFIG_OF_NET=y
CONFIG_OF_MDIO=m
CONFIG_OF_PCI=y
CONFIG_OF_PCI_IRQ=y
+CONFIG_OF_MTD=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
@@ -1710,10 +1720,12 @@ CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_FLASHPOINT is not set
CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
@@ -1769,6 +1781,7 @@ CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
CONFIG_SCSI_SRP=m
CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
@@ -1914,6 +1927,7 @@ CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
@@ -1934,7 +1948,6 @@ CONFIG_FUSION_CTL=m
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -2062,6 +2075,7 @@ CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
CONFIG_NET_VENDOR_CIRRUS=y
CONFIG_CS89x0=m
+# CONFIG_CS89x0_PLATFORM is not set
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
CONFIG_DNET=m
@@ -2156,6 +2170,7 @@ CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=m
CONFIG_NET_VENDOR_OKI=y
CONFIG_PCH_GBE=m
+CONFIG_PCH_PTP=y
CONFIG_ETHOC=m
CONFIG_NET_PACKET_ENGINE=y
CONFIG_HAMACHI=m
@@ -2186,6 +2201,8 @@ CONFIG_SIS900=m
CONFIG_SIS190=m
CONFIG_SFC=m
CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_SFC_SRIOV=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_SMC9194=m
CONFIG_PCMCIA_SMC91C92=m
@@ -2222,6 +2239,7 @@ CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
+CONFIG_AMD_PHY=m
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
@@ -2287,6 +2305,7 @@ CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_CDC_PHONET=m
@@ -2322,12 +2341,12 @@ CONFIG_ATH5K=m
CONFIG_ATH5K_PCI=y
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=m
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
# CONFIG_ATH9K_DEBUGFS is not set
CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K_HTC=m
# CONFIG_ATH9K_HTC_DEBUGFS is not set
CONFIG_CARL9170=m
@@ -2335,6 +2354,8 @@ CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170_WPC=y
# CONFIG_CARL9170_HWRNG is not set
CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
# CONFIG_ATH6KL_DEBUG is not set
CONFIG_B43=m
CONFIG_B43_BCMA=y
@@ -2367,6 +2388,7 @@ CONFIG_BRCMUTIL=m
CONFIG_BRCMSMAC=m
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
# CONFIG_BRCMDBG is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
@@ -2385,14 +2407,15 @@ CONFIG_IWLWIFI=m
CONFIG_IWLWIFI_DEVICE_TRACING=y
CONFIG_IWLWIFI_DEVICE_TESTMODE=y
# CONFIG_IWLWIFI_P2P is not set
+# CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set
CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
#
-# Debugging Options
+# iwl3945 / iwl4965 Debugging Options
#
# CONFIG_IWLEGACY_DEBUG is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
CONFIG_IWM=m
# CONFIG_IWM_DEBUG is not set
CONFIG_IWM_TRACING=y
@@ -2444,6 +2467,7 @@ CONFIG_RTL8192SE=m
CONFIG_RTL8192DE=m
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTL8192C_COMMON=m
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
@@ -2614,7 +2638,6 @@ CONFIG_MISDN_NETJET=m
CONFIG_MISDN_IPAC=m
CONFIG_MISDN_ISAR=m
CONFIG_ISDN_HDLC=m
-# CONFIG_PHONE is not set
#
# Input device support
@@ -2658,6 +2681,7 @@ CONFIG_KEYBOARD_MPR121=m
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
@@ -2680,6 +2704,7 @@ CONFIG_MOUSE_PC110PAD=m
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
@@ -2725,11 +2750,14 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
CONFIG_TOUCHSCREEN_BU21013=m
CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_EGALAX=m
CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
@@ -2766,6 +2794,7 @@ CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TSC_SERIO=m
CONFIG_TOUCHSCREEN_TSC2007=m
@@ -2967,6 +2996,7 @@ CONFIG_I2C_SCMI=m
# I2C system bus drivers (mostly embedded / system-on-chip)
#
CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_INTEL_MID=m
CONFIG_I2C_OCORES=m
@@ -2975,7 +3005,6 @@ CONFIG_I2C_PXA=m
CONFIG_I2C_PXA_PCI=y
CONFIG_I2C_SIMTEC=m
CONFIG_I2C_XILINX=m
-CONFIG_I2C_EG20T=m
#
# External I2C/SMBus adapter drivers
@@ -2996,6 +3025,7 @@ CONFIG_SCx200_ACB=m
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set
+# CONFIG_HSI is not set
#
# PPS support
@@ -3020,6 +3050,7 @@ CONFIG_PPS_CLIENT_GPIO=m
#
CONFIG_PTP_1588_CLOCK=m
CONFIG_DP83640_PHY=m
+CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
@@ -3049,6 +3080,7 @@ CONFIG_GPIO_CS5535=y
# CONFIG_GPIO_LANGWELL is not set
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
+# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_RDC321X is not set
#
@@ -3070,6 +3102,7 @@ CONFIG_POWER_SUPPLY=y
CONFIG_PDA_POWER=m
CONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
CONFIG_BATTERY_OLPC=m
# CONFIG_BATTERY_SBS is not set
@@ -3081,6 +3114,7 @@ CONFIG_BATTERY_OLPC=m
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_SMB347 is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
@@ -3149,6 +3183,7 @@ CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
@@ -3311,6 +3346,7 @@ CONFIG_UCB1400_CORE=m
# CONFIG_TPS6105X is not set
CONFIG_TPS65010=m
CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
CONFIG_MFD_PCF50633=m
@@ -3368,6 +3404,7 @@ CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
@@ -3380,6 +3417,7 @@ CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_QT1010=m
@@ -3440,6 +3478,7 @@ CONFIG_VIDEO_SAA6588=m
# Video decoders
#
CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_ADV7183=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
@@ -3476,7 +3515,10 @@ CONFIG_VIDEO_AK881X=m
#
# Camera sensor devices
#
+CONFIG_VIDEO_APTINA_PLL=m
CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_VS6624=m
+CONFIG_VIDEO_MT9M032=m
CONFIG_VIDEO_MT9P031=m
CONFIG_VIDEO_MT9T001=m
CONFIG_VIDEO_MT9V011=m
@@ -3630,6 +3672,7 @@ CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_I2C_SI4713=m
CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
CONFIG_RADIO_TEA5764=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_TEF6862=m
@@ -3690,11 +3733,13 @@ CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_CE6230=m
CONFIG_DVB_USB_FRIIO=m
CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6007=m
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_TECHNISAT_USB2=m
CONFIG_DVB_USB_IT913X=m
CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_SIANO_MDTV=m
@@ -3825,6 +3870,7 @@ CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
#
# DVB-C (cable) frontends
@@ -3875,6 +3921,7 @@ CONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
#
# Tools to develop new frontends
@@ -3899,12 +3946,23 @@ CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=m
+CONFIG_DRM_USB=m
CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
@@ -3915,6 +3973,7 @@ CONFIG_DRM_VMWGFX=m
CONFIG_DRM_GMA500=m
CONFIG_DRM_GMA600=y
CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
# CONFIG_STUB_POULSBO is not set
CONFIG_VGASTATE=m
CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -3957,6 +4016,7 @@ CONFIG_FB_EFI=y
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
CONFIG_FB_I810=m
CONFIG_FB_I810_GTF=y
CONFIG_FB_I810_I2C=y
@@ -3987,6 +4047,7 @@ CONFIG_FB_VIRTUAL=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
+# CONFIG_EXYNOS_VIDEO is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LCD_PLATFORM=m
@@ -3998,6 +4059,8 @@ CONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
CONFIG_BACKLIGHT_PCF50633=m
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_OT200 is not set
#
# Console display driver support
@@ -4283,13 +4346,7 @@ CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PRIMAX=m
CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_ISKU=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
+CONFIG_HID_SAITEK=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
CONFIG_HID_SPEEDLINK=m
@@ -4299,6 +4356,7 @@ CONFIG_GREENASIA_FF=y
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
CONFIG_HID_TOPSEED=m
CONFIG_HID_THRUSTMASTER=m
CONFIG_THRUSTMASTER_FF=y
@@ -4309,12 +4367,12 @@ CONFIG_HID_WIIMOTE_EXT=y
CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=m
-CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=m
+CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
@@ -4342,13 +4400,14 @@ CONFIG_USB_XHCI_HCD=m
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_EHCI_MV=y
CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_ISP1760_HCD=m
CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_HCD_PLATFORM is not set
+# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
@@ -4429,6 +4488,7 @@ CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
@@ -4449,6 +4509,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=m
@@ -4531,6 +4592,7 @@ CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_GADGET_SUPERSPEED=y
# CONFIG_USB_ZERO is not set
CONFIG_USB_AUDIO=m
+# CONFIG_GADGET_UAC1 is not set
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
# CONFIG_USB_ETH_EEM is not set
@@ -4563,7 +4625,6 @@ CONFIG_USB_OTG_UTILS=y
# CONFIG_USB_GPIO_VBUS is not set
CONFIG_NOP_USB_XCEIV=m
# CONFIG_AB8500_USB is not set
-# CONFIG_USB_MV_OTG is not set
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@@ -4618,7 +4679,6 @@ CONFIG_LEDS_CLASS=y
# LED drivers
#
CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_NET5501=m
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA9532_GPIO is not set
# CONFIG_LEDS_GPIO is not set
@@ -4627,6 +4687,7 @@ CONFIG_LEDS_LP5521=m
CONFIG_LEDS_LP5523=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_INTEL_SS4200=m
CONFIG_LEDS_LT3593=m
@@ -4950,27 +5011,17 @@ CONFIG_LINE6_USB=m
# CONFIG_LINE6_USB_DUMP_PCM is not set
# CONFIG_LINE6_USB_RAW is not set
# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
CONFIG_USB_SERIAL_QUATECH2=m
CONFIG_USB_SERIAL_QUATECH_USB2=m
CONFIG_VT6655=m
CONFIG_VT6656=m
-CONFIG_HYPERV_STORAGE=m
# CONFIG_VME_BUS is not set
CONFIG_DX_SEP=m
# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
CONFIG_ZRAM=m
# CONFIG_ZRAM_DEBUG is not set
-CONFIG_ZCACHE=m
+CONFIG_ZCACHE=y
+CONFIG_ZSMALLOC=y
CONFIG_WLAGS49_H2=m
CONFIG_WLAGS49_H25=m
CONFIG_FB_SM7XX=m
@@ -5040,6 +5091,8 @@ CONFIG_LIRC_ZILOG=m
# Android
#
# CONFIG_ANDROID is not set
+# CONFIG_PHONE is not set
+CONFIG_USB_WPAN_HCD=m
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -5075,7 +5128,6 @@ CONFIG_ASUS_NB_WMI=m
CONFIG_EEEPC_WMI=m
CONFIG_ACPI_WMI=m
CONFIG_MSI_WMI=m
-CONFIG_ACPI_ASUS=m
CONFIG_TOPSTAR_LAPTOP=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m
@@ -5088,6 +5140,7 @@ CONFIG_SAMSUNG_LAPTOP=m
CONFIG_MXM_WMI=m
CONFIG_INTEL_OAKTRAIL=m
CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
#
# Hardware Spinlock drivers
@@ -5102,6 +5155,14 @@ CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+
+#
+# Remoteproc drivers (EXPERIMENTAL)
+#
+
+#
+# Rpmsg drivers (EXPERIMENTAL)
+#
CONFIG_VIRT_DRIVERS=y
# CONFIG_PM_DEVFREQ is not set
@@ -5122,6 +5183,7 @@ CONFIG_DMI_SYSFS=m
#
# File systems
#
+CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=m
@@ -5271,6 +5333,7 @@ CONFIG_MINIX_FS=m
CONFIG_OMFS_FS=m
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
# CONFIG_SYSV_FS is not set
@@ -5289,7 +5352,6 @@ CONFIG_NFS_V4=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
@@ -5303,6 +5365,7 @@ CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_SUNRPC_DEBUG is not set
CONFIG_CEPH_FS=m
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
@@ -5440,6 +5503,8 @@ CONFIG_FRAME_POINTER=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_VERBOSE is not set
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -5448,7 +5513,6 @@ CONFIG_LKDTM=m
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
-CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
@@ -5553,6 +5617,7 @@ CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0
+# CONFIG_SECURITY_YAMA is not set
# CONFIG_IMA is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
@@ -5571,7 +5636,7 @@ CONFIG_CRYPTO=y
#
# Crypto core or helper
#
-CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
@@ -5670,7 +5735,7 @@ CONFIG_CRYPTO_TWOFISH_586=m
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
+CONFIG_CRYPTO_LZO=y
#
# Random Number Generation
@@ -5709,11 +5774,17 @@ CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64
index 279c94035..8a4734dac 100644
--- a/libre/linux-libre/config.x86_64
+++ b/libre/linux-libre/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.3.0-1 Kernel Configuration
+# Linux/x86_64 3.4.0-1 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
@@ -34,6 +34,7 @@ CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
@@ -95,7 +96,6 @@ CONFIG_HAVE_GENERIC_HARDIRQS=y
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
@@ -107,7 +107,6 @@ CONFIG_SPARSE_IRQ=y
#
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
-# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
CONFIG_RCU_FAST_NO_HZ=y
@@ -219,6 +218,7 @@ CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
#
# GCOV-based kernel profiling
@@ -284,7 +284,7 @@ CONFIG_PADATA=y
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_SPIN_UNLOCK is not set
+CONFIG_UNINLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
@@ -346,7 +346,7 @@ CONFIG_NO_BOOTMEM=y
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=7
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
@@ -387,9 +387,8 @@ CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=m
CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
+# CONFIG_MICROCODE_INTEL is not set
+# CONFIG_MICROCODE_AMD is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
@@ -519,6 +518,7 @@ CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
CONFIG_ACPI_CUSTOM_METHOD=m
+CONFIG_ACPI_BGRT=m
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
@@ -584,10 +584,14 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=m
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_HT_IRQ=y
@@ -646,6 +650,7 @@ CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=m
+# CONFIG_X86_X32 is not set
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
@@ -757,8 +762,9 @@ CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
-# CONFIG_NF_CONNTRACK_PROCFS is not set
+CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
@@ -776,6 +782,7 @@ CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=m
@@ -799,6 +806,7 @@ CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
@@ -914,6 +922,7 @@ CONFIG_IP_VS_PE_SIP=m
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
@@ -922,7 +931,6 @@ CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
@@ -968,7 +976,6 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
@@ -1078,6 +1085,7 @@ CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
#
# Classification
@@ -1127,8 +1135,6 @@ CONFIG_BPF_JIT=y
CONFIG_NET_PKTGEN=m
CONFIG_NET_DROP_MONITOR=y
CONFIG_HAMRADIO=y
-# CONFIG_CAN is not set
-CONFIG_IRDA=m
#
# Packet Radio protocols
@@ -1148,6 +1154,8 @@ CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
CONFIG_YAM=m
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
#
# IrDA protocols
@@ -1315,7 +1323,7 @@ CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
-# CONFIG_DMA_SHARED_BUFFER is not set
+CONFIG_DMA_SHARED_BUFFER=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=m
@@ -1427,6 +1435,7 @@ CONFIG_MTD_NAND_DISKONCHIP=m
# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+CONFIG_MTD_NAND_DOCG4=m
# CONFIG_MTD_NAND_CAFE is not set
CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_NAND_PLATFORM is not set
@@ -1640,9 +1649,11 @@ CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
@@ -1683,6 +1694,7 @@ CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
CONFIG_SCSI_SRP=m
CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
@@ -1823,6 +1835,7 @@ CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
@@ -1843,7 +1856,6 @@ CONFIG_FUSION_CTL=m
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -2040,6 +2052,7 @@ CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=m
CONFIG_NET_VENDOR_OKI=y
CONFIG_PCH_GBE=m
+CONFIG_PCH_PTP=y
CONFIG_ETHOC=m
CONFIG_NET_PACKET_ENGINE=y
CONFIG_HAMACHI=m
@@ -2069,6 +2082,8 @@ CONFIG_SIS900=m
CONFIG_SIS190=m
CONFIG_SFC=m
CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_SFC_SRIOV=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_PCMCIA_SMC91C92=m
CONFIG_EPIC100=m
@@ -2104,6 +2119,7 @@ CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
+CONFIG_AMD_PHY=m
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
@@ -2169,6 +2185,7 @@ CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_CDC_PHONET=m
@@ -2204,12 +2221,12 @@ CONFIG_ATH5K=m
CONFIG_ATH5K_PCI=y
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=m
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
# CONFIG_ATH9K_DEBUGFS is not set
CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K_HTC=m
# CONFIG_ATH9K_HTC_DEBUGFS is not set
CONFIG_CARL9170=m
@@ -2217,6 +2234,8 @@ CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170_WPC=y
# CONFIG_CARL9170_HWRNG is not set
CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
# CONFIG_ATH6KL_DEBUG is not set
CONFIG_B43=m
CONFIG_B43_BCMA=y
@@ -2249,6 +2268,7 @@ CONFIG_BRCMUTIL=m
CONFIG_BRCMSMAC=m
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
# CONFIG_BRCMDBG is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
@@ -2267,14 +2287,15 @@ CONFIG_IWLWIFI=m
CONFIG_IWLWIFI_DEVICE_TRACING=y
CONFIG_IWLWIFI_DEVICE_TESTMODE=y
# CONFIG_IWLWIFI_P2P is not set
+# CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set
CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
#
-# Debugging Options
+# iwl3945 / iwl4965 Debugging Options
#
# CONFIG_IWLEGACY_DEBUG is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
CONFIG_IWM=m
# CONFIG_IWM_DEBUG is not set
CONFIG_IWM_TRACING=y
@@ -2326,6 +2347,7 @@ CONFIG_RTL8192SE=m
CONFIG_RTL8192DE=m
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTL8192C_COMMON=m
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
@@ -2482,7 +2504,6 @@ CONFIG_MISDN_NETJET=m
CONFIG_MISDN_IPAC=m
CONFIG_MISDN_ISAR=m
CONFIG_ISDN_HDLC=m
-# CONFIG_PHONE is not set
#
# Input device support
@@ -2526,6 +2547,7 @@ CONFIG_KEYBOARD_MPR121=m
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
@@ -2543,6 +2565,7 @@ CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
@@ -2588,11 +2611,14 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
CONFIG_TOUCHSCREEN_BU21013=m
CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_EGALAX=m
CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
@@ -2628,6 +2654,7 @@ CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TSC_SERIO=m
CONFIG_TOUCHSCREEN_TSC2007=m
@@ -2744,6 +2771,7 @@ CONFIG_PPDEV=m
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
+CONFIG_HVC_XEN_FRONTEND=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
@@ -2824,6 +2852,7 @@ CONFIG_I2C_SCMI=m
# I2C system bus drivers (mostly embedded / system-on-chip)
#
CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_INTEL_MID=m
CONFIG_I2C_OCORES=m
@@ -2831,7 +2860,6 @@ CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PXA_PCI is not set
CONFIG_I2C_SIMTEC=m
CONFIG_I2C_XILINX=m
-CONFIG_I2C_EG20T=m
#
# External I2C/SMBus adapter drivers
@@ -2850,6 +2878,7 @@ CONFIG_I2C_TINY_USB=m
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set
+# CONFIG_HSI is not set
#
# PPS support
@@ -2874,6 +2903,7 @@ CONFIG_PPS_CLIENT_GPIO=m
#
CONFIG_PTP_1588_CLOCK=m
CONFIG_DP83640_PHY=m
+CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
@@ -2924,6 +2954,7 @@ CONFIG_POWER_SUPPLY=y
CONFIG_PDA_POWER=m
CONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_BATTERY_BQ27x00 is not set
@@ -2934,6 +2965,7 @@ CONFIG_TEST_POWER=m
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_SMB347 is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
@@ -3002,6 +3034,7 @@ CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
@@ -3157,6 +3190,7 @@ CONFIG_UCB1400_CORE=m
# CONFIG_TPS6105X is not set
CONFIG_TPS65010=m
CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
CONFIG_MFD_PCF50633=m
@@ -3214,6 +3248,7 @@ CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
@@ -3226,6 +3261,7 @@ CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_QT1010=m
@@ -3286,6 +3322,7 @@ CONFIG_VIDEO_SAA6588=m
# Video decoders
#
CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_ADV7183=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
@@ -3322,7 +3359,10 @@ CONFIG_VIDEO_AK881X=m
#
# Camera sensor devices
#
+CONFIG_VIDEO_APTINA_PLL=m
CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_VS6624=m
+CONFIG_VIDEO_MT9M032=m
CONFIG_VIDEO_MT9P031=m
CONFIG_VIDEO_MT9T001=m
CONFIG_VIDEO_MT9V011=m
@@ -3476,6 +3516,7 @@ CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_I2C_SI4713=m
CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
CONFIG_RADIO_TEA5764=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_TEF6862=m
@@ -3535,11 +3576,13 @@ CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_CE6230=m
CONFIG_DVB_USB_FRIIO=m
CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6007=m
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_TECHNISAT_USB2=m
CONFIG_DVB_USB_IT913X=m
CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_SIANO_MDTV=m
@@ -3670,6 +3713,7 @@ CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
#
# DVB-C (cable) frontends
@@ -3720,6 +3764,7 @@ CONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
#
# Tools to develop new frontends
@@ -3738,12 +3783,23 @@ CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=m
+CONFIG_DRM_USB=m
CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
@@ -3754,6 +3810,7 @@ CONFIG_DRM_VMWGFX=m
CONFIG_DRM_GMA500=m
CONFIG_DRM_GMA600=y
CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
# CONFIG_STUB_POULSBO is not set
CONFIG_VGASTATE=m
CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -3796,6 +3853,7 @@ CONFIG_FB_EFI=y
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
@@ -3824,6 +3882,7 @@ CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
+# CONFIG_EXYNOS_VIDEO is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LCD_PLATFORM=m
@@ -3835,6 +3894,8 @@ CONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
CONFIG_BACKLIGHT_PCF50633=m
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_OT200 is not set
#
# Console display driver support
@@ -4082,13 +4143,7 @@ CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PRIMAX=m
CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_ISKU=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
+CONFIG_HID_SAITEK=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
CONFIG_HID_SPEEDLINK=m
@@ -4098,6 +4153,7 @@ CONFIG_GREENASIA_FF=y
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
CONFIG_HID_TOPSEED=m
CONFIG_HID_THRUSTMASTER=m
CONFIG_THRUSTMASTER_FF=y
@@ -4108,12 +4164,12 @@ CONFIG_HID_WIIMOTE_EXT=y
CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=m
-CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=m
+CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
@@ -4141,13 +4197,14 @@ CONFIG_USB_XHCI_HCD=m
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_EHCI_MV=y
CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_ISP1760_HCD=m
CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_HCD_PLATFORM is not set
+# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
@@ -4228,6 +4285,7 @@ CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
@@ -4248,6 +4306,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=m
@@ -4328,6 +4387,7 @@ CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_GADGET_SUPERSPEED=y
# CONFIG_USB_ZERO is not set
CONFIG_USB_AUDIO=m
+# CONFIG_GADGET_UAC1 is not set
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
# CONFIG_USB_ETH_EEM is not set
@@ -4360,7 +4420,6 @@ CONFIG_USB_OTG_UTILS=y
# CONFIG_USB_GPIO_VBUS is not set
CONFIG_NOP_USB_XCEIV=m
# CONFIG_AB8500_USB is not set
-# CONFIG_USB_MV_OTG is not set
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@@ -4415,7 +4474,6 @@ CONFIG_LEDS_CLASS=y
# LED drivers
#
CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_NET5501=m
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA9532_GPIO is not set
# CONFIG_LEDS_GPIO is not set
@@ -4424,6 +4482,7 @@ CONFIG_LEDS_LP5521=m
CONFIG_LEDS_LP5523=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_INTEL_SS4200=m
CONFIG_LEDS_LT3593=m
@@ -4595,13 +4654,14 @@ CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
-CONFIG_XEN_XENBUS_FRONTEND=m
+CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=y
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PRIVCMD=m
+CONFIG_XEN_ACPI_PROCESSOR=m
CONFIG_STAGING=y
CONFIG_ET131X=m
CONFIG_SLICOSS=m
@@ -4709,7 +4769,6 @@ CONFIG_RTLLIB_CRYPTO_TKIP=m
CONFIG_RTLLIB_CRYPTO_WEP=m
CONFIG_RTL8192E=m
CONFIG_R8712U=m
-CONFIG_R8712_AP=y
CONFIG_RTS_PSTOR=m
# CONFIG_RTS_PSTOR_DEBUG is not set
CONFIG_RTS5139=m
@@ -4723,27 +4782,17 @@ CONFIG_LINE6_USB=m
# CONFIG_LINE6_USB_DUMP_PCM is not set
# CONFIG_LINE6_USB_RAW is not set
# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
CONFIG_USB_SERIAL_QUATECH2=m
CONFIG_USB_SERIAL_QUATECH_USB2=m
CONFIG_VT6655=m
CONFIG_VT6656=m
-CONFIG_HYPERV_STORAGE=m
# CONFIG_VME_BUS is not set
CONFIG_DX_SEP=m
# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
CONFIG_ZRAM=m
# CONFIG_ZRAM_DEBUG is not set
-CONFIG_ZCACHE=m
+CONFIG_ZCACHE=y
+CONFIG_ZSMALLOC=y
CONFIG_WLAGS49_H2=m
CONFIG_WLAGS49_H25=m
CONFIG_FB_SM7XX=m
@@ -4813,6 +4862,8 @@ CONFIG_LIRC_ZILOG=m
# Android
#
# CONFIG_ANDROID is not set
+# CONFIG_PHONE is not set
+CONFIG_USB_WPAN_HCD=m
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -4847,7 +4898,6 @@ CONFIG_ASUS_NB_WMI=m
CONFIG_EEEPC_WMI=m
CONFIG_ACPI_WMI=m
CONFIG_MSI_WMI=m
-CONFIG_ACPI_ASUS=m
CONFIG_TOPSTAR_LAPTOP=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m
@@ -4859,6 +4909,7 @@ CONFIG_SAMSUNG_LAPTOP=m
CONFIG_MXM_WMI=m
CONFIG_INTEL_OAKTRAIL=m
CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
#
# Hardware Spinlock drivers
@@ -4876,6 +4927,14 @@ CONFIG_INTEL_IOMMU=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_IRQ_REMAP=y
+
+#
+# Remoteproc drivers (EXPERIMENTAL)
+#
+
+#
+# Rpmsg drivers (EXPERIMENTAL)
+#
CONFIG_VIRT_DRIVERS=y
# CONFIG_PM_DEVFREQ is not set
@@ -4896,6 +4955,7 @@ CONFIG_DMI_SYSFS=m
#
# File systems
#
+CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=m
@@ -5046,6 +5106,7 @@ CONFIG_MINIX_FS=m
CONFIG_OMFS_FS=m
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
# CONFIG_SYSV_FS is not set
@@ -5064,7 +5125,6 @@ CONFIG_NFS_V4=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
@@ -5078,6 +5138,7 @@ CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_SUNRPC_DEBUG is not set
CONFIG_CEPH_FS=m
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
@@ -5214,6 +5275,8 @@ CONFIG_FRAME_POINTER=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_VERBOSE is not set
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -5222,7 +5285,6 @@ CONFIG_LKDTM=m
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
-CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
@@ -5327,6 +5389,7 @@ CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0
+# CONFIG_SECURITY_YAMA is not set
# CONFIG_IMA is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
@@ -5345,7 +5408,7 @@ CONFIG_CRYPTO=y
#
# Crypto core or helper
#
-CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
@@ -5427,6 +5490,7 @@ CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
@@ -5448,7 +5512,7 @@ CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
+CONFIG_CRYPTO_LZO=y
#
# Random Number Generation
@@ -5483,11 +5547,17 @@ CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
diff --git a/libre/linux-libre/dib0700-fix.patch b/libre/linux-libre/dib0700-fix.patch
deleted file mode 100644
index 48f07e6fd..000000000
--- a/libre/linux-libre/dib0700-fix.patch
+++ /dev/null
@@ -1,1487 +0,0 @@
-commit 198c545cd7306dc90aaae1d61e64175e70a70dc8
-Author: Patrick Boettcher <Patrick.Boettcher@dibcom.fr>
-Date: Wed Aug 3 17:08:21 2011 +0200
-
- [media] DiBcom: protect the I2C bufer access
-
- This patch protect the I2C buffer access in order to manage concurrent
- access. This protection is done using mutex.
- Furthermore, for the dib9000, if a pid filtering command is
- received during the tuning, this pid filtering command is delayed to
- avoid any concurrent access issue.
-
- Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
- Cc: Florian Mickler <florian@mickler.org>
- Cc: stable@kernel.org
-
- Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
- Signed-off-by: Patrick Boettcher <Patrick.Boettcher@dibcom.fr>
-
-diff --git a/drivers/media/dvb/frontends/dib0070.c b/drivers/media/dvb/frontends/dib0070.c
-index 1d47d4d..dc1cb17 100644
---- a/drivers/media/dvb/frontends/dib0070.c
-+++ b/drivers/media/dvb/frontends/dib0070.c
-@@ -27,6 +27,7 @@
- #include <linux/kernel.h>
- #include <linux/slab.h>
- #include <linux/i2c.h>
-+#include <linux/mutex.h>
-
- #include "dvb_frontend.h"
-
-@@ -78,10 +79,18 @@ struct dib0070_state {
- struct i2c_msg msg[2];
- u8 i2c_write_buffer[3];
- u8 i2c_read_buffer[2];
-+ struct mutex i2c_buffer_lock;
- };
-
--static uint16_t dib0070_read_reg(struct dib0070_state *state, u8 reg)
-+static u16 dib0070_read_reg(struct dib0070_state *state, u8 reg)
- {
-+ u16 ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- state->i2c_write_buffer[0] = reg;
-
- memset(state->msg, 0, 2 * sizeof(struct i2c_msg));
-@@ -96,13 +105,23 @@ static uint16_t dib0070_read_reg(struct dib0070_state *state, u8 reg)
-
- if (i2c_transfer(state->i2c, state->msg, 2) != 2) {
- printk(KERN_WARNING "DiB0070 I2C read failed\n");
-- return 0;
-- }
-- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ ret = 0;
-+ } else
-+ ret = (state->i2c_read_buffer[0] << 8)
-+ | state->i2c_read_buffer[1];
-+
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
-
- static int dib0070_write_reg(struct dib0070_state *state, u8 reg, u16 val)
- {
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
- state->i2c_write_buffer[0] = reg;
- state->i2c_write_buffer[1] = val >> 8;
- state->i2c_write_buffer[2] = val & 0xff;
-@@ -115,9 +134,12 @@ static int dib0070_write_reg(struct dib0070_state *state, u8 reg, u16 val)
-
- if (i2c_transfer(state->i2c, state->msg, 1) != 1) {
- printk(KERN_WARNING "DiB0070 I2C write failed\n");
-- return -EREMOTEIO;
-- }
-- return 0;
-+ ret = -EREMOTEIO;
-+ } else
-+ ret = 0;
-+
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
-
- #define HARD_RESET(state) do { \
-@@ -734,6 +756,7 @@ struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter
- state->cfg = cfg;
- state->i2c = i2c;
- state->fe = fe;
-+ mutex_init(&state->i2c_buffer_lock);
- fe->tuner_priv = state;
-
- if (dib0070_reset(fe) != 0)
-diff --git a/drivers/media/dvb/frontends/dib0090.c b/drivers/media/dvb/frontends/dib0090.c
-index c9c935a..b174d1c 100644
---- a/drivers/media/dvb/frontends/dib0090.c
-+++ b/drivers/media/dvb/frontends/dib0090.c
-@@ -27,6 +27,7 @@
- #include <linux/kernel.h>
- #include <linux/slab.h>
- #include <linux/i2c.h>
-+#include <linux/mutex.h>
-
- #include "dvb_frontend.h"
-
-@@ -196,6 +197,7 @@ struct dib0090_state {
- struct i2c_msg msg[2];
- u8 i2c_write_buffer[3];
- u8 i2c_read_buffer[2];
-+ struct mutex i2c_buffer_lock;
- };
-
- struct dib0090_fw_state {
-@@ -208,10 +210,18 @@ struct dib0090_fw_state {
- struct i2c_msg msg;
- u8 i2c_write_buffer[2];
- u8 i2c_read_buffer[2];
-+ struct mutex i2c_buffer_lock;
- };
-
- static u16 dib0090_read_reg(struct dib0090_state *state, u8 reg)
- {
-+ u16 ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- state->i2c_write_buffer[0] = reg;
-
- memset(state->msg, 0, 2 * sizeof(struct i2c_msg));
-@@ -226,14 +236,24 @@ static u16 dib0090_read_reg(struct dib0090_state *state, u8 reg)
-
- if (i2c_transfer(state->i2c, state->msg, 2) != 2) {
- printk(KERN_WARNING "DiB0090 I2C read failed\n");
-- return 0;
-- }
-+ ret = 0;
-+ } else
-+ ret = (state->i2c_read_buffer[0] << 8)
-+ | state->i2c_read_buffer[1];
-
-- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
-
- static int dib0090_write_reg(struct dib0090_state *state, u32 reg, u16 val)
- {
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+
- state->i2c_write_buffer[0] = reg & 0xff;
- state->i2c_write_buffer[1] = val >> 8;
- state->i2c_write_buffer[2] = val & 0xff;
-@@ -246,13 +266,23 @@ static int dib0090_write_reg(struct dib0090_state *state, u32 reg, u16 val)
-
- if (i2c_transfer(state->i2c, state->msg, 1) != 1) {
- printk(KERN_WARNING "DiB0090 I2C write failed\n");
-- return -EREMOTEIO;
-- }
-- return 0;
-+ ret = -EREMOTEIO;
-+ } else
-+ ret = 0;
-+
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
-
- static u16 dib0090_fw_read_reg(struct dib0090_fw_state *state, u8 reg)
- {
-+ u16 ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- state->i2c_write_buffer[0] = reg;
-
- memset(&state->msg, 0, sizeof(struct i2c_msg));
-@@ -262,13 +292,24 @@ static u16 dib0090_fw_read_reg(struct dib0090_fw_state *state, u8 reg)
- state->msg.len = 2;
- if (i2c_transfer(state->i2c, &state->msg, 1) != 1) {
- printk(KERN_WARNING "DiB0090 I2C read failed\n");
-- return 0;
-- }
-- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ ret = 0;
-+ } else
-+ ret = (state->i2c_read_buffer[0] << 8)
-+ | state->i2c_read_buffer[1];
-+
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
-
- static int dib0090_fw_write_reg(struct dib0090_fw_state *state, u8 reg, u16 val)
- {
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+
- state->i2c_write_buffer[0] = val >> 8;
- state->i2c_write_buffer[1] = val & 0xff;
-
-@@ -279,9 +320,12 @@ static int dib0090_fw_write_reg(struct dib0090_fw_state *state, u8 reg, u16 val)
- state->msg.len = 2;
- if (i2c_transfer(state->i2c, &state->msg, 1) != 1) {
- printk(KERN_WARNING "DiB0090 I2C write failed\n");
-- return -EREMOTEIO;
-- }
-- return 0;
-+ ret = -EREMOTEIO;
-+ } else
-+ ret = 0;
-+
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
-
- #define HARD_RESET(state) do { if (cfg->reset) { if (cfg->sleep) cfg->sleep(fe, 0); msleep(10); cfg->reset(fe, 1); msleep(10); cfg->reset(fe, 0); msleep(10); } } while (0)
-@@ -2440,6 +2484,7 @@ struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapte
- st->config = config;
- st->i2c = i2c;
- st->fe = fe;
-+ mutex_init(&st->i2c_buffer_lock);
- fe->tuner_priv = st;
-
- if (config->wbd == NULL)
-@@ -2471,6 +2516,7 @@ struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_ada
- st->config = config;
- st->i2c = i2c;
- st->fe = fe;
-+ mutex_init(&st->i2c_buffer_lock);
- fe->tuner_priv = st;
-
- if (dib0090_fw_reset_digital(fe, st->config) != 0)
-diff --git a/drivers/media/dvb/frontends/dib7000m.c b/drivers/media/dvb/frontends/dib7000m.c
-index 79cb1c2..dbb76d7 100644
---- a/drivers/media/dvb/frontends/dib7000m.c
-+++ b/drivers/media/dvb/frontends/dib7000m.c
-@@ -11,6 +11,7 @@
- #include <linux/kernel.h>
- #include <linux/slab.h>
- #include <linux/i2c.h>
-+#include <linux/mutex.h>
-
- #include "dvb_frontend.h"
-
-@@ -55,6 +56,7 @@ struct dib7000m_state {
- struct i2c_msg msg[2];
- u8 i2c_write_buffer[4];
- u8 i2c_read_buffer[2];
-+ struct mutex i2c_buffer_lock;
- };
-
- enum dib7000m_power_mode {
-@@ -69,6 +71,13 @@ enum dib7000m_power_mode {
-
- static u16 dib7000m_read_word(struct dib7000m_state *state, u16 reg)
- {
-+ u16 ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- state->i2c_write_buffer[0] = (reg >> 8) | 0x80;
- state->i2c_write_buffer[1] = reg & 0xff;
-
-@@ -85,11 +94,21 @@ static u16 dib7000m_read_word(struct dib7000m_state *state, u16 reg)
- if (i2c_transfer(state->i2c_adap, state->msg, 2) != 2)
- dprintk("i2c read error on %d",reg);
-
-- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ mutex_unlock(&state->i2c_buffer_lock);
-+
-+ return ret;
- }
-
- static int dib7000m_write_word(struct dib7000m_state *state, u16 reg, u16 val)
- {
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+
- state->i2c_write_buffer[0] = (reg >> 8) & 0xff;
- state->i2c_write_buffer[1] = reg & 0xff;
- state->i2c_write_buffer[2] = (val >> 8) & 0xff;
-@@ -101,7 +120,10 @@ static int dib7000m_write_word(struct dib7000m_state *state, u16 reg, u16 val)
- state->msg[0].buf = state->i2c_write_buffer;
- state->msg[0].len = 4;
-
-- return i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0;
-+ ret = (i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ?
-+ -EREMOTEIO : 0);
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
- static void dib7000m_write_tab(struct dib7000m_state *state, u16 *buf)
- {
-@@ -1385,6 +1407,7 @@ struct dvb_frontend * dib7000m_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr,
- demod = &st->demod;
- demod->demodulator_priv = st;
- memcpy(&st->demod.ops, &dib7000m_ops, sizeof(struct dvb_frontend_ops));
-+ mutex_init(&st->i2c_buffer_lock);
-
- st->timf_default = cfg->bw->timf;
-
-diff --git a/drivers/media/dvb/frontends/dib7000p.c b/drivers/media/dvb/frontends/dib7000p.c
-index 0c9f40c..292bc19 100644
---- a/drivers/media/dvb/frontends/dib7000p.c
-+++ b/drivers/media/dvb/frontends/dib7000p.c
-@@ -10,6 +10,7 @@
- #include <linux/kernel.h>
- #include <linux/slab.h>
- #include <linux/i2c.h>
-+#include <linux/mutex.h>
-
- #include "dvb_math.h"
- #include "dvb_frontend.h"
-@@ -68,6 +69,7 @@ struct dib7000p_state {
- struct i2c_msg msg[2];
- u8 i2c_write_buffer[4];
- u8 i2c_read_buffer[2];
-+ struct mutex i2c_buffer_lock;
- };
-
- enum dib7000p_power_mode {
-@@ -81,6 +83,13 @@ static int dib7090_set_diversity_in(struct dvb_frontend *fe, int onoff);
-
- static u16 dib7000p_read_word(struct dib7000p_state *state, u16 reg)
- {
-+ u16 ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- state->i2c_write_buffer[0] = reg >> 8;
- state->i2c_write_buffer[1] = reg & 0xff;
-
-@@ -97,11 +106,20 @@ static u16 dib7000p_read_word(struct dib7000p_state *state, u16 reg)
- if (i2c_transfer(state->i2c_adap, state->msg, 2) != 2)
- dprintk("i2c read error on %d", reg);
-
-- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
-
- static int dib7000p_write_word(struct dib7000p_state *state, u16 reg, u16 val)
- {
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+
- state->i2c_write_buffer[0] = (reg >> 8) & 0xff;
- state->i2c_write_buffer[1] = reg & 0xff;
- state->i2c_write_buffer[2] = (val >> 8) & 0xff;
-@@ -113,7 +131,10 @@ static int dib7000p_write_word(struct dib7000p_state *state, u16 reg, u16 val)
- state->msg[0].buf = state->i2c_write_buffer;
- state->msg[0].len = 4;
-
-- return i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0;
-+ ret = (i2c_transfer(state->i2c_adap, state->msg, 1) != 1 ?
-+ -EREMOTEIO : 0);
-+ mutex_unlock(&state->i2c_buffer_lock);
-+ return ret;
- }
-
- static void dib7000p_write_tab(struct dib7000p_state *state, u16 * buf)
-@@ -1646,6 +1667,7 @@ int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 defau
- return -ENOMEM;
-
- dpst->i2c_adap = i2c;
-+ mutex_init(&dpst->i2c_buffer_lock);
-
- for (k = no_of_demods - 1; k >= 0; k--) {
- dpst->cfg = cfg[k];
-@@ -2324,6 +2346,7 @@ struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr,
- demod = &st->demod;
- demod->demodulator_priv = st;
- memcpy(&st->demod.ops, &dib7000p_ops, sizeof(struct dvb_frontend_ops));
-+ mutex_init(&st->i2c_buffer_lock);
-
- dib7000p_write_word(st, 1287, 0x0003); /* sram lead in, rdy */
-
-@@ -2333,8 +2356,9 @@ struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr,
- st->version = dib7000p_read_word(st, 897);
-
- /* FIXME: make sure the dev.parent field is initialized, or else
-- request_firmware() will hit an OOPS (this should be moved somewhere
-- more common) */
-+ request_firmware() will hit an OOPS (this should be moved somewhere
-+ more common) */
-+ st->i2c_master.gated_tuner_i2c_adap.dev.parent = i2c_adap->dev.parent;
-
- dibx000_init_i2c_master(&st->i2c_master, DIB7000P, st->i2c_adap, st->i2c_addr);
-
-diff --git a/drivers/media/dvb/frontends/dib8000.c b/drivers/media/dvb/frontends/dib8000.c
-index 7d2ea11..fe284d5 100644
---- a/drivers/media/dvb/frontends/dib8000.c
-+++ b/drivers/media/dvb/frontends/dib8000.c
-@@ -10,6 +10,8 @@
- #include <linux/kernel.h>
- #include <linux/slab.h>
- #include <linux/i2c.h>
-+#include <linux/mutex.h>
-+
- #include "dvb_math.h"
-
- #include "dvb_frontend.h"
-@@ -37,6 +39,7 @@ struct i2c_device {
- u8 addr;
- u8 *i2c_write_buffer;
- u8 *i2c_read_buffer;
-+ struct mutex *i2c_buffer_lock;
- };
-
- struct dib8000_state {
-@@ -77,6 +80,7 @@ struct dib8000_state {
- struct i2c_msg msg[2];
- u8 i2c_write_buffer[4];
- u8 i2c_read_buffer[2];
-+ struct mutex i2c_buffer_lock;
- };
-
- enum dib8000_power_mode {
-@@ -86,24 +90,39 @@ enum dib8000_power_mode {
-
- static u16 dib8000_i2c_read16(struct i2c_device *i2c, u16 reg)
- {
-+ u16 ret;
- struct i2c_msg msg[2] = {
-- {.addr = i2c->addr >> 1, .flags = 0,
-- .buf = i2c->i2c_write_buffer, .len = 2},
-- {.addr = i2c->addr >> 1, .flags = I2C_M_RD,
-- .buf = i2c->i2c_read_buffer, .len = 2},
-+ {.addr = i2c->addr >> 1, .flags = 0, .len = 2},
-+ {.addr = i2c->addr >> 1, .flags = I2C_M_RD, .len = 2},
- };
-
-+ if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
-+ msg[0].buf = i2c->i2c_write_buffer;
- msg[0].buf[0] = reg >> 8;
- msg[0].buf[1] = reg & 0xff;
-+ msg[1].buf = i2c->i2c_read_buffer;
-
- if (i2c_transfer(i2c->adap, msg, 2) != 2)
- dprintk("i2c read error on %d", reg);
-
-- return (msg[1].buf[0] << 8) | msg[1].buf[1];
-+ ret = (msg[1].buf[0] << 8) | msg[1].buf[1];
-+ mutex_unlock(i2c->i2c_buffer_lock);
-+ return ret;
- }
-
- static u16 dib8000_read_word(struct dib8000_state *state, u16 reg)
- {
-+ u16 ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- state->i2c_write_buffer[0] = reg >> 8;
- state->i2c_write_buffer[1] = reg & 0xff;
-
-@@ -120,7 +139,10 @@ static u16 dib8000_read_word(struct dib8000_state *state, u16 reg)
- if (i2c_transfer(state->i2c.adap, state->msg, 2) != 2)
- dprintk("i2c read error on %d", reg);
-
-- return (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ ret = (state->i2c_read_buffer[0] << 8) | state->i2c_read_buffer[1];
-+ mutex_unlock(&state->i2c_buffer_lock);
-+
-+ return ret;
- }
-
- static u32 dib8000_read32(struct dib8000_state *state, u16 reg)
-@@ -135,22 +157,35 @@ static u32 dib8000_read32(struct dib8000_state *state, u16 reg)
-
- static int dib8000_i2c_write16(struct i2c_device *i2c, u16 reg, u16 val)
- {
-- struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0,
-- .buf = i2c->i2c_write_buffer, .len = 4};
-+ struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, .len = 4};
- int ret = 0;
-
-+ if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+
-+ msg.buf = i2c->i2c_write_buffer;
- msg.buf[0] = (reg >> 8) & 0xff;
- msg.buf[1] = reg & 0xff;
- msg.buf[2] = (val >> 8) & 0xff;
- msg.buf[3] = val & 0xff;
-
- ret = i2c_transfer(i2c->adap, &msg, 1) != 1 ? -EREMOTEIO : 0;
-+ mutex_unlock(i2c->i2c_buffer_lock);
-
- return ret;
- }
-
- static int dib8000_write_word(struct dib8000_state *state, u16 reg, u16 val)
- {
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&state->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+
- state->i2c_write_buffer[0] = (reg >> 8) & 0xff;
- state->i2c_write_buffer[1] = reg & 0xff;
- state->i2c_write_buffer[2] = (val >> 8) & 0xff;
-@@ -162,7 +197,11 @@ static int dib8000_write_word(struct dib8000_state *state, u16 reg, u16 val)
- state->msg[0].buf = state->i2c_write_buffer;
- state->msg[0].len = 4;
-
-- return i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ? -EREMOTEIO : 0;
-+ ret = (i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ?
-+ -EREMOTEIO : 0);
-+ mutex_unlock(&state->i2c_buffer_lock);
-+
-+ return ret;
- }
-
- static const s16 coeff_2k_sb_1seg_dqpsk[8] = {
-@@ -2434,8 +2473,15 @@ int dib8000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 defau
- if (!client.i2c_read_buffer) {
- dprintk("%s: not enough memory", __func__);
- ret = -ENOMEM;
-- goto error_memory;
-+ goto error_memory_read;
-+ }
-+ client.i2c_buffer_lock = kzalloc(sizeof(struct mutex), GFP_KERNEL);
-+ if (!client.i2c_buffer_lock) {
-+ dprintk("%s: not enough memory", __func__);
-+ ret = -ENOMEM;
-+ goto error_memory_lock;
- }
-+ mutex_init(client.i2c_buffer_lock);
-
- for (k = no_of_demods - 1; k >= 0; k--) {
- /* designated i2c address */
-@@ -2476,8 +2522,10 @@ int dib8000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 defau
- }
-
- error:
-+ kfree(client.i2c_buffer_lock);
-+error_memory_lock:
- kfree(client.i2c_read_buffer);
--error_memory:
-+error_memory_read:
- kfree(client.i2c_write_buffer);
-
- return ret;
-@@ -2581,6 +2629,8 @@ struct dvb_frontend *dib8000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, s
- state->i2c.addr = i2c_addr;
- state->i2c.i2c_write_buffer = state->i2c_write_buffer;
- state->i2c.i2c_read_buffer = state->i2c_read_buffer;
-+ mutex_init(&state->i2c_buffer_lock);
-+ state->i2c.i2c_buffer_lock = &state->i2c_buffer_lock;
- state->gpio_val = cfg->gpio_val;
- state->gpio_dir = cfg->gpio_dir;
-
-diff --git a/drivers/media/dvb/frontends/dib9000.c b/drivers/media/dvb/frontends/dib9000.c
-index a085588..b931074 100644
---- a/drivers/media/dvb/frontends/dib9000.c
-+++ b/drivers/media/dvb/frontends/dib9000.c
-@@ -38,6 +38,15 @@ struct i2c_device {
- #define DibInitLock(lock) mutex_init(lock)
- #define DibFreeLock(lock)
-
-+struct dib9000_pid_ctrl {
-+#define DIB9000_PID_FILTER_CTRL 0
-+#define DIB9000_PID_FILTER 1
-+ u8 cmd;
-+ u8 id;
-+ u16 pid;
-+ u8 onoff;
-+};
-+
- struct dib9000_state {
- struct i2c_device i2c;
-
-@@ -99,6 +108,10 @@ struct dib9000_state {
- struct i2c_msg msg[2];
- u8 i2c_write_buffer[255];
- u8 i2c_read_buffer[255];
-+ DIB_LOCK demod_lock;
-+ u8 get_frontend_internal;
-+ struct dib9000_pid_ctrl pid_ctrl[10];
-+ s8 pid_ctrl_index; /* -1: empty list; -2: do not use the list */
- };
-
- static const u32 fe_info[44] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-@@ -1743,19 +1756,56 @@ EXPORT_SYMBOL(dib9000_set_gpio);
- int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff)
- {
- struct dib9000_state *state = fe->demodulator_priv;
-- u16 val = dib9000_read_word(state, 294 + 1) & 0xffef;
-+ u16 val;
-+ int ret;
-+
-+ if ((state->pid_ctrl_index != -2) && (state->pid_ctrl_index < 9)) {
-+ /* postpone the pid filtering cmd */
-+ dprintk("pid filter cmd postpone");
-+ state->pid_ctrl_index++;
-+ state->pid_ctrl[state->pid_ctrl_index].cmd = DIB9000_PID_FILTER_CTRL;
-+ state->pid_ctrl[state->pid_ctrl_index].onoff = onoff;
-+ return 0;
-+ }
-+
-+ DibAcquireLock(&state->demod_lock);
-+
-+ val = dib9000_read_word(state, 294 + 1) & 0xffef;
- val |= (onoff & 0x1) << 4;
-
- dprintk("PID filter enabled %d", onoff);
-- return dib9000_write_word(state, 294 + 1, val);
-+ ret = dib9000_write_word(state, 294 + 1, val);
-+ DibReleaseLock(&state->demod_lock);
-+ return ret;
-+
- }
- EXPORT_SYMBOL(dib9000_fw_pid_filter_ctrl);
-
- int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff)
- {
- struct dib9000_state *state = fe->demodulator_priv;
-+ int ret;
-+
-+ if (state->pid_ctrl_index != -2) {
-+ /* postpone the pid filtering cmd */
-+ dprintk("pid filter postpone");
-+ if (state->pid_ctrl_index < 9) {
-+ state->pid_ctrl_index++;
-+ state->pid_ctrl[state->pid_ctrl_index].cmd = DIB9000_PID_FILTER;
-+ state->pid_ctrl[state->pid_ctrl_index].id = id;
-+ state->pid_ctrl[state->pid_ctrl_index].pid = pid;
-+ state->pid_ctrl[state->pid_ctrl_index].onoff = onoff;
-+ } else
-+ dprintk("can not add any more pid ctrl cmd");
-+ return 0;
-+ }
-+
-+ DibAcquireLock(&state->demod_lock);
- dprintk("Index %x, PID %d, OnOff %d", id, pid, onoff);
-- return dib9000_write_word(state, 300 + 1 + id, onoff ? (1 << 13) | pid : 0);
-+ ret = dib9000_write_word(state, 300 + 1 + id,
-+ onoff ? (1 << 13) | pid : 0);
-+ DibReleaseLock(&state->demod_lock);
-+ return ret;
- }
- EXPORT_SYMBOL(dib9000_fw_pid_filter);
-
-@@ -1778,6 +1828,7 @@ static void dib9000_release(struct dvb_frontend *demod)
- DibFreeLock(&state->platform.risc.mbx_lock);
- DibFreeLock(&state->platform.risc.mem_lock);
- DibFreeLock(&state->platform.risc.mem_mbx_lock);
-+ DibFreeLock(&state->demod_lock);
- dibx000_exit_i2c_master(&st->i2c_master);
-
- i2c_del_adapter(&st->tuner_adap);
-@@ -1795,14 +1846,19 @@ static int dib9000_sleep(struct dvb_frontend *fe)
- {
- struct dib9000_state *state = fe->demodulator_priv;
- u8 index_frontend;
-- int ret;
-+ int ret = 0;
-
-+ DibAcquireLock(&state->demod_lock);
- for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) {
- ret = state->fe[index_frontend]->ops.sleep(state->fe[index_frontend]);
- if (ret < 0)
-- return ret;
-+ goto error;
- }
-- return dib9000_mbx_send(state, OUT_MSG_FE_SLEEP, NULL, 0);
-+ ret = dib9000_mbx_send(state, OUT_MSG_FE_SLEEP, NULL, 0);
-+
-+error:
-+ DibReleaseLock(&state->demod_lock);
-+ return ret;
- }
-
- static int dib9000_fe_get_tune_settings(struct dvb_frontend *fe, struct dvb_frontend_tune_settings *tune)
-@@ -1816,7 +1872,10 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par
- struct dib9000_state *state = fe->demodulator_priv;
- u8 index_frontend, sub_index_frontend;
- fe_status_t stat;
-- int ret;
-+ int ret = 0;
-+
-+ if (state->get_frontend_internal == 0)
-+ DibAcquireLock(&state->demod_lock);
-
- for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) {
- state->fe[index_frontend]->ops.read_status(state->fe[index_frontend], &stat);
-@@ -1846,14 +1905,15 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par
- state->fe[index_frontend]->dtv_property_cache.rolloff;
- }
- }
-- return 0;
-+ ret = 0;
-+ goto return_value;
- }
- }
-
- /* get the channel from master chip */
- ret = dib9000_fw_get_channel(fe, fep);
- if (ret != 0)
-- return ret;
-+ goto return_value;
-
- /* synchronize the cache with the other frontends */
- for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) {
-@@ -1866,8 +1926,12 @@ static int dib9000_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_par
- state->fe[index_frontend]->dtv_property_cache.code_rate_LP = fe->dtv_property_cache.code_rate_LP;
- state->fe[index_frontend]->dtv_property_cache.rolloff = fe->dtv_property_cache.rolloff;
- }
-+ ret = 0;
-
-- return 0;
-+return_value:
-+ if (state->get_frontend_internal == 0)
-+ DibReleaseLock(&state->demod_lock);
-+ return ret;
- }
-
- static int dib9000_set_tune_state(struct dvb_frontend *fe, enum frontend_tune_state tune_state)
-@@ -1912,6 +1976,10 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par
- dprintk("dib9000: must specify bandwidth ");
- return 0;
- }
-+
-+ state->pid_ctrl_index = -1; /* postpone the pid filtering cmd */
-+ DibAcquireLock(&state->demod_lock);
-+
- fe->dtv_property_cache.delivery_system = SYS_DVBT;
-
- /* set the master status */
-@@ -1974,13 +2042,18 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par
- /* check the tune result */
- if (exit_condition == 1) { /* tune failed */
- dprintk("tune failed");
-+ DibReleaseLock(&state->demod_lock);
-+ /* tune failed; put all the pid filtering cmd to junk */
-+ state->pid_ctrl_index = -1;
- return 0;
- }
-
- dprintk("tune success on frontend%i", index_frontend_success);
-
- /* synchronize all the channel cache */
-+ state->get_frontend_internal = 1;
- dib9000_get_frontend(state->fe[0], fep);
-+ state->get_frontend_internal = 0;
-
- /* retune the other frontends with the found channel */
- channel_status.status = CHANNEL_STATUS_PARAMETERS_SET;
-@@ -2025,6 +2098,28 @@ static int dib9000_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_par
- /* turn off the diversity for the last frontend */
- dib9000_fw_set_diversity_in(state->fe[index_frontend - 1], 0);
-
-+ DibReleaseLock(&state->demod_lock);
-+ if (state->pid_ctrl_index >= 0) {
-+ u8 index_pid_filter_cmd;
-+ u8 pid_ctrl_index = state->pid_ctrl_index;
-+
-+ state->pid_ctrl_index = -2;
-+ for (index_pid_filter_cmd = 0;
-+ index_pid_filter_cmd <= pid_ctrl_index;
-+ index_pid_filter_cmd++) {
-+ if (state->pid_ctrl[index_pid_filter_cmd].cmd == DIB9000_PID_FILTER_CTRL)
-+ dib9000_fw_pid_filter_ctrl(state->fe[0],
-+ state->pid_ctrl[index_pid_filter_cmd].onoff);
-+ else if (state->pid_ctrl[index_pid_filter_cmd].cmd == DIB9000_PID_FILTER)
-+ dib9000_fw_pid_filter(state->fe[0],
-+ state->pid_ctrl[index_pid_filter_cmd].id,
-+ state->pid_ctrl[index_pid_filter_cmd].pid,
-+ state->pid_ctrl[index_pid_filter_cmd].onoff);
-+ }
-+ }
-+ /* do not postpone any more the pid filtering */
-+ state->pid_ctrl_index = -2;
-+
- return 0;
- }
-
-@@ -2041,6 +2136,7 @@ static int dib9000_read_status(struct dvb_frontend *fe, fe_status_t * stat)
- u8 index_frontend;
- u16 lock = 0, lock_slave = 0;
-
-+ DibAcquireLock(&state->demod_lock);
- for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++)
- lock_slave |= dib9000_read_lock(state->fe[index_frontend]);
-
-@@ -2059,6 +2155,8 @@ static int dib9000_read_status(struct dvb_frontend *fe, fe_status_t * stat)
- if ((lock & 0x0008) || (lock_slave & 0x0008))
- *stat |= FE_HAS_LOCK;
-
-+ DibReleaseLock(&state->demod_lock);
-+
- return 0;
- }
-
-@@ -2066,10 +2164,14 @@ static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber)
- {
- struct dib9000_state *state = fe->demodulator_priv;
- u16 *c;
-+ int ret = 0;
-
-+ DibAcquireLock(&state->demod_lock);
- DibAcquireLock(&state->platform.risc.mem_mbx_lock);
-- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0)
-- return -EIO;
-+ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) {
-+ ret = -EIO;
-+ goto error;
-+ }
- dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR,
- state->i2c_read_buffer, 16 * 2);
- DibReleaseLock(&state->platform.risc.mem_mbx_lock);
-@@ -2077,7 +2179,10 @@ static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber)
- c = (u16 *)state->i2c_read_buffer;
-
- *ber = c[10] << 16 | c[11];
-- return 0;
-+
-+error:
-+ DibReleaseLock(&state->demod_lock);
-+ return ret;
- }
-
- static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength)
-@@ -2086,7 +2191,9 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength)
- u8 index_frontend;
- u16 *c = (u16 *)state->i2c_read_buffer;
- u16 val;
-+ int ret = 0;
-
-+ DibAcquireLock(&state->demod_lock);
- *strength = 0;
- for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) {
- state->fe[index_frontend]->ops.read_signal_strength(state->fe[index_frontend], &val);
-@@ -2097,8 +2204,10 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength)
- }
-
- DibAcquireLock(&state->platform.risc.mem_mbx_lock);
-- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0)
-- return -EIO;
-+ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) {
-+ ret = -EIO;
-+ goto error;
-+ }
- dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2);
- DibReleaseLock(&state->platform.risc.mem_mbx_lock);
-
-@@ -2107,7 +2216,10 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength)
- *strength = 65535;
- else
- *strength += val;
-- return 0;
-+
-+error:
-+ DibReleaseLock(&state->demod_lock);
-+ return ret;
- }
-
- static u32 dib9000_get_snr(struct dvb_frontend *fe)
-@@ -2151,6 +2263,7 @@ static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr)
- u8 index_frontend;
- u32 snr_master;
-
-+ DibAcquireLock(&state->demod_lock);
- snr_master = dib9000_get_snr(fe);
- for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++)
- snr_master += dib9000_get_snr(state->fe[index_frontend]);
-@@ -2161,6 +2274,8 @@ static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr)
- } else
- *snr = 0;
-
-+ DibReleaseLock(&state->demod_lock);
-+
- return 0;
- }
-
-@@ -2168,15 +2283,22 @@ static int dib9000_read_unc_blocks(struct dvb_frontend *fe, u32 * unc)
- {
- struct dib9000_state *state = fe->demodulator_priv;
- u16 *c = (u16 *)state->i2c_read_buffer;
-+ int ret = 0;
-
-+ DibAcquireLock(&state->demod_lock);
- DibAcquireLock(&state->platform.risc.mem_mbx_lock);
-- if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0)
-- return -EIO;
-+ if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) {
-+ ret = -EIO;
-+ goto error;
-+ }
- dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2);
- DibReleaseLock(&state->platform.risc.mem_mbx_lock);
-
- *unc = c[12];
-- return 0;
-+
-+error:
-+ DibReleaseLock(&state->demod_lock);
-+ return ret;
- }
-
- int dib9000_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, u8 first_addr)
-@@ -2322,6 +2444,10 @@ struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, c
- DibInitLock(&st->platform.risc.mbx_lock);
- DibInitLock(&st->platform.risc.mem_lock);
- DibInitLock(&st->platform.risc.mem_mbx_lock);
-+ DibInitLock(&st->demod_lock);
-+ st->get_frontend_internal = 0;
-+
-+ st->pid_ctrl_index = -2;
-
- st->fe[0] = fe;
- fe->demodulator_priv = st;
-diff --git a/drivers/media/dvb/frontends/dibx000_common.c b/drivers/media/dvb/frontends/dibx000_common.c
-index dc5d17a..774d507 100644
---- a/drivers/media/dvb/frontends/dibx000_common.c
-+++ b/drivers/media/dvb/frontends/dibx000_common.c
-@@ -1,4 +1,5 @@
- #include <linux/i2c.h>
-+#include <linux/mutex.h>
-
- #include "dibx000_common.h"
-
-@@ -10,6 +11,13 @@ MODULE_PARM_DESC(debug, "turn on debugging (default: 0)");
-
- static int dibx000_write_word(struct dibx000_i2c_master *mst, u16 reg, u16 val)
- {
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+
- mst->i2c_write_buffer[0] = (reg >> 8) & 0xff;
- mst->i2c_write_buffer[1] = reg & 0xff;
- mst->i2c_write_buffer[2] = (val >> 8) & 0xff;
-@@ -21,11 +29,21 @@ static int dibx000_write_word(struct dibx000_i2c_master *mst, u16 reg, u16 val)
- mst->msg[0].buf = mst->i2c_write_buffer;
- mst->msg[0].len = 4;
-
-- return i2c_transfer(mst->i2c_adap, mst->msg, 1) != 1 ? -EREMOTEIO : 0;
-+ ret = i2c_transfer(mst->i2c_adap, mst->msg, 1) != 1 ? -EREMOTEIO : 0;
-+ mutex_unlock(&mst->i2c_buffer_lock);
-+
-+ return ret;
- }
-
- static u16 dibx000_read_word(struct dibx000_i2c_master *mst, u16 reg)
- {
-+ u16 ret;
-+
-+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- mst->i2c_write_buffer[0] = reg >> 8;
- mst->i2c_write_buffer[1] = reg & 0xff;
-
-@@ -42,7 +60,10 @@ static u16 dibx000_read_word(struct dibx000_i2c_master *mst, u16 reg)
- if (i2c_transfer(mst->i2c_adap, mst->msg, 2) != 2)
- dprintk("i2c read error on %d", reg);
-
-- return (mst->i2c_read_buffer[0] << 8) | mst->i2c_read_buffer[1];
-+ ret = (mst->i2c_read_buffer[0] << 8) | mst->i2c_read_buffer[1];
-+ mutex_unlock(&mst->i2c_buffer_lock);
-+
-+ return ret;
- }
-
- static int dibx000_is_i2c_done(struct dibx000_i2c_master *mst)
-@@ -257,6 +278,7 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap,
- struct i2c_msg msg[], int num)
- {
- struct dibx000_i2c_master *mst = i2c_get_adapdata(i2c_adap);
-+ int ret;
-
- if (num > 32) {
- dprintk("%s: too much I2C message to be transmitted (%i).\
-@@ -264,10 +286,15 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap,
- return -ENOMEM;
- }
-
-- memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num));
--
- dibx000_i2c_select_interface(mst, DIBX000_I2C_INTERFACE_GPIO_6_7);
-
-+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+
-+ memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num));
-+
- /* open the gate */
- dibx000_i2c_gate_ctrl(mst, &mst->i2c_write_buffer[0], msg[0].addr, 1);
- mst->msg[0].addr = mst->i2c_addr;
-@@ -282,7 +309,11 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap,
- mst->msg[num + 1].buf = &mst->i2c_write_buffer[4];
- mst->msg[num + 1].len = 4;
-
-- return i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? num : -EIO;
-+ ret = (i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ?
-+ num : -EIO);
-+
-+ mutex_unlock(&mst->i2c_buffer_lock);
-+ return ret;
- }
-
- static struct i2c_algorithm dibx000_i2c_gated_gpio67_algo = {
-@@ -294,6 +325,7 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap,
- struct i2c_msg msg[], int num)
- {
- struct dibx000_i2c_master *mst = i2c_get_adapdata(i2c_adap);
-+ int ret;
-
- if (num > 32) {
- dprintk("%s: too much I2C message to be transmitted (%i).\
-@@ -301,10 +333,14 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap,
- return -ENOMEM;
- }
-
-- memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num));
--
- dibx000_i2c_select_interface(mst, DIBX000_I2C_INTERFACE_TUNER);
-
-+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+ memset(mst->msg, 0, sizeof(struct i2c_msg) * (2 + num));
-+
- /* open the gate */
- dibx000_i2c_gate_ctrl(mst, &mst->i2c_write_buffer[0], msg[0].addr, 1);
- mst->msg[0].addr = mst->i2c_addr;
-@@ -319,7 +355,10 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap,
- mst->msg[num + 1].buf = &mst->i2c_write_buffer[4];
- mst->msg[num + 1].len = 4;
-
-- return i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ? num : -EIO;
-+ ret = (i2c_transfer(mst->i2c_adap, mst->msg, 2 + num) == 2 + num ?
-+ num : -EIO);
-+ mutex_unlock(&mst->i2c_buffer_lock);
-+ return ret;
- }
-
- static struct i2c_algorithm dibx000_i2c_gated_tuner_algo = {
-@@ -390,8 +429,18 @@ static int i2c_adapter_init(struct i2c_adapter *i2c_adap,
- int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, u16 device_rev,
- struct i2c_adapter *i2c_adap, u8 i2c_addr)
- {
-- u8 tx[4];
-- struct i2c_msg m = {.addr = i2c_addr >> 1,.buf = tx,.len = 4 };
-+ int ret;
-+
-+ mutex_init(&mst->i2c_buffer_lock);
-+ if (mutex_lock_interruptible(&mst->i2c_buffer_lock) < 0) {
-+ dprintk("could not acquire lock");
-+ return -EINVAL;
-+ }
-+ memset(mst->msg, 0, sizeof(struct i2c_msg));
-+ mst->msg[0].addr = i2c_addr >> 1;
-+ mst->msg[0].flags = 0;
-+ mst->msg[0].buf = mst->i2c_write_buffer;
-+ mst->msg[0].len = 4;
-
- mst->device_rev = device_rev;
- mst->i2c_adap = i2c_adap;
-@@ -431,9 +480,12 @@ int dibx000_init_i2c_master(struct dibx000_i2c_master *mst, u16 device_rev,
- "DiBX000: could not initialize the master i2c_adapter\n");
-
- /* initialize the i2c-master by closing the gate */
-- dibx000_i2c_gate_ctrl(mst, tx, 0, 0);
-+ dibx000_i2c_gate_ctrl(mst, mst->i2c_write_buffer, 0, 0);
-+
-+ ret = (i2c_transfer(i2c_adap, mst->msg, 1) == 1);
-+ mutex_unlock(&mst->i2c_buffer_lock);
-
-- return i2c_transfer(i2c_adap, &m, 1) == 1;
-+ return ret;
- }
-
- EXPORT_SYMBOL(dibx000_init_i2c_master);
-diff --git a/drivers/media/dvb/frontends/dibx000_common.h b/drivers/media/dvb/frontends/dibx000_common.h
-index f031165..5e01147 100644
---- a/drivers/media/dvb/frontends/dibx000_common.h
-+++ b/drivers/media/dvb/frontends/dibx000_common.h
-@@ -33,6 +33,7 @@ struct dibx000_i2c_master {
- struct i2c_msg msg[34];
- u8 i2c_write_buffer[8];
- u8 i2c_read_buffer[2];
-+ struct mutex i2c_buffer_lock;
- };
-
- extern int dibx000_init_i2c_master(struct dibx000_i2c_master *mst,
-commit 45cbff13693d645fa5dcbba964e802e1746b2e57
-Author: Olivier Grenie <olivier.grenie@dibcom.fr>
-Date: Mon Aug 1 17:45:58 2011 +0200
-
- [media] dib0700: protect the dib0700 buffer access
-
- This patch protects the common buffer access inside the dib0700 in order
- to manage concurrent access. This protection is done using mutex.
-
- Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
- Cc: Florian Mickler <florian@mickler.org>
- Cc: stable@kernel.org
-
- Signed-off-by: Javier Marcet <javier@marcet.info>
- Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
- Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
-
-diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c
-index 5eb91b4..291b645 100644
---- a/drivers/media/dvb/dvb-usb/dib0700_core.c
-+++ b/drivers/media/dvb/dvb-usb/dib0700_core.c
-@@ -30,6 +30,11 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion,
- struct dib0700_state *st = d->priv;
- int ret;
-
-+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0),
- REQUEST_GET_VERSION,
- USB_TYPE_VENDOR | USB_DIR_IN, 0, 0,
-@@ -46,6 +51,7 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion,
- if (fwtype != NULL)
- *fwtype = (st->buf[12] << 24) | (st->buf[13] << 16) |
- (st->buf[14] << 8) | st->buf[15];
-+ mutex_unlock(&d->usb_mutex);
- return ret;
- }
-
-@@ -108,7 +114,12 @@ int dib0700_ctrl_rd(struct dvb_usb_device *d, u8 *tx, u8 txlen, u8 *rx, u8 rxlen
- int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_dir, u8 gpio_val)
- {
- struct dib0700_state *st = d->priv;
-- s16 ret;
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-
- st->buf[0] = REQUEST_SET_GPIO;
- st->buf[1] = gpio;
-@@ -116,6 +127,7 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_
-
- ret = dib0700_ctrl_wr(d, st->buf, 3);
-
-+ mutex_unlock(&d->usb_mutex);
- return ret;
- }
-
-@@ -125,6 +137,11 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets)
- int ret;
-
- if (st->fw_version >= 0x10201) {
-+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- st->buf[0] = REQUEST_SET_USB_XFER_LEN;
- st->buf[1] = (nb_ts_packets >> 8) & 0xff;
- st->buf[2] = nb_ts_packets & 0xff;
-@@ -132,6 +149,7 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets)
- deb_info("set the USB xfer len to %i Ts packet\n", nb_ts_packets);
-
- ret = dib0700_ctrl_wr(d, st->buf, 3);
-+ mutex_unlock(&d->usb_mutex);
- } else {
- deb_info("this firmware does not allow to change the USB xfer len\n");
- ret = -EIO;
-@@ -208,6 +226,10 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg,
-
- } else {
- /* Write request */
-+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
- st->buf[0] = REQUEST_NEW_I2C_WRITE;
- st->buf[1] = msg[i].addr << 1;
- st->buf[2] = (en_start << 7) | (en_stop << 6) |
-@@ -227,6 +249,7 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg,
- USB_TYPE_VENDOR | USB_DIR_OUT,
- 0, 0, st->buf, msg[i].len + 4,
- USB_CTRL_GET_TIMEOUT);
-+ mutex_unlock(&d->usb_mutex);
- if (result < 0) {
- deb_info("i2c write error (status = %d)\n", result);
- break;
-@@ -249,6 +272,10 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap,
-
- if (mutex_lock_interruptible(&d->i2c_mutex) < 0)
- return -EAGAIN;
-+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-
- for (i = 0; i < num; i++) {
- /* fill in the address */
-@@ -279,6 +306,7 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap,
- break;
- }
- }
-+ mutex_unlock(&d->usb_mutex);
- mutex_unlock(&d->i2c_mutex);
-
- return i;
-@@ -337,7 +365,12 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll,
- u16 pll_loopdiv, u16 free_div, u16 dsuScaler)
- {
- struct dib0700_state *st = d->priv;
-- s16 ret;
-+ int ret;
-+
-+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-
- st->buf[0] = REQUEST_SET_CLOCK;
- st->buf[1] = (en_pll << 7) | (pll_src << 6) |
-@@ -352,6 +385,7 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll,
- st->buf[9] = dsuScaler & 0xff; /* LSB */
-
- ret = dib0700_ctrl_wr(d, st->buf, 10);
-+ mutex_unlock(&d->usb_mutex);
-
- return ret;
- }
-@@ -360,10 +394,16 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz)
- {
- struct dib0700_state *st = d->priv;
- u16 divider;
-+ int ret;
-
- if (scl_kHz == 0)
- return -EINVAL;
-
-+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- st->buf[0] = REQUEST_SET_I2C_PARAM;
- divider = (u16) (30000 / scl_kHz);
- st->buf[1] = 0;
-@@ -379,7 +419,11 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz)
- deb_info("setting I2C speed: %04x %04x %04x (%d kHz).",
- (st->buf[2] << 8) | (st->buf[3]), (st->buf[4] << 8) |
- st->buf[5], (st->buf[6] << 8) | st->buf[7], scl_kHz);
-- return dib0700_ctrl_wr(d, st->buf, 8);
-+
-+ ret = dib0700_ctrl_wr(d, st->buf, 8);
-+ mutex_unlock(&d->usb_mutex);
-+
-+ return ret;
- }
-
-
-@@ -515,6 +559,11 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff)
- }
- }
-
-+ if (mutex_lock_interruptible(&adap->dev->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- st->buf[0] = REQUEST_ENABLE_VIDEO;
- /* this bit gives a kind of command,
- * rather than enabling something or not */
-@@ -548,7 +597,10 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff)
-
- deb_info("data for streaming: %x %x\n", st->buf[1], st->buf[2]);
-
-- return dib0700_ctrl_wr(adap->dev, st->buf, 4);
-+ ret = dib0700_ctrl_wr(adap->dev, st->buf, 4);
-+ mutex_unlock(&adap->dev->usb_mutex);
-+
-+ return ret;
- }
-
- int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type)
-@@ -557,6 +609,11 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type)
- struct dib0700_state *st = d->priv;
- int new_proto, ret;
-
-+ if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-+ dprintk("could not acquire lock");
-+ return 0;
-+ }
-+
- st->buf[0] = REQUEST_SET_RC;
- st->buf[1] = 0;
- st->buf[2] = 0;
-@@ -567,23 +624,29 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type)
- else if (rc_type == RC_TYPE_NEC)
- new_proto = 0;
- else if (rc_type == RC_TYPE_RC6) {
-- if (st->fw_version < 0x10200)
-- return -EINVAL;
-+ if (st->fw_version < 0x10200) {
-+ ret = -EINVAL;
-+ goto out;
-+ }
-
- new_proto = 2;
-- } else
-- return -EINVAL;
-+ } else {
-+ ret = -EINVAL;
-+ goto out;
-+ }
-
- st->buf[1] = new_proto;
-
- ret = dib0700_ctrl_wr(d, st->buf, 3);
- if (ret < 0) {
- err("ir protocol setup failed");
-- return ret;
-+ goto out;
- }
-
- d->props.rc.core.protocol = rc_type;
-
-+out:
-+ mutex_unlock(&d->usb_mutex);
- return ret;
- }
-
-commit aeb2d456b746164a4bd19e53de0a6678ca63fcad
-Author: Olivier Grenie <olivier.grenie@dibcom.fr>
-Date: Thu Aug 4 18:10:03 2011 +0200
-
- [media] dib0700: correct error message
-
- The goal of this patch is to correct a previous patch. In case of error,
- the err() function should be used instead of dprintk() function.
-
- Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
-
-diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c
-index 291b645..b693ed1 100644
---- a/drivers/media/dvb/dvb-usb/dib0700_core.c
-+++ b/drivers/media/dvb/dvb-usb/dib0700_core.c
-@@ -31,7 +31,7 @@ int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion,
- int ret;
-
- if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
-
-@@ -117,7 +117,7 @@ int dib0700_set_gpio(struct dvb_usb_device *d, enum dib07x0_gpios gpio, u8 gpio_
- int ret;
-
- if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
-
-@@ -138,7 +138,7 @@ static int dib0700_set_usb_xfer_len(struct dvb_usb_device *d, u16 nb_ts_packets)
-
- if (st->fw_version >= 0x10201) {
- if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
-
-@@ -227,7 +227,7 @@ static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg,
- } else {
- /* Write request */
- if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
- st->buf[0] = REQUEST_NEW_I2C_WRITE;
-@@ -273,7 +273,7 @@ static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap,
- if (mutex_lock_interruptible(&d->i2c_mutex) < 0)
- return -EAGAIN;
- if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
-
-@@ -368,7 +368,7 @@ static int dib0700_set_clock(struct dvb_usb_device *d, u8 en_pll,
- int ret;
-
- if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
-
-@@ -400,7 +400,7 @@ int dib0700_set_i2c_speed(struct dvb_usb_device *d, u16 scl_kHz)
- return -EINVAL;
-
- if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
-
-@@ -560,7 +560,7 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff)
- }
-
- if (mutex_lock_interruptible(&adap->dev->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
-
-@@ -610,7 +610,7 @@ int dib0700_change_protocol(struct rc_dev *rc, u64 rc_type)
- int new_proto, ret;
-
- if (mutex_lock_interruptible(&d->usb_mutex) < 0) {
-- dprintk("could not acquire lock");
-+ err("could not acquire lock");
- return 0;
- }
-
diff --git a/libre/linux-libre/ext4-options.patch b/libre/linux-libre/ext4-options.patch
deleted file mode 100644
index ea48c384b..000000000
--- a/libre/linux-libre/ext4-options.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Report: https://bbs.archlinux.org/profile.php?id=33804
-Signed-off-by: Tom Gundersen <teg@jklm.no>
-Cc: Thomas Baechler <thomas@archlinux.org>
-Cc: Tobias Powalowski <tobias.powalowski@googlemail.com>
-Cc: Dave Reisner <d@falconindy.com>
----
- fs/ext4/super.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/fs/ext4/super.c b/fs/ext4/super.c
-index 502c61f..30de9cd 100644
---- a/fs/ext4/super.c
-+++ b/fs/ext4/super.c
-@@ -1333,6 +1333,7 @@ enum {
- Opt_inode_readahead_blks, Opt_journal_ioprio,
- Opt_dioread_nolock, Opt_dioread_lock,
- Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable,
-+ Opt_nocheck, Opt_reservation, Opt_noreservation, Opt_journal_inum,
- };
-
- static const match_table_t tokens = {
-@@ -1408,6 +1409,10 @@ static const match_table_t tokens = {
- {Opt_init_itable, "init_itable=%u"},
- {Opt_init_itable, "init_itable"},
- {Opt_noinit_itable, "noinit_itable"},
-+ {Opt_nocheck, "nocheck"},
-+ {Opt_reservation, "reservation"},
-+ {Opt_noreservation, "noreservation"},
-+ {Opt_journal_inum, "journal=%u"},
- {Opt_err, NULL},
- };
-
-@@ -1904,6 +1909,16 @@ set_qf_format:
- case Opt_noinit_itable:
- clear_opt(sb, INIT_INODE_TABLE);
- break;
-+#ifdef CONFIG_EXT4_USE_FOR_EXT23
-+ case Opt_nocheck:
-+ case Opt_reservation:
-+ case Opt_noreservation:
-+ case Opt_journal_inum:
-+ ext4_msg(sb, KERN_WARNING,
-+ "ext3 mount option \"%s\" ignored "
-+ "by ext4 module", p);
-+ break;
-+#endif
- default:
- ext4_msg(sb, KERN_ERR,
- "Unrecognized mount option \"%s\" "
-
diff --git a/libre/linux-libre/fix-i915.patch b/libre/linux-libre/fix-i915.patch
deleted file mode 100644
index 3b631361a..000000000
--- a/libre/linux-libre/fix-i915.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
-Tested-by: Santi <santi@agolina.net>
----
- drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++
- 1 files changed, 9 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index dc83b7a..c8f67bf 100644
---- a/drivers/gpu/drm/i915/intel_tv.c
-+++ b/drivers/gpu/drm/i915/intel_tv.c
-@@ -1267,6 +1267,15 @@
- DAC_B_0_7_V |
- DAC_C_0_7_V);
-
-+ /*
-+ * The TV sense state should be cleared to zero on cantiga platform. Otherwise
-+ * the TV is misdetected. This is hardware requirement.
-+ */
-+ if (IS_GM45(dev))
-+ tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL |
-+ TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL);
-+
-+
- I915_WRITE(TV_CTL, tv_ctl);
- I915_WRITE(TV_DAC, tv_dac);
- POSTING_READ(TV_DAC);
diff --git a/libre/linux-libre/fix-memblock-3.3.x.patch b/libre/linux-libre/fix-memblock-3.3.x.patch
deleted file mode 100644
index 3f6c984f4..000000000
--- a/libre/linux-libre/fix-memblock-3.3.x.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From: Tejun Heo <tj <at> kernel.org>
-Subject: [PATCH 3.4-rc3] memblock: memblock should be able to handle zero length operations
-Newsgroups: gmane.linux.kernel, gmane.linux.kernel.stable
-Date: 2012-04-20 15:31:34 GMT (2 days, 14 hours and 59 minutes ago)
-24aa07882b "memblock, x86: Replace memblock_x86_reserve/free_range()
-with generic ones" replaced x86 specific memblock operations with the
-generic ones; unfortunately, it lost zero length operation handling in
-the process making the kernel panic if somebody tries to reserve zero
-length area.
-
-There isn't much to be gained by being cranky to zero length
-operations and panicking is almost the worst response. Drop the
-BUG_ON() in memblock_reserve() and update
-memblock_add_region/isolate_range() so that all zero length operations
-are handled as noops.
-
-Signed-off-by: Tejun Heo <tj <at> kernel.org>
-Cc: stable <at> vger.kernel.org
-Reported-by: Valere Monseur <valere.monseur <at> ymail.com>
-Bisected-by: Joseph Freeman <jfree143dev <at> gmail.com>
-Tested-by: Joseph Freeman <jfree143dev <at> gmail.com>
-Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43098
----
-This is causing early panics if anyone tries to reserve zero len area,
-which unfortunately isn't too uncommon depending on BIOS. The fix is
-fairly safe. Unsure which tree it should go through. Cc'ing Linus
-and Ingo.
-
-Thanks.
-
- mm/memblock.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/mm/memblock.c b/mm/memblock.c
-index 99f2855..a44eab3 100644
---- a/mm/memblock.c
-+++ b/mm/memblock.c
-@@ -330,6 +330,9 @@ static int __init_memblock memblock_add_region(struct memblock_type *type,
- phys_addr_t end = base + memblock_cap_size(base, &size);
- int i, nr_new;
-
-+ if (!size)
-+ return 0;
-+
- /* special case for empty array */
- if (type->regions[0].size == 0) {
- WARN_ON(type->cnt != 1 || type->total_size);
-@@ -430,6 +433,9 @@ static int __init_memblock memblock_isolate_range(struct memblock_type *type,
-
- *start_rgn = *end_rgn = 0;
-
-+ if (!size)
-+ return 0;
-+
- /* we'll create at most two more regions */
- while (type->cnt + 2 > type->max)
- if (memblock_double_array(type) < 0)
-@@ -514,7 +520,6 @@ int __init_memblock memblock_reserve(phys_addr_t base, phys_addr_t size)
- (unsigned long long)base,
- (unsigned long long)base + size,
- (void *)_RET_IP_);
-- BUG_ON(0 == size);
-
- return memblock_add_region(_rgn, base, size, MAX_NUMNODES);
- }
diff --git a/libre/linux-libre/fix-r8712u-3.3.2.patch b/libre/linux-libre/fix-r8712u-3.3.2.patch
deleted file mode 100644
index a83618dcd..000000000
--- a/libre/linux-libre/fix-r8712u-3.3.2.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-commit 2080913e017ab9f88379d93fd09546ad95faf87b
-Author: Larry Finger <Larry.Finger@lwfinger.net>
-Date: Sat Feb 25 18:10:21 2012 -0600
-
- staging: r8712u: Fix regression caused by commit 8c213fa
-
- In commit 8c213fa "staging: r8712u: Use asynchronous firmware loading",
- the command to release the firmware was placed in the wrong routine.
-
- In combination with the bug introduced in commit a5ee652 "staging: r8712u:
- Interface-state not fully tracked", the driver attempts to upload firmware
- that had already been released. This bug is the source of one of the
- problems in https://bugs.archlinux.org/task/27996#comment89833.
-
- Tested-by: Alberto Lago Ballesteros <saniukeokusainaya@gmail.com>
- Tested-by: Adrian <agib@gmx.de>
- Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
- Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c
-index 4cf175f..7bbd53a 100644
---- a/drivers/staging/rtl8712/os_intfs.c
-+++ b/drivers/staging/rtl8712/os_intfs.c
-@@ -475,9 +475,6 @@ static int netdev_close(struct net_device *pnetdev)
- r8712_free_assoc_resources(padapter);
- /*s2-4.*/
- r8712_free_network_queue(padapter);
-- release_firmware(padapter->fw);
-- /* never exit with a firmware callback pending */
-- wait_for_completion(&padapter->rtl8712_fw_ready);
- return 0;
- }
-
-diff --git a/drivers/staging/rtl8712/usb_intf.c b/drivers/staging/rtl8712/usb_intf.c
-index fe0e2ff..e01fe14 100644
---- a/drivers/staging/rtl8712/usb_intf.c
-+++ b/drivers/staging/rtl8712/usb_intf.c
-@@ -30,6 +30,7 @@
-
- #include <linux/usb.h>
- #include <linux/module.h>
-+#include <linux/firmware.h>
-
- #include "osdep_service.h"
- #include "drv_types.h"
-@@ -620,6 +621,10 @@ static void r871xu_dev_remove(struct usb_interface *pusb_intf)
- struct _adapter *padapter = netdev_priv(pnetdev);
- struct usb_device *udev = interface_to_usbdev(pusb_intf);
-
-+ if (padapter->fw_found)
-+ release_firmware(padapter->fw);
-+ /* never exit with a firmware callback pending */
-+ wait_for_completion(&padapter->rtl8712_fw_ready);
- usb_set_intfdata(pusb_intf, NULL);
- if (padapter) {
- if (drvpriv.drv_registered == true)
diff --git a/libre/linux-libre/i915-fix-incorrect-error-message.patch b/libre/linux-libre/i915-fix-incorrect-error-message.patch
deleted file mode 100644
index e1addbb05..000000000
--- a/libre/linux-libre/i915-fix-incorrect-error-message.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 6c76e0b94e484ffbdf38d2fe2769b6ca9aa99de4
-Author: Thomas Bächler <thomas@archlinux.org>
-Date: Mon Oct 31 19:16:18 2011 +0100
-
- Change accidental error message to debug message.
-
- According to https://lkml.org/lkml/2011/9/19/80, this is not supposed
- to be an error message, but a debug message. This worries users.
-
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 04411ad..02d5794 100644
---- a/drivers/gpu/drm/i915/intel_display.c
-+++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -5172,7 +5172,7 @@ static void ironlake_update_pch_refclk(struct drm_device *dev)
- } else {
- /* Enable SSC on PCH eDP if needed */
- if (intel_panel_use_ssc(dev_priv)) {
-- DRM_ERROR("enabling SSC on PCH\n");
-+ DRM_DEBUG("enabling SSC on PCH\n");
- temp |= DREF_SUPERSPREAD_SOURCE_ENABLE;
- }
- }
diff --git a/libre/linux-libre/i915-gpu-finish.patch b/libre/linux-libre/i915-gpu-finish.patch
deleted file mode 100644
index 5840c9181..000000000
--- a/libre/linux-libre/i915-gpu-finish.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-commit 389a55581e30607af0fcde6cdb4e54f189cf46cf
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Tue Nov 29 15:12:16 2011 +0000
-
- drm/i915: Only clear the GPU domains upon a successful finish
-
- By clearing the GPU read domains before waiting upon the buffer, we run
- the risk of the wait being interrupted and the domains prematurely
- cleared. The next time we attempt to wait upon the buffer (after
- userspace handles the signal), we believe that the buffer is idle and so
- skip the wait.
-
- There are a number of bugs across all generations which show signs of an
- overly haste reuse of active buffers.
-
- Such as:
-
- https://bugs.freedesktop.org/show_bug.cgi?id=29046
- https://bugs.freedesktop.org/show_bug.cgi?id=35863
- https://bugs.freedesktop.org/show_bug.cgi?id=38952
- https://bugs.freedesktop.org/show_bug.cgi?id=40282
- https://bugs.freedesktop.org/show_bug.cgi?id=41098
- https://bugs.freedesktop.org/show_bug.cgi?id=41102
- https://bugs.freedesktop.org/show_bug.cgi?id=41284
- https://bugs.freedesktop.org/show_bug.cgi?id=42141
-
- A couple of those pre-date i915_gem_object_finish_gpu(), so may be
- unrelated (such as a wild write from a userspace command buffer), but
- this does look like a convincing cause for most of those bugs.
-
- Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
- Cc: stable@kernel.org
- Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
- Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index d560175..036bc58 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -3087,10 +3087,13 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj)
- return ret;
- }
-
-+ ret = i915_gem_object_wait_rendering(obj);
-+ if (ret)
-+ return ret;
-+
- /* Ensure that we invalidate the GPU's caches and TLBs. */
- obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS;
--
-- return i915_gem_object_wait_rendering(obj);
-+ return 0;
- }
-
- /**
diff --git a/libre/linux-libre/iwlagn-fix-NULL-pointer-dereference.patch b/libre/linux-libre/iwlagn-fix-NULL-pointer-dereference.patch
deleted file mode 100644
index a53a3a425..000000000
--- a/libre/linux-libre/iwlagn-fix-NULL-pointer-dereference.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-This fix regression introduced by commit:
-
-commit 15b3f3b006b42a678523cad989bfd60b76bf4403
-Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
-Date: Fri Jun 3 07:54:13 2011 -0700
-
- iwlagn: set smps mode after assoc for 1000 device
-
-Also remove unneeded brackets on the way.
-
-Address:
-https://bugzilla.redhat.com/show_bug.cgi?id=744155
-
-If fix will not get 3.1 release, it should be applied in 3.1 stable.
-
-Cc: stable@kernel.org # 3.1+
-Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
----
- drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
-index ca632f9..5004342 100644
---- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
-+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
-@@ -296,8 +296,8 @@ static int iwlagn_rxon_connect(struct iwl_priv *priv,
- return ret;
- }
-
-- if ((ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION) &&
-- priv->cfg->ht_params->smps_mode)
-+ if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION &&
-+ priv->cfg->ht_params && priv->cfg->ht_params->smps_mode)
- ieee80211_request_smps(ctx->vif,
- priv->cfg->ht_params->smps_mode);
-
---
-1.7.1
diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install
index dd133c2b1..6a2a2795a 100644
--- a/libre/linux-libre/linux-libre.install
+++ b/libre/linux-libre/linux-libre.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=3.3.3-1-LIBRE
+KERNEL_VERSION=3.4.0-1.2-LIBRE
post_install () {
# updating module dependencies
@@ -28,7 +28,7 @@ post_install () {
post_upgrade() {
pacman -Q grub &>/dev/null
hasgrub=$?
- pacman -Q grub2 &>/dev/null
+ pacman -Q grub2-common &>/dev/null
hasgrub2=$?
pacman -Q lilo &>/dev/null
haslilo=$?
diff --git a/libre/linux-libre/linux-libre.preset b/libre/linux-libre/linux-libre.preset
index 7af90ba7a..0ac59eb14 100644
--- a/libre/linux-libre/linux-libre.preset
+++ b/libre/linux-libre/linux-libre.preset
@@ -1,4 +1,4 @@
-# mkinitcpio preset file for the 'linux' package
+# mkinitcpio preset file for the 'linux-libre' package
ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux-libre"
diff --git a/libre/linux-libre/md-raid10-fix-bug-when-activating-a-hot-spare.patch b/libre/linux-libre/md-raid10-fix-bug-when-activating-a-hot-spare.patch
deleted file mode 100644
index 880849db5..000000000
--- a/libre/linux-libre/md-raid10-fix-bug-when-activating-a-hot-spare.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 7fcc7c8acf0fba44d19a713207af7e58267c1179 Mon Sep 17 00:00:00 2001
-From: NeilBrown <neilb@suse.de>
-Date: Mon, 31 Oct 2011 12:59:44 +1100
-Subject: md/raid10: Fix bug when activating a hot-spare.
-
-From: NeilBrown <neilb@suse.de>
-
-commit 7fcc7c8acf0fba44d19a713207af7e58267c1179 upstream.
-
-This is a fairly serious bug in RAID10.
-
-When a RAID10 array is degraded and a hot-spare is activated, the
-spare does not take up the empty slot, but rather replaces the first
-working device.
-This is likely to make the array non-functional. It would normally
-be possible to recover the data, but that would need care and is not
-guaranteed.
-
-This bug was introduced in commit
- 2bb77736ae5dca0a189829fbb7379d43364a9dac
-which first appeared in 3.1.
-
-Signed-off-by: NeilBrown <neilb@suse.de>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/md/raid10.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/md/raid10.c
-+++ b/drivers/md/raid10.c
-@@ -1337,7 +1337,7 @@ static int raid10_add_disk(mddev_t *mdde
- mirror_info_t *p = &conf->mirrors[mirror];
- if (p->recovery_disabled == mddev->recovery_disabled)
- continue;
-- if (!p->rdev)
-+ if (p->rdev)
- continue;
-
- disk_stack_limits(mddev->gendisk, rdev->bdev,
diff --git a/libre/linux-libre/usb-add-reset-resume-quirk-for-several-webcams.patch b/libre/linux-libre/usb-add-reset-resume-quirk-for-several-webcams.patch
deleted file mode 100644
index 9e570dd3f..000000000
--- a/libre/linux-libre/usb-add-reset-resume-quirk-for-several-webcams.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-commit 2394d67e446bf616a0885167d5f0d397bdacfdfc
-Author: Oliver Neukum <oneukum@suse.de>
-Date: Tue Sep 13 08:42:21 2011 +0200
-
- USB: add RESET_RESUME for webcams shown to be quirky
-
- The new runtime PM code has shown that many webcams suffer
- from a race condition that may crash them upon resume.
- Runtime PM is especially prone to show the problem because
- it retains power to the cameras at all times. However
- system suspension may also crash the devices and retain
- power to the devices.
- The only way to solve this problem without races is in
- usbcore with the RESET_RESUME quirk.
-
- Signed-off-by: Oliver Neukum <oneukum@suse.de>
- Signed-off-by: stable <stable@kernel.org>
- Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
-diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
-index 81ce6a8..38f0510 100644
---- a/drivers/usb/core/quirks.c
-+++ b/drivers/usb/core/quirks.c
-@@ -38,6 +38,24 @@ static const struct usb_device_id usb_quirk_list[] = {
- /* Creative SB Audigy 2 NX */
- { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
-
-+ /* Logitech Webcam C200 */
-+ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
-+
-+ /* Logitech Webcam C250 */
-+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
-+
-+ /* Logitech Webcam B/C500 */
-+ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
-+
-+ /* Logitech Webcam Pro 9000 */
-+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
-+
-+ /* Logitech Webcam C310 */
-+ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME },
-+
-+ /* Logitech Webcam C270 */
-+ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME },
-+
- /* Logitech Harmony 700-series */
- { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
-
-@@ -69,6 +87,9 @@ static const struct usb_device_id usb_quirk_list[] = {
- { USB_DEVICE(0x06a3, 0x0006), .driver_info =
- USB_QUIRK_CONFIG_INTF_STRINGS },
-
-+ /* Guillemot Webcam Hercules Dualpix Exchange*/
-+ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
-+
- /* M-Systems Flash Disk Pioneers */
- { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
-
-commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc
-Author: Jon Levell <linuxusb@coralbark.net>
-Date: Thu Sep 29 20:42:52 2011 +0100
-
- USB: add quirk for Logitech C300 web cam
-
- My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound.
- The following trivial patch fixes it.
-
- Signed-off-by: Jon Levell <linuxusb@coralbark.net>
- Cc: stable <stable@kernel.org>
- Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
-diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
-index 38f0510..d6a8d82 100644
---- a/drivers/usb/core/quirks.c
-+++ b/drivers/usb/core/quirks.c
-@@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = {
- /* Logitech Webcam C250 */
- { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
-
-+ /* Logitech Webcam C300 */
-+ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME },
-+
- /* Logitech Webcam B/C500 */
- { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
-
-diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
-index d6a8d82..caa1991 100644
---- a/drivers/usb/core/quirks.c
-+++ b/drivers/usb/core/quirks.c
-@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = {
- /* Logitech Webcam B/C500 */
- { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
-
-+ /* Logitech Webcam C600 */
-+ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
-+
- /* Logitech Webcam Pro 9000 */
- { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
-
diff --git a/libre/mplayer-vaapi-libre/PKGBUILD b/libre/mplayer-vaapi-libre/PKGBUILD
index 5c5ffef3a..7147a380d 100644
--- a/libre/mplayer-vaapi-libre/PKGBUILD
+++ b/libre/mplayer-vaapi-libre/PKGBUILD
@@ -1,20 +1,20 @@
# $Id$
# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
-# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
_pkgname=mplayer-vaapi
pkgname=mplayer-vaapi-libre
pkgver=34578
-pkgrel=4
+pkgrel=5.1
pkgdesc="A movie player, compiled with vaapi support"
arch=('i686' 'x86_64' 'mips64el')
url="http://gitorious.org/vaapi/mplayer"
license=('GPL')
depends=('libxxf86dga' 'libxxf86vm' 'libmad' 'libcdio' 'libxinerama' 'sdl-libre'
- 'lame-libre' 'fontconfig' 'libtheora' 'xvidcore' 'libmng' 'libxss' 'mesa'
+ 'lame' 'fontconfig' 'libtheora' 'xvidcore' 'libmng' 'libxss' 'mesa'
'smbclient' 'aalib' 'jack' 'libcaca' 'x264' 'speex' 'faad2'
'lirc-utils' 'ttf-dejavu' 'libxvmc' 'enca' 'opencore-amr' 'libdca'
'a52dec' 'schroedinger' 'mpg123' 'libvpx' 'libpulse' 'fribidi' 'faad2'
@@ -25,17 +25,22 @@ conflicts=('mplayer' "$_pkgname")
replaces=('mplayer-vaapi')
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
source=(http://pkgbuild.com/~foutrelis/mplayer-vaapi-$pkgver.tar.xz
- mplayer.desktop
- mplayer.png)
+ tweak-desktop-file.patch
+ mplayer.png
+ live-media.patch)
options=('!buildflags' '!emptydirs')
install=mplayer-vaapi.install
sha256sums=('cc35a057c8a64d2cdec2dc0a037811ef0f91dd03cd3d07465c7272a08665a37d'
- '9aa54571b37d15aec2c8e3ddf086753217efc3084ebf466335b2f28d819c74da'
- '061739a8cc267748ad58f168034cc39785d949a5262772535e1b347c7842af48')
+ '5b39f0a61969bf330c4434cb17975101be93c27334f65e154e4a93033033e795'
+ '061739a8cc267748ad58f168034cc39785d949a5262772535e1b347c7842af48'
+ '9c1400f27dd2ea54c125c66ed1af0eab19761b1b2ae808fa491cd3732fd8a685')
build() {
cd "$srcdir/mplayer-vaapi-$pkgver"
+ patch -d etc -Np0 -i "$srcdir/tweak-desktop-file.patch"
+ patch -Np0 -i "$srcdir/live-media.patch"
+
./configure --prefix=/usr \
--enable-runtime-cpudetection \
--disable-gui \
@@ -66,11 +71,10 @@ package() {
make -j1 DESTDIR="$pkgdir" install-mplayer install-mplayer-man
install -Dm644 etc/{codecs.conf,input.conf,example.conf} "$pkgdir/etc/mplayer/"
- install -dm755 "$pkgdir/usr/share/mplayer/"
+ install -Dm644 etc/mplayer.desktop "$pkgdir/usr/share/applications/mplayer.desktop"
+ install -d "$pkgdir/usr/share/mplayer/"
ln -s /usr/share/fonts/TTF/DejaVuSans.ttf "$pkgdir/usr/share/mplayer/subfont.ttf"
rm -rf "$pkgdir/usr/share/mplayer/font"
- # Desktop file (FS#14770)
- install -Dm644 "$srcdir/mplayer.desktop" "$pkgdir/usr/share/applications/mplayer.desktop"
install -Dm644 "$srcdir/mplayer.png" "$pkgdir/usr/share/pixmaps/mplayer.png"
}
diff --git a/libre/mplayer-vaapi-libre/live-media.patch b/libre/mplayer-vaapi-libre/live-media.patch
new file mode 100644
index 000000000..73a6451f5
--- /dev/null
+++ b/libre/mplayer-vaapi-libre/live-media.patch
@@ -0,0 +1,13 @@
+Index: libmpdemux/demux_rtp.cpp
+===================================================================
+--- libmpdemux/demux_rtp.cpp (revision 34798)
++++ libmpdemux/demux_rtp.cpp (working copy)
+@@ -19,6 +19,8 @@
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
++#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1
++
+ extern "C" {
+ // on MinGW, we must include windows.h before the things it conflicts
+ #ifdef __MINGW32__ // with. they are each protected from
diff --git a/libre/mplayer-vaapi-libre/mplayer-vaapi.install b/libre/mplayer-vaapi-libre/mplayer-vaapi.install
index 2f38769cb..af56cdbf4 100644
--- a/libre/mplayer-vaapi-libre/mplayer-vaapi.install
+++ b/libre/mplayer-vaapi-libre/mplayer-vaapi.install
@@ -2,8 +2,8 @@ post_install() {
update-desktop-database -q
}
post_upgrade() {
- post_install $1
+ post_install
}
post_remove() {
- post_install $1
+ post_install
}
diff --git a/libre/mplayer-vaapi-libre/tweak-desktop-file.patch b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
new file mode 100644
index 000000000..db0f377d2
--- /dev/null
+++ b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
@@ -0,0 +1,28 @@
+--- mplayer.desktop.orig 2012-05-13 19:25:26.000000000 +0300
++++ mplayer.desktop 2012-05-13 19:32:19.000000000 +0300
+@@ -7,12 +7,6 @@ GenericName[de]=Medienwiedergabe
+ GenericName[fr]=Lecteur multimédia
+ GenericName[it]=Lettore multimediale
+ GenericName[ja]=メディアプレーヤー
+-X-GNOME-FullName=MPlayer Media Player
+-X-GNOME-FullName[ca]=MPlayer Reproductor multimèdia
+-X-GNOME-FullName[de]=MPlayer Medienwiedergabe
+-X-GNOME-FullName[fr]=MPlayer Lecteur multimédia
+-X-GNOME-FullName[it]=MPlayer Lettore multimediale
+-X-GNOME-FullName[ja]=MPlayer メディアプレーヤー
+ Comment=Play movies and songs
+ Comment[ca]=Reproduïu vídeos i cançons
+ Comment[de]=Filme und Musik wiedergeben
+@@ -20,8 +14,9 @@ Comment[fr]=Lit les films et musiques
+ Comment[it]=Riproduce filmati e musica
+ Comment[ja]=動画や音声のファイルを再生します
+ Icon=mplayer
+-TryExec=gmplayer
+-Exec=gmplayer %F
++TryExec=mplayer
++Exec=mplayer -really-quiet %F
+ Terminal=false
++NoDisplay=true
+ Categories=GTK;AudioVideo;Audio;Video;Player;TV;
+-MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-theora;video/x-matroska;video/3gpp;application/x-flash-video;
++MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/mp4;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-flv;video/x-theora;video/x-matroska;video/3gpp;application/x-flash-video;
diff --git a/libre/pacman-mirrorlist-libre/PKGBUILD b/libre/pacman-mirrorlist-libre/PKGBUILD
index 914c939d2..9117277a7 100644
--- a/libre/pacman-mirrorlist-libre/PKGBUILD
+++ b/libre/pacman-mirrorlist-libre/PKGBUILD
@@ -5,9 +5,9 @@
pkgname=pacman-mirrorlist-libre
pkgver=$(date +%Y%m%d)
pkgrel=1
-pkgdesc="Parabola GNU/Linux mirror list for use by pacman"
+pkgdesc="Parabola GNU/Linux-libre mirror list for use by pacman"
arch=('any')
-url="http://repo.parabolagnulinux.org/mirrorlist.txt"
+url="https://repo.parabolagnulinux.org/mirrorlist.txt"
license=('GPL')
groups=('base')
backup=(etc/pacman.d/mirrorlist)
@@ -15,7 +15,7 @@ source=(mirrorlist::${url})
conflicts=(pacman-mirrorlist)
replaces=(pacman-mirrorlist)
provides=(pacman-mirrorlist)
-md5sums=('3c7958c93c36a41ad18f8d09fd1803ff')
+md5sums=('83cc258f57e6e9501246270bf776849e')
# keep an upgrade path for older installations
PKGEXT='.pkg.tar.gz'
diff --git a/libre/parabola-archiso-git/PKGBUILD b/libre/parabola-archiso-git/PKGBUILD
new file mode 100644
index 000000000..0b07ddf8d
--- /dev/null
+++ b/libre/parabola-archiso-git/PKGBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+pkgname=parabola-archiso-git
+pkgver=20120506
+pkgrel=1
+pkgdesc="Parabola GNU/Linux-libre livecd/liveusb generation scripts"
+arch=('any')
+url="https://parabolagnulinux.org"
+license=('GPL')
+depends=('libisoburn' 'squashfs-tools' 'rsync')
+optdepends=('qemu: quickly test isos')
+makedepends=('git')
+provides=('archiso')
+conflicts=('archiso')
+source=()
+md5sums=()
+
+_gitroot=git://parabolagnulinux.org/archiso.git
+_gitname=archiso
+
+build() {
+ cd ${srcdir}
+ msg "Connecting to projects.parabolagnulinux.org GIT server..."
+
+ if [ -d ${srcdir}/$_gitname ]; then
+ cd $_gitname && git pull origin
+ msg "The local files are updated."
+ else
+ git clone $_gitroot
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting make..."
+
+ if [ -d ${srcdir}/$_gitname-build ]; then
+ rm -rf ${srcdir}/$_gitname-build
+ fi
+
+ git clone ${srcdir}/$_gitname ${srcdir}/$_gitname-build || return 1
+ cd ${srcdir}/$_gitname-build/$_gitname || return 1
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/parabolaweb-git/Makefile b/libre/parabolaweb-git/Makefile
new file mode 100644
index 000000000..55115aba3
--- /dev/null
+++ b/libre/parabolaweb-git/Makefile
@@ -0,0 +1,26 @@
+all:
+ makepkg
+
+python_packages=south
+python2_packages=markdown|psycopg2|pyinotify|pytz
+requirements= https://projects.parabolagnulinux.org/parabolaweb.git/plain/requirements_prod.txt
+
+requirements_prod.txt: WEB
+ rm -f $@
+ wget --no-check-certificate $(requirements)
+
+deps-ver.txt: requirements_prod.txt
+ sed -r -e 's/.*/\L&/' -e 's/==/=/' \
+ -e 's/^(${python_packages})/python-&/' \
+ -e 's/^(${python2_packages})/python2-&/' $< >$@
+
+deps-nover.txt: deps-ver.txt
+ sed 's/[<>=].*//' $< >$@
+
+clean:
+ rm requirements_prod.txt deps-ver.txt deps-nover.txt
+
+WEB: FORCE
+FORCE: PHONY
+PHONY:
+.PHONY: PHONY
diff --git a/libre/parabolaweb-git/PKGBUILD b/libre/parabolaweb-git/PKGBUILD
new file mode 100644
index 000000000..4641ea8d3
--- /dev/null
+++ b/libre/parabolaweb-git/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=parabolaweb-git
+pkgver=20120506
+pkgrel=3
+pkgdesc="The Parabola website, fork of archweb"
+arch=('any')
+url="https://projects.parabolagnulinux.org/parabolaweb.git/"
+license=('GPL2')
+
+_deps_file=deps-ver.txt
+#_deps_file=deps-nover.txt
+make "$_deps_file" 1>&2
+depends=('python2' 'git' 'libretools' `cat $_deps_file`)
+
+source=('parabolaweb.init.sh' 'parabolaweb.update.sh.in')
+
+# These will make it install into /http/srv/web
+_install_dir=/srv/http
+_gitname=web
+
+_gitroot=https://projects.parabolagnulinux.org/parabolaweb.git
+_gitbranch="master"
+
+build() {
+ cd "${srcdir}"
+ sed \
+ -e "s|^_install_dir=.*|_install_dir='$_install_dir'|" \
+ -e "s|^_gitname=.*|_gitname='$_gitname'|" \
+ -e "s|^_gitroot=.*|_gitroot='$_gitroot'|" \
+ -e "s|^_gitbranch=.*|_gitbranch='$_gitbranch'|" \
+ < parabolaweb.update.sh.in > parabolaweb.update.sh
+}
+
+package() {
+ cd "${srcdir}"
+ install -d "${pkgdir}/${_install_dir}"
+ install -Dm755 parabolaweb.init.sh "${pkgdir}/etc/rc.d/parabolaweb"
+ install -Dm755 parabolaweb.update.sh "${pkgdir}/usr/sbin/parabolaweb.update"
+}
+
+md5sums=('72bc7092e4e50a2aaca8b871644520d9'
+ 'f495b2e4623691925308cb4a1ec7e5a9')
diff --git a/libre/parabolaweb-git/deps-ver.txt b/libre/parabolaweb-git/deps-ver.txt
new file mode 100644
index 000000000..67fe6848b
--- /dev/null
+++ b/libre/parabolaweb-git/deps-ver.txt
@@ -0,0 +1,7 @@
+django=1.3.1
+python2-markdown>=2.0.3
+python2-psycopg2
+python-south>=0.7.3
+python2-pyinotify>=0.9.2
+python-memcached>=1.47
+python2-pytz>=2011n
diff --git a/libre/parabolaweb-git/parabolaweb.init.sh b/libre/parabolaweb-git/parabolaweb.init.sh
new file mode 100644
index 000000000..cb9f2441e
--- /dev/null
+++ b/libre/parabolaweb-git/parabolaweb.init.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+HOST=127.0.0.1
+PORT=8090 # 80 is nginx
+PIDFILE=/var/run/web/fcgi.pid
+
+case $1 in
+start)
+ stat_busy "Starting ParabolaWeb"
+ if [[ -e /srv/http/web/manage.py ]]; then
+ sudo -u nobody \
+ python2 /srv/http/web/manage.py runfcgi \
+ host=${HOST} \
+ port=${PORT} \
+ pidfile=${PIDFILE} \
+ --settings=settings
+
+ add_daemon parabolaweb
+ stat_done
+ exit 0
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+stop)
+ stat_busy "Stopping ParabolaWeb"
+ if [[ -f ${PIDFILE} ]]; then
+ pid=$(cat ${PIDFILE})
+ kill ${pid}
+ rm_daemon parabolaweb
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+restart)
+ $0 stop
+ $0 start
+ ;;
+
+*)
+ echo "Usage: $0 {start|stop|restart}" >&2
+ exit 1
+
+esac
diff --git a/libre/parabolaweb-git/parabolaweb.update.sh.in b/libre/parabolaweb-git/parabolaweb.update.sh.in
new file mode 100644
index 000000000..8c3aef0f0
--- /dev/null
+++ b/libre/parabolaweb-git/parabolaweb.update.sh.in
@@ -0,0 +1,59 @@
+#!/bin/sh
+set -e
+
+_install_dir=@INSTALL_DIR@
+_gitname=@GIT_NAME@
+
+_gitroot=@GITROOT@
+_gitbranch=@GITBRANCH@
+
+. /usr/bin/libremessages
+
+if [ ! -d "$_install_dir" ]; then
+ mkdir "$_install_dir"
+fi
+cd "$_install_dir"
+
+msg "Connecting to GIT server...."
+if [ -d ${_gitname} ] ; then
+ msg2 "Updating existing tree"
+ cd ${_gitname} && git pull ${_gitroot}
+else
+ msg2 "Cloning tree"
+ git clone ${_gitroot} ${_gitname}
+ cd ${_gitname}
+fi
+git checkout ${_gitbranch}
+msg "GIT checkout done or server timeout"
+
+msg "Purging old .pyc files...."
+find . -name '*.pyc' -delete
+
+msg "Checking configuration...."
+if [ ! -f local_settings.py ]; then
+ cp local_settings.py.example local_settings.tmp.$$.py
+ if ${EDITOR:-xdg-open} local_settings.tmp.$$.py; then
+ mv local_settings.tmp.$$.py local_settings.py
+ else
+ rm local_settings.tmp.$$.py
+ msg "Failed to configure, exiting"
+ exit 1
+ fi
+ msg "Creating database...."
+ ./manage.py syncdb
+fi
+
+msg "Purging old .pyc files...."
+find . -name '*.pyc' -delete
+
+msg "Updating database...."
+msg2 "Running migrations...."
+./manage.py migrate
+msg2 "Loading fixtures...."
+./manage.py loaddata */fixtures/*.json
+
+msg "Checking media/admin_media symlink...."
+if [ ! -e media/admin-media ]; then
+ rm media/admin_media
+ ln -s /usr/lib/python2.7/site-packages/django/contrib/admin/media media/admin_media
+fi
diff --git a/libre/parabolaweb-git/requirements_prod.txt b/libre/parabolaweb-git/requirements_prod.txt
new file mode 100644
index 000000000..78eb51250
--- /dev/null
+++ b/libre/parabolaweb-git/requirements_prod.txt
@@ -0,0 +1,7 @@
+Django==1.3.1
+Markdown>=2.0.3
+psycopg2
+South>=0.7.3
+pyinotify>=0.9.2
+python-memcached>=1.47
+pytz>=2011n
diff --git a/libre/python2-ply/PKGBUILD b/libre/python2-ply/PKGBUILD
new file mode 100644
index 000000000..fec80926a
--- /dev/null
+++ b/libre/python2-ply/PKGBUILD
@@ -0,0 +1,16 @@
+# Contributor: Marcin "avalan" Falkiewicz <avalatron@gmail.com>
+# Maintainer: C Anthony Risinger <anthony@xtfx.me>
+
+pkgname='python2-ply'
+pkgver=3.4
+pkgrel=1
+pkgdesc='Implementation of lex and yacc parsing tools for Python.'
+arch=('any')
+url='http://www.dabeaz.com/ply/'
+license=('BSD')
+depends=('python2')
+makedepends=('python2-distribute')
+source=("${url}ply-${pkgver}.tar.gz")
+md5sums=('ffdc95858819347bf92d7c2acc074894')
+
+build() { cd "ply-${pkgver}"; python2 setup.py install --root="${pkgdir}"; }
diff --git a/libre/seamonkey-libre/PKGBUILD b/libre/seamonkey-libre/PKGBUILD
index f34cf229a..e7d4cc389 100644
--- a/libre/seamonkey-libre/PKGBUILD
+++ b/libre/seamonkey-libre/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 153522 2012-03-15 14:43:42Z ibiru $
+# $Id: PKGBUILD 157354 2012-04-27 20:50:49Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
_pkgname=seamonkey
pkgname=seamonkey-libre
-pkgver=2.8
+pkgver=2.9
pkgrel=1
pkgdesc="SeaMonkey internet suite, with GNUZilla addons"
arch=('i686' 'x86_64' 'mips64el')
license=('MPL')
-depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite3' 'startup-notification')
+depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite' 'startup-notification')
makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'yasm' 'wireless_tools' 'mesa' 'autoconf2.13')
replaces=('mozilla' 'seamonkey')
conflicts=('seamonkey')
@@ -18,19 +18,22 @@ source=(ftp://releases.mozilla.org/pub/mozilla.org/$_pkgname/releases/$pkgver/so
mozconfig
seamonkey.desktop
seamonkey-2.0-lang.patch
- libvpx.patch
+ gcc47.patch
+ clrf.patch
gnuzilla-addons.patch)
-md5sums=('a7128f6bcd16bebed4a7c3487b69c38f'
- 'd02b5f002a7cdf8d15dccd2548d09256'
+md5sums=('4af38acf517a8ab850e6aa7a6b085325'
+ 'b8887c39a190e3168a9c7e4355ae3dd4'
'6119a2254716752c9d08e366f8d4c048'
'25b6fe16ac24cd5c852213e5c1adb272'
- '5b2aaff7dfe7f1f94ad965905b20e782'
+ '1e3ad86899c61f0993c429d10913edb4'
+ 'abe8f73faa71ea2a1e4c6f5a33f56c27'
'f7beeb1f94390957259212dd1dbc171f')
build() {
cd "$srcdir/comm-release"
patch -Np1 -i "$srcdir/seamonkey-2.0-lang.patch"
- patch -Np1 -i "$srcdir/libvpx.patch"
+ patch -Np1 -i "$srcdir/gcc47.patch"
+ patch -Np1 -i "$srcdir/clrf.patch"
patch -Np1 -i "${srcdir}/gnuzilla-addons.patch"
cp "$srcdir/mozconfig" .mozconfig
@@ -55,4 +58,5 @@ package() {
install -m644 "$srcdir/seamonkey.desktop" "$pkgdir/usr/share/applications/"
rm -f "$pkgdir/usr/lib/pkgconfig/"seamonkey-ns{s,pr}.pc
+ rm -r "$pkgdir"/usr/{include,lib/seamonkey-devel-$pkgver,share/idl}
}
diff --git a/libre/seamonkey-libre/clrf.patch b/libre/seamonkey-libre/clrf.patch
new file mode 100644
index 000000000..5a77f2b01
--- /dev/null
+++ b/libre/seamonkey-libre/clrf.patch
@@ -0,0 +1,265 @@
+diff -Nur comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp
+--- comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-04-25 01:09:10.468804374 +0000
++++ comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-04-25 01:09:45.928528202 +0000
+@@ -688,7 +688,7 @@
+ PL_strcat(encoding, "{");
+ lengthStr.AppendInt((PRInt32) strlen(value));
+ PL_strcat(encoding, lengthStr.get());
+- PL_strcat(encoding, "}"CRLF);
++ PL_strcat(encoding, "}" CRLF);
+ PL_strcat(encoding, value);
+ return NS_OK;
+ }
+diff -Nur comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp
+--- comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-04-25 01:09:10.475470988 +0000
++++ comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-04-25 01:09:45.928528202 +0000
+@@ -758,7 +758,7 @@
+ }
+ }
+ }
+-#define EXTRA_KEYWORD_HDR " "MSG_LINEBREAK
++#define EXTRA_KEYWORD_HDR " " MSG_LINEBREAK
+
+ // if status offset isn't in the first block, this code won't work. There's no good reason
+ // for the status offset not to be at the beginning of the message anyway.
+@@ -1216,7 +1216,7 @@
+ // check if there's an envelope header; if not, write one.
+ if (strncmp(m_dataBuffer, "From ", 5))
+ {
+- m_fileStream->Write("From "CRLF, 7, &bytesWritten);
++ m_fileStream->Write("From " CRLF, 7, &bytesWritten);
+ m_offlineMsgSize += bytesWritten;
+ }
+ }
+diff -Nur comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp comm-release/mailnews/compose/src/nsSmtpProtocol.cpp
+--- comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp 2012-04-25 01:09:10.542137136 +0000
++++ comm-release/mailnews/compose/src/nsSmtpProtocol.cpp 2012-04-25 01:09:45.928528202 +0000
+@@ -1722,7 +1722,7 @@
+ {
+ m_sendDone = true;
+ nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
+- SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server.
++ SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server.
+ m_nextState = SMTP_RESPONSE;
+ m_nextStateAfterResponse = SMTP_DONE;
+ return(0);
+@@ -1969,7 +1969,7 @@
+ {
+ nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
+ // send a quit command to close the connection with the server.
+- if (SendData(url, "QUIT"CRLF) == NS_OK)
++ if (SendData(url, "QUIT" CRLF) == NS_OK)
+ {
+ m_nextState = SMTP_RESPONSE;
+ m_nextStateAfterResponse = SMTP_ERROR_DONE;
+@@ -2118,4 +2118,3 @@
+ NS_ENSURE_SUCCESS(rv,rv);
+ return rv;
+ }
+-
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp comm-release/mailnews/imap/src/nsImapMailFolder.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp 2012-04-25 01:09:10.605469976 +0000
++++ comm-release/mailnews/imap/src/nsImapMailFolder.cpp 2012-04-25 01:09:45.928528202 +0000
+@@ -8309,7 +8309,7 @@
+ bool needMoreData = false;
+ char * newLine = nsnull;
+ PRUint32 numBytesInLine = 0;
+- const char *envelope = "From "CRLF;
++ const char *envelope = "From " CRLF;
+ offlineStore->Write(envelope, strlen(envelope), &bytesWritten);
+ fileSize += bytesWritten;
+ do
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp comm-release/mailnews/imap/src/nsImapProtocol.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp 2012-04-25 01:09:10.605469976 +0000
++++ comm-release/mailnews/imap/src/nsImapProtocol.cpp 2012-04-25 01:09:45.931861509 +0000
+@@ -1409,7 +1409,7 @@
+ {
+ // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages();
+ nsCAutoString commandBuffer(GetServerCommandTag());
+- commandBuffer.Append(" IDLE"CRLF);
++ commandBuffer.Append(" IDLE" CRLF);
+
+ do
+ {
+@@ -3287,7 +3287,7 @@
+ commandString.Append(messageIds);
+ commandString.Append(" (");
+ commandString.Append(attribute);
+- commandString.Append(")"CRLF);
++ commandString.Append(")" CRLF);
+ nsresult rv = SendData(commandString.get());
+
+ if (NS_SUCCEEDED(rv))
+@@ -5283,7 +5283,7 @@
+
+ IncrementCommandTagNumber();
+ nsCAutoString command(GetServerCommandTag());
+- command.Append(" expunge"CRLF);
++ command.Append(" expunge" CRLF);
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -5359,7 +5359,7 @@
+ command.Append(gAppName);
+ command.Append("\" \"version\" \"");
+ command.Append(gAppVersion);
+- command.Append("\")"CRLF);
++ command.Append("\")" CRLF);
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -5816,7 +5816,7 @@
+ nsCAutoString correctedPassword;
+ EscapeUserNamePasswordString(password.get(), &correctedPassword);
+ command.Append(correctedPassword);
+- command.Append("\""CRLF);
++ command.Append("\"" CRLF);
+ rv = SendData(command.get(), true /* suppress logging */);
+ NS_ENSURE_SUCCESS(rv, rv);
+ ParseIMAPandCheckForNewMail();
+@@ -7447,7 +7447,7 @@
+ nsCString command(GetServerCommandTag());
+ command += " create \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if(NS_SUCCEEDED(rv))
+@@ -7550,7 +7550,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " lsub \"\" \"";
+ command += escapedPattern;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ PR_Free(boxnameWithOnlineDirectory);
+
+@@ -7579,7 +7579,7 @@
+ command += useXLIST ?
+ " xlist \"\" \"" : " list \"\" \"";
+ command += escapedPattern;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ PR_Free(boxnameWithOnlineDirectory);
+
+@@ -7600,7 +7600,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " subscribe \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -7618,7 +7618,7 @@
+ nsCString command (GetServerCommandTag());
+ command += " unsubscribe \"";
+ command += escapedName;
+- command += "\""CRLF;
++ command += "\"" CRLF;
+
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+@@ -7632,7 +7632,7 @@
+ if (m_urlInProgress)
+ return;
+ nsCAutoString command (GetServerCommandTag());
+- command += " IDLE"CRLF;
++ command += " IDLE" CRLF;
+ nsresult rv = SendData(command.get());
+ if (NS_SUCCEEDED(rv))
+ {
+@@ -7659,7 +7659,7 @@
+ nsCOMPtr <nsIAsyncInputStream> asyncInputStream = do_QueryInterface(m_inputStream);
+ if (asyncInputStream)
+ asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull);
+- nsresult rv = SendData("DONE"CRLF);
++ nsresult rv = SendData("DONE" CRLF);
+ // set a short timeout if we don't want to wait for a response
+ if (m_transport && !waitForResponse)
+ m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5);
+@@ -7728,8 +7728,8 @@
+ PRUint32 msgsHandled = 0;
+ const char *formatString;
+ formatString = (idsAreUid)
+- ? "%s uid store %s %s"CRLF
+- : "%s store %s %s"CRLF;
++ ? "%s uid store %s %s" CRLF
++ : "%s store %s %s" CRLF;
+
+ do
+ {
+diff -Nur comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp
+--- comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-04-25 01:09:10.605469976 +0000
++++ comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-04-25 01:09:45.931861509 +0000
+@@ -185,7 +185,7 @@
+
+ NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' &&
+ *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string");
+- bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF);
++ bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF);
+ if (sendingIdleDone)
+ fWaitingForMoreClientInput = false;
+
+diff -Nur comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp comm-release/mailnews/local/src/nsPop3Protocol.cpp
+--- comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp 2012-04-25 01:09:10.492137526 +0000
++++ comm-release/mailnews/local/src/nsPop3Protocol.cpp 2012-04-25 01:09:45.931861509 +0000
+@@ -2483,7 +2483,7 @@
+ return(MK_OUT_OF_MEMORY);
+ m_pop3ConData->next_state_after_response = POP3_GET_LIST;
+ m_listpos = 0;
+- return SendData(m_url, "LIST"CRLF);
++ return SendData(m_url, "LIST" CRLF);
+ }
+
+
+diff -Nur comm-release.orig/mailnews/mime/src/mimedrft.cpp comm-release/mailnews/mime/src/mimedrft.cpp
+--- comm-release.orig/mailnews/mime/src/mimedrft.cpp 2012-04-25 01:09:10.488804218 +0000
++++ comm-release/mailnews/mime/src/mimedrft.cpp 2012-04-25 01:09:45.931861509 +0000
+@@ -1473,7 +1473,7 @@
+ *newbody = 0;
+ PL_strcatn(newbody, newbodylen, "<PRE>");
+ PL_strcatn(newbody, newbodylen, body);
+- PL_strcatn(newbody, newbodylen, "</PRE>"CRLF);
++ PL_strcatn(newbody, newbodylen, "</PRE>" CRLF);
+ PR_Free(body);
+ body = newbody;
+ }
+diff -Nur comm-release.orig/mailnews/mime/src/mimemult.cpp comm-release/mailnews/mime/src/mimemult.cpp
+--- comm-release.orig/mailnews/mime/src/mimemult.cpp 2012-04-25 01:09:10.488804218 +0000
++++ comm-release/mailnews/mime/src/mimemult.cpp 2012-04-25 01:12:53.383735715 +0000
+@@ -280,7 +280,7 @@
+ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\""));
+ MimeWriteAString(obj, fileName);
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: "));
+ MimeWriteAString(obj, obj->options->state->detachedFilePath);
+ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
+@@ -293,10 +293,10 @@
+ status = MimeWriteAString(obj, header);
+ if (status < 0)
+ return status;
+- status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 8bit"MSG_LINEBREAK));
++ status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "Content-Transfer-Encoding: 8bit" MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: inline; filename=\"Deleted: "));
+ MimeWriteAString(obj, fileName);
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\""));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "X-Mozilla-Altered: AttachmentDeleted; date=\""));
+ }
+ nsCString result;
+ char timeBuffer[128];
+@@ -306,8 +306,8 @@
+ "%a %b %d %H:%M:%S %Y",
+ &now);
+ MimeWriteAString(obj, nsDependentCString(timeBuffer));
+- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
+- MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
++ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK));
+ MimeHeaders_write_raw_headers(mult->hdrs, obj->options, false);
+ }
+ PRInt32 old_nchildren = container->nchildren;
diff --git a/libre/seamonkey-libre/gcc47.patch b/libre/seamonkey-libre/gcc47.patch
new file mode 100644
index 000000000..080502c23
--- /dev/null
+++ b/libre/seamonkey-libre/gcc47.patch
@@ -0,0 +1,39 @@
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-24 23:15:57.347221336 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-24 23:18:34.116046872 +0000
+@@ -5,6 +5,9 @@
+ #include "base/file_util.h"
+
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <string>
+ #include <vector>
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-24 23:15:57.353887955 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-24 23:18:34.116046872 +0000
+@@ -6,6 +6,9 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include "eintr_wrapper.h"
+ #include "base/logging.h"
+diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc comm-release/mozilla/ipc/chromium/src/base/time_posix.cc
+--- comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-24 23:15:57.350554645 +0000
++++ comm-release/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-24 23:18:34.116046872 +0000
+@@ -13,6 +13,9 @@
+ #else
+ #include <time.h>
+ #endif
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <limits>
+
diff --git a/libre/seamonkey-libre/mozconfig b/libre/seamonkey-libre/mozconfig
index 8257f8e4f..4d04c96d5 100644
--- a/libre/seamonkey-libre/mozconfig
+++ b/libre/seamonkey-libre/mozconfig
@@ -13,7 +13,8 @@ ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
-ac_add_options --enable-system-cairo
+ac_add_options --enable-system-ffi
+#ac_add_options --enable-system-cairo
ac_add_options --with-pthreads
# Features
diff --git a/libre/syslinux/PKGBUILD b/libre/syslinux/PKGBUILD
new file mode 100644
index 000000000..1a76a6825
--- /dev/null
+++ b/libre/syslinux/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id$
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+
+pkgname=syslinux
+pkgver=4.05
+pkgrel=4.3
+arch=('i686' 'x86_64')
+pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)"
+url="http://syslinux.zytor.com/"
+license=('GPL2')
+depends=('perl' 'glibc')
+optdepends=('perl-passwd-md5: For md5pass'
+ 'perl-digest-sha1: For sha1pass'
+ 'mtools: For mkdiskimage and syslinux support'
+ )
+makedepends=('nasm')
+backup=('boot/syslinux/syslinux.cfg'
+ 'boot/syslinux/splash.png')
+install=syslinux.install
+source=(http://www.kernel.org/pub/linux/utils/boot/syslinux/$pkgname-${pkgver}.tar.bz2
+ syslinux-dont-build-dos-windows-targets.patch
+ syslinux.cfg
+ syslinux-install_update
+ splash.png
+ fix-undefined-type-umode_t.patch)
+md5sums=('82299242418385da1274c9479a778cb2'
+ '1528c376e43f0eaccaa80d8ad1bc13b4'
+ '8dc2afca3739667e892faf04eb97e7b1'
+ '680750f73dc2e587ac567d057d485813'
+ '0035b6cac6756a384b861eda8d33e4f7'
+ '8674f8a0f480f26b705570d699c78a2c')
+
+build() {
+ # Do not try to build syslinux with our default LDFLAGS, it will fail
+ unset LDFLAGS
+ cd "$srcdir"/$pkgname-${pkgver}
+ # Do not try to build the Windows or DOS installers
+ patch -p1 -i "$srcdir"/syslinux-dont-build-dos-windows-targets.patch
+ # Fix unknown type name 'umode_t' error
+ patch -p1 -i "$srcdir"/fix-undefined-type-umode_t.patch
+ # Fix FHS manpage path
+ sed 's|/usr/man|/usr/share/man|g' -i mk/syslinux.mk
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-${pkgver}
+ make INSTALLROOT="$pkgdir" AUXDIR=/usr/lib/syslinux install
+
+ # Install the default configuration
+ install -D -m644 "$srcdir"/syslinux.cfg "$pkgdir"/boot/syslinux/syslinux.cfg
+ # Install Parabola splash
+ install -D -m644 "$srcdir"/splash.png "$pkgdir"/boot/syslinux/splash.png
+ # Install the installation and update script
+ # This script is maintained at git://gist.github.com/772138.git
+ install -D -m755 "$srcdir"/syslinux-install_update "$pkgdir"/usr/sbin/syslinux-install_update
+ # move extlinux binary to /usr/sbin
+ mv "$pkgdir"/sbin/extlinux "$pkgdir"/usr/sbin/extlinux
+}
diff --git a/libre/syslinux/fix-undefined-type-umode_t.patch b/libre/syslinux/fix-undefined-type-umode_t.patch
new file mode 100644
index 000000000..33ac6d323
--- /dev/null
+++ b/libre/syslinux/fix-undefined-type-umode_t.patch
@@ -0,0 +1,58 @@
+--- syslinux-4.05.orig/libinstaller/linuxioctl.h 2011-12-09 16:28:17.000000000 -0200
++++ syslinux-4.05/libinstaller/linuxioctl.h 2012-05-18 20:30:23.000000000 -0300
+@@ -9,22 +9,36 @@
+
+ #include <sys/ioctl.h>
+
++#ifdef __linux__
++
+ #define statfs _kernel_statfs /* HACK to deal with broken 2.4 distros */
+
+ #include <linux/fd.h> /* Floppy geometry */
+ #include <linux/hdreg.h> /* Hard disk geometry */
+
+-#include <linux/fs.h> /* FIGETBSZ, FIBMAP, FS_IOC_FIEMAP */
+-#include <linux/msdos_fs.h> /* FAT_IOCTL_SET_ATTRIBUTES */
++#include <linux/fs.h> /* FIGETBSZ, FIBMAP, FS_IOC_* */
+
+ #undef SECTOR_SIZE /* Defined in msdos_fs.h for no good reason */
+ #undef SECTOR_BITS
+-#include <linux/ext2_fs.h> /* EXT2_IOC_* */
++
++#ifndef FS_IOC_GETFLAGS
++/* Old kernel headers, these were once ext2-specific... */
++# include <linux/ext2_fs.h> /* EXT2_IOC_* */
++
++# define FS_IOC_GETFLAGS EXT2_IOC_GETFLAGS
++# define FS_IOC_SETFLAGS EXT2_IOC_SETFLAGS
++
++# define FS_IMMUTABLE_FL EXT2_IMMUTABLE_FL
++
++#else
++
++# include <ext2fs/ext2_fs.h>
++
++#endif
+
+ #ifndef FAT_IOCTL_GET_ATTRIBUTES
+ # define FAT_IOCTL_GET_ATTRIBUTES _IOR('r', 0x10, __u32)
+ #endif
+-
+ #ifndef FAT_IOCTL_SET_ATTRIBUTES
+ # define FAT_IOCTL_SET_ATTRIBUTES _IOW('r', 0x11, __u32)
+ #endif
+@@ -37,11 +51,13 @@
+
+ #undef statfs
+
+-#if defined(__linux__) && !defined(BLKGETSIZE64)
++#ifndef BLKGETSIZE64
+ /* This takes a u64, but the size field says size_t. Someone screwed big. */
+ # define BLKGETSIZE64 _IOR(0x12,114,size_t)
+ #endif
+
+ #include <linux/loop.h>
+
++#endif /* __linux__ */
++
+ #endif /* LIBINSTALLER_LINUXIOCTL_H */
diff --git a/libre/syslinux/rePKGBUILD b/libre/syslinux/rePKGBUILD
new file mode 100644
index 000000000..a8eb152d5
--- /dev/null
+++ b/libre/syslinux/rePKGBUILD
@@ -0,0 +1,45 @@
+# This is an example rePKGBUILD file. Use this as a start to creating your own,
+# and remove these comments. For more information, see 'man PKGBUILD'.
+# NOTE: Please fill out the license field for your package! If it is unknown,
+# then please put 'unknown'.
+
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+source PKGBUILD
+unset build package md5sums source check
+_repo=core
+pkgname='syslinux'
+options=(!strip)
+source=(PKGBUILD
+# http://mirrors.kernel.org/archlinux/${_repo}/os/$CARCH/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}
+ http://mirrors.kernel.org/archlinux/${_repo}/os/$CARCH/${pkgname}-${pkgver}-4-${CARCH}${PKGEXT}
+ # files for pkg modifications
+ syslinux.cfg
+ splash.png)
+
+build() {
+ cd "${srcdir}/"
+# rm -v .{INSTALL,PKGINFO} ${pkgname%}-$pkgver-$pkgrel-$CARCH$PKGEXT || true
+ rm -v .{INSTALL,PKGINFO} ${pkgname%}-$pkgver-4-$CARCH$PKGEXT || true
+ # put actions for package modifications below this line
+
+ rm -v boot/syslinux/syslinux.cfg
+}
+
+package_syslinux() {
+ pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)"
+ install=syslinux.install
+ backup=('boot/syslinux/syslinux.cfg'
+ 'boot/syslinux/splash.png')
+ optdepends=('perl-passwd-md5: For md5pass'
+ 'perl-digest-sha1: For sha1pass'
+ 'mtools: For mkdiskimage and syslinux support'
+ )
+ # Install the default configuration
+ install -D -m644 "$srcdir"/syslinux.cfg "$pkgdir"/boot/syslinux/syslinux.cfg
+ # Install Parabola splash
+ install -D -m644 "$srcdir"/splash.png "$pkgdir"/boot/syslinux/splash.png
+
+
+ find ${srcdir} -maxdepth 1 -type l -delete
+ cp -a ${srcdir}/* ${pkgdir}
+}
diff --git a/libre/syslinux/splash.png b/libre/syslinux/splash.png
new file mode 100644
index 000000000..43d4692ab
--- /dev/null
+++ b/libre/syslinux/splash.png
Binary files differ
diff --git a/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch b/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
new file mode 100644
index 000000000..2b86ab828
--- /dev/null
+++ b/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
@@ -0,0 +1,12 @@
+diff -Nur syslinux-4.02.orig//Makefile syslinux-4.02//Makefile
+--- syslinux-4.02.orig//Makefile 2010-07-21 21:33:13.000000000 +0200
++++ syslinux-4.02//Makefile 2010-07-22 11:14:03.325522937 +0200
+@@ -54,7 +54,7 @@
+ # files that depend only on the B phase, but may have to be regenerated
+ # for "make installer".
+ BSUBDIRS = codepage com32 lzo core memdisk modules mbr memdump gpxe sample \
+- diag libinstaller dos win32 win64 dosutil
++ libinstaller
+ ITARGET =
+ IOBJECTS = $(ITARGET) \
+ utils/gethostip utils/isohybrid utils/mkdiskimage \
diff --git a/libre/syslinux/syslinux-install_update b/libre/syslinux/syslinux-install_update
new file mode 100644
index 000000000..cd1baa572
--- /dev/null
+++ b/libre/syslinux/syslinux-install_update
@@ -0,0 +1,463 @@
+#!/bin/bash
+#
+# Sylinux Installer / Updater Scripts
+# Copyright (C) 2011 Matthew Gyurgyik <pyther@pyther.net>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+#-----------------
+# Exit Codes:
+# 1 - get_boot_device or other function failed
+# 2 - install/update failed
+# 3 - set_active failed
+# 4 - install_mbr failed
+#
+shopt -s nullglob
+
+libpath="/usr/lib/syslinux"
+bootpath="/boot/syslinux"
+extlinux="/usr/sbin/extlinux"
+
+autoupdate_file=/boot/syslinux/SYSLINUX_AUTOUPDATE
+com32_files=(menu.c32 vesamenu.c32 chain.c32 hdt.c32 reboot.c32 poweroff.com)
+pciids_file=/usr/share/hwdata/pci.ids
+
+## Helper functions ##
+# Taken from libui-sh
+# $1 needle
+# $2 set (array) haystack
+check_is_in() {
+ local needle="$1" element
+ shift
+ for element; do
+ [[ $element = $needle ]] && return 0
+ done
+ return 1
+}
+
+# return true when blockdevice is an md raid, otherwise return a unset value
+# get all devices that are part of raid device $1
+device_is_raid() {
+ [[ $1 && -f /proc/mdstat ]] || return 1
+ local devmajor=$(stat -c %t "$1")
+ (( devmajor == 9 ))
+}
+
+mdraid_all_slaves() {
+ local slave slaves
+ for slave in /sys/class/block/${1##*/}/slaves/*; do
+ source "$slave/uevent"
+ slaves="$slaves/dev/$DEVNAME "
+ unset DEVNAME
+ done
+ echo $slaves
+}
+
+# Check /sys/block to see if device is partitioned
+# If we have a partitioned block device (sda1) /sys/block/sda1/dev will not exist
+# However, if we have an unpartitioned block device (sda) /sys/block/sda/dev will exist
+dev_is_part() {
+ # $1 - blockdevice
+ local dev=$1
+
+ # If block device uevent file should be found
+ # If a partition is passed in path shouldn't exist
+ if [[ $dev = *cciss* ]]; then
+ [[ -f /sys/block/cciss\!${dev##*/}/dev ]] && return 1
+ elif [[ $dev = *ida* ]]; then
+ [[ -f /sys/block/ida\!${dev##*/}/dev ]] && return 1
+ else
+ [[ -f /sys/block/${dev##*/}/dev ]] && return 1
+ fi
+
+ return 0
+}
+
+# If EFI PART is present in the first 8 bytes then it must be a GPT disk
+device_is_gpt() {
+ local partsig=$(dd if="$1" skip=64 bs=8 count=1 2>/dev/null)
+ [[ $partsig = "EFI PART" ]]
+}
+
+clear_gpt_attr2() {
+ # $1 - Block Device, no partitions
+ local disk=$1
+
+ # Special Exception for cciss controllers
+ if [[ $disk = *cciss* ]]; then
+ for part in /dev/cciss/${disk##*/}*p*; do
+ local partnum="${part##*[[:alpha:]]}"
+ sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+ done
+ # Smart 2 Controllers
+ elif [[ $disk = *ida* ]]; then
+ for part in /dev/ida/${disk##*/}*p*; do
+ local partnum="${part##*[[:alpha:]]}"
+ sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+ done
+ else
+ for part in /sys/block/${disk##*/}/${disk##*/}*; do
+ local partnum="${part##*[[:alpha:]]}"
+ sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+ done
+ fi
+ return 0
+}
+
+usage() {
+cat << EOF
+usage: $0 options
+
+This script will install or upgrade Syslinux
+
+OPTIONS:
+ -h Show this message
+ -i Install Syslinux
+ -u Update Syslinux
+ -a Set Boot flag on boot partiton
+ -m Install Syslinux MBR
+ -s Updates Syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists
+
+ Arguments Required:
+ -c Chroot install (ex: -c /mnt)
+
+Example Usage: syslinux-install_update.sh -i -a -m (install, set boot flag, install mbr)
+ syslinux-install_update.sh -u (update)
+EOF
+}
+
+# Trys to find the partition that /boot resides on
+# This will either be on /boot or / (root)
+getBoot() {
+ if [[ ! -d "$bootpath" ]]; then
+ echo "Could not find $bootpath"
+ echo "Is boot mounted? Is Syslinux installed?"
+ exit 1
+ fi
+
+ syslinux_fs=(ext2 ext3 ext4 btrfs vfat)
+
+ # Use DATA from findmnt see rc.sysint for more info
+ if [[ -f /proc/self/mountinfo ]]; then
+ read rootdev rootfs < <(findmnt -run -t noautofs -o SOURCE,FSTYPE "$CHROOT/")
+ read bootdev bootfs < <(findmnt -run -t noautofs -o SOURCE,FSTYPE "$CHROOT/boot")
+ else
+ echo "Could not find /proc/self/mountinfo"
+ echo "Are you running a kernel greater than 2.6.24?"
+ exit 1
+ fi
+
+ if [[ $bootfs ]]; then
+ if ! check_is_in "$bootfs" "${syslinux_fs[@]}"; then
+ echo "/boot file system is not supported by Syslinux"
+ exit 1
+ fi
+ boot="boot"
+ bootpart="$bootdev"
+ elif [[ $rootfs ]]; then
+ if ! check_is_in "$rootfs" "${syslinux_fs[@]}"; then
+ echo "/ (root) file system is not supported by Syslinux"
+ exit 1
+ fi
+ boot="root"
+ bootpart="$rootdev"
+ else
+ echo "Could not find filesystem on / (root) or /boot."
+ exit 1
+ fi
+}
+
+# We store the partition table type either gpt or mbr in var ptb
+# In rare cases a user could have one raid disk using mbr and another using gpt
+# In such cases we accept that the output may be incomplete
+
+# Calls get_ptb() for $bootpart or for all device in RAID
+declare -A bootdevs
+get_boot_devices() {
+ if device_is_raid "$bootpart"; then
+ slaves=$(mdraid_all_slaves "$bootpart")
+
+ for slave in ${slaves[@]}; do
+ local disk="${slave%%[[:digit:]]*}"
+ device_is_gpt "$disk" && local ptb="GPT" || local ptb="MBR"
+ bootdevs[$slave]="$ptb"
+ done
+ else
+ local disk="${bootpart%%[[:digit:]]*}"
+ device_is_gpt "$disk" && local ptb="GPT" || local ptb="MBR"
+ bootdevs[$bootpart]="$ptb"
+ fi
+}
+
+# Function Assumes the boot partition should be marked as active
+# All other partitions should not have the boot flag set
+set_active() {
+ # If any bootdev is a block device without partitions bail
+ # we want to set the boot flag on partitioned disk
+ for dev in "${!bootdevs[@]}"; do
+ dev_is_part $dev || { echo "$dev - is a block device. Aborting set_active!"; return 1; }
+ done
+
+ # Clear BIOS Bootable Legacy Attribute for GPT drives
+ # In rare cases where a RAID device has slaves on the same block device
+ # Attribute 2 will be cleared for each partition multiple times
+ for dev in "${!bootdevs[@]}"; do
+ local ptb="${bootdevs[$dev]}"
+ if [[ "$ptb" = GPT ]]; then
+ local disk="${dev%%[[:digit:]]*}" #ex: /dev/sda
+ clear_gpt_attr2 "$disk"
+ fi
+ done
+
+ # Set the boot flag on bootdevs (generated from get_boot_devices)
+ for part in "${!bootdevs[@]}"; do
+ local ptb="${bootdevs[$part]}"
+ local partnum="${part##*[[:alpha:]]}"
+ case "$part" in
+ *[[:digit:]]p[[:digit:]]*)
+ local disk="${part%%p$partnum}" # get everything before p1
+ ;;
+ *)
+ local disk="${part%%[[:digit:]]*}"
+ ;;
+ esac
+
+ if [[ "$ptb" = MBR ]]; then
+ if sfdisk "$disk" -A "$partnum" &>/dev/null; then
+ echo "Boot Flag Set - $part"
+ else
+ echo "FAILED to Set the boot flag on $part"
+ exit 3
+ fi
+ elif [[ "$ptb" = GPT ]]; then
+ if sgdisk "$disk" --attributes="$partnum":set:2 &>/dev/null; then
+ echo "Attribute Legacy Bios Bootable Set - $part"
+ else
+ echo "FAILED to set attribute Legacy BIOS Bootable on $part"
+ exit 3
+ fi
+ fi
+ done
+ return 0
+}
+
+install_mbr() {
+ # If any bootdev is a block device without partitions bail
+ # we want to install the mbr to a partitioned disk
+ for dev in "${!bootdevs[@]}"; do
+ dev_is_part "$dev" || { echo "$dev - is a block device. Aborting MBR install"; return 1; }
+ done
+
+ for part in "${!bootdevs[@]}"; do
+ local partnum="${part##*[[:alpha:]]}"
+ case "$part" in
+ *[[:digit:]]p[[:digit:]]*)
+ local disk="${part%%p$partnum}" # get everything before p1
+ ;;
+ *)
+ local disk="${part%%[[:digit:]]*}"
+ ;;
+ esac
+ local ptb="${bootdevs[$part]}"
+
+ # We want to install to the root of the block device
+ # If the device is a partition - ABORT!
+ dev_is_part "$disk" && \
+ { echo "ABORT! MBR installation to partition ($disk)!"; exit 4;}
+
+ if [[ "$ptb" = MBR ]]; then
+ mbrfile="$libpath/mbr.bin"
+ elif [[ "$ptb" = GPT ]]; then
+ mbrfile="$libpath/gptmbr.bin"
+ fi
+
+ if dd bs=440 count=1 conv=notrunc if="$mbrfile" of="$disk" &> /dev/null; then
+ echo "Installed MBR ($mbrfile) to $disk"
+ else
+ echo "Error Installing MBR ($mbrfile) to $disk"
+ exit 4
+ fi
+ done
+ return 0
+}
+
+_install() {
+ # Copy files to /boot
+ for file in "${com32_files[@]}"; do
+ # Symlink files even if links exist
+ if [[ "$boot" = root ]]; then
+ ln -s "${libpath#$CHROOT}/$file" "$bootpath/$file" &> /dev/null
+ elif [[ "$boot" = boot ]]; then
+ cp "$libpath/$file" "$bootpath/$file"
+ fi
+ done
+
+ # Copy / Symlink pci.ids if we copy the com32 module and if pci.ids exists in the FS
+ if check_is_in "hdt.c32" "${com32_files[@]}" && [[ -f $pciids_file ]]; then
+ if [[ "$boot" = root ]]; then
+ ln -s "$pciids_file" "$bootpath/pci.ids" &> /dev/null
+ elif [[ "$boot" = boot ]]; then
+ cp "$pciids_file" "$bootpath/pci.ids" &> /dev/null
+ fi
+ fi
+
+ if device_is_raid "$bootpart"; then
+ echo "Detected RAID on /boot - installing Syslinux with --raid"
+ "$extlinux" --install "$bootpath" -r > /dev/null 2>&1
+ else
+ "$extlinux" --install "$bootpath" > /dev/null 2>&1
+ fi
+
+ if (( $? )); then
+ echo "Syslinux install failed"
+ exit 2
+ else
+ echo "Syslinux install successful"
+ fi
+
+ touch "$CHROOT/$autoupdate_file"
+}
+
+update() {
+ # Update any com and c32 files in /boot
+ if [[ "$boot" = boot ]]; then
+ for file in "$bootpath"/*.{c32,com}; do
+ file=$(basename "$file")
+ cp "$libpath/$file" "$bootpath/$file" &> /dev/null
+ done
+ if [[ -f "$bootpath/pci.ids" ]]; then
+ cp "$pciids_file" "$bootpath/pci.ids" &> /dev/null
+ fi
+ fi
+
+ if device_is_raid $bootpart; then
+ echo "Detected RAID on /boot - installing Syslinux with --raid"
+ "$extlinux" --update "$bootpath" -r &> /dev/null
+ else
+ "$extlinux" --update "$bootpath" &> /dev/null
+ fi
+
+ if (($?)); then
+ echo "Syslinux update failed"
+ exit 2
+ else
+ echo "Syslinux update successful"
+ fi
+}
+
+if (( $# == 0 )); then
+ usage
+ exit 1
+fi
+
+while getopts "c:uihmas" opt; do
+ case $opt in
+ c)
+ CHROOT=$(readlink -e "$OPTARG")
+ if [[ -z $CHROOT ]]; then
+ echo "error: chroot path ``$OPTARG does not exist";
+ exit 1
+ fi
+ ;;
+ h)
+ USAGE="True"
+ ;;
+ i)
+ INSTALL="True"
+ ;;
+ u)
+ UPDATE="True"
+ ;;
+ m)
+ MBR="True"
+ ;;
+ a)
+ SET_ACTIVE="True"
+ ;;
+ s)
+ # If AUTOUPDATE_FILE does not exist exit the script
+ if [[ -f $autoupdate_file ]]; then
+ UPDATE="True"
+ else
+ exit 0
+ fi
+ ;;
+ *)
+ usage
+ exit 1
+ ;;
+ esac
+done
+
+if [[ $USAGE ]]; then
+ usage
+ exit 0
+fi
+
+# Make sure only root can run our script
+if (( $(id -u) != 0 )); then
+ echo "This script must be run as root" 1>&2
+ exit 1
+fi
+
+# Display Usage Information if both Install and Update are passed
+if [[ $INSTALL && $UPDATE ]]; then
+ usage
+ exit 1
+fi
+
+# If a chroot dir is path set variables to reflect chroot
+if [[ "$CHROOT" ]]; then
+ libpath="$CHROOT$libpath"
+ bootpath="$CHROOT$bootpath"
+ extlinux="$CHROOT$extlinux"
+fi
+
+# Exit if no /boot path exists
+if ( f=("$bootpath"/*); (( ! ${#f[@]} )) ); then
+ echo "Error: $bootpath is empty!"
+ echo "Is /boot mounted?"
+ exit 1
+fi
+
+# Get the boot device if any of these options are passed
+if [[ $INSTALL || $UPDATE || $SET_ACTIVE || $MBR ]]; then
+ getBoot
+fi
+
+# Install or Update
+if [[ $INSTALL ]]; then
+ _install || exit
+elif [[ $UPDATE ]]; then
+ update || exit
+fi
+
+
+# SET_ACTIVE and MBR
+if [[ $SET_ACTIVE ]] || [[ $MBR ]]; then
+ get_boot_devices
+
+ if [[ $SET_ACTIVE ]]; then
+ set_active || exit
+ fi
+
+ if [[ $MBR ]]; then
+ install_mbr || exit
+ fi
+fi
+
+exit 0
+
+# vim: set et sw=4:
diff --git a/libre/syslinux/syslinux.cfg b/libre/syslinux/syslinux.cfg
new file mode 100644
index 000000000..5debfef9c
--- /dev/null
+++ b/libre/syslinux/syslinux.cfg
@@ -0,0 +1,79 @@
+# Config file for Syslinux -
+# /boot/syslinux/syslinux.cfg
+#
+# Comboot modules:
+# * menu.c32 - provides a text menu
+# * vesamenu.c32 - provides a graphical menu
+# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
+# * hdt.c32 - hardware detection tool
+# * reboot.c32 - reboots the system
+# * poweroff.com - shutdown the system
+#
+# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
+# If /usr and /boot are on the same file system, symlink the files instead
+# of copying them.
+#
+# If you do not use a menu, a 'boot:' prompt will be shown and the system
+# will boot automatically after 5 seconds.
+#
+# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
+# The wiki provides further configuration examples
+
+DEFAULT parabola
+PROMPT 0 # Set to 1 if you always want to display the boot: prompt
+TIMEOUT 50
+# You can create syslinux keymaps with the keytab-lilo tool
+#KBDMAP de.ktl
+
+# Menu Configuration
+# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
+#UI menu.c32
+UI vesamenu.c32
+
+# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
+MENU TITLE Parabola GNU/Linux-libre
+MENU BACKGROUND splash.png
+MENU COLOR border 30;44 #40ffffff #a0000000 std
+MENU COLOR title 1;36;44 #9033ccff #a0000000 std
+MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
+MENU COLOR unsel 37;44 #50ffffff #a0000000 std
+MENU COLOR help 37;40 #c0ffffff #a0000000 std
+MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
+MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
+MENU COLOR msg07 37;40 #90ffffff #a0000000 std
+MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
+
+# boot sections follow
+#
+# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
+#
+#-*
+
+LABEL parabola
+ MENU LABEL Parabola GNU/Linux-libre
+ LINUX ../vmlinuz-linux-libre
+ APPEND root=/dev/sda3 ro
+ INITRD ../initramfs-linux-libre.img
+
+LABEL parabolafallback
+ MENU LABEL Parabola GNU/Linux-libre Fallback
+ LINUX ../vmlinuz-linux-libre
+ APPEND root=/dev/sda3 ro
+ INITRD ../initramfs-linux-libre-fallback.img
+
+# If you want Memtest on syslinux, use this LABEL section to launch it (install the memtest86+ package)
+#LABEL memtest
+# MENU LABEL Memtest86+
+# LINUX ../memtest86+/memtest.bin
+
+LABEL hdt
+ MENU LABEL HDT (Hardware Detection Tool)
+ COM32 hdt.c32
+
+LABEL reboot
+ MENU LABEL Reboot
+ COM32 reboot.c32
+
+LABEL off
+ MENU LABEL Power Off
+ COMBOOT poweroff.com
diff --git a/libre/syslinux/syslinux.install b/libre/syslinux/syslinux.install
new file mode 100644
index 000000000..0dc0ece36
--- /dev/null
+++ b/libre/syslinux/syslinux.install
@@ -0,0 +1,13 @@
+post_install() {
+ echo "==> If you want to use syslinux as your bootloader"
+ echo "==> edit /boot/syslinux/syslinux.cfg and run"
+ echo "==> # /usr/sbin/syslinux-install_update -i -a -m"
+ echo "==> to install it."
+}
+
+post_upgrade() {
+ # auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists
+ /usr/sbin/syslinux-install_update -s
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch b/libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch
new file mode 100644
index 000000000..06fc30944
--- /dev/null
+++ b/libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch
@@ -0,0 +1,27 @@
+From 7e5d190ccce8dc064d5756225e306e65fa534ae9 Mon Sep 17 00:00:00 2001
+From: Dave Reisner <dreisner@archlinux.org>
+Date: Mon, 2 Apr 2012 08:20:34 -0400
+Subject: [PATCH] check for proper return from dirent_ensure_type
+
+Fixes 'systemctl list-unit-files', which previously returned only:
+
+ Failed to issue method call: No such file or directory
+---
+ src/install.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/install.c b/src/install.c
+index 174d79b..9256116 100644
+--- a/src/install.c
++++ b/src/install.c
+@@ -1853,7 +1853,7 @@ int unit_file_get_list(
+
+ r = dirent_ensure_type(d, de);
+ if (r < 0) {
+- if (errno == ENOENT)
++ if (r == -ENOENT)
+ continue;
+
+ goto finish;
+--
+1.7.9.5
diff --git a/libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch b/libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch
new file mode 100644
index 000000000..692d93356
--- /dev/null
+++ b/libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch
@@ -0,0 +1,155 @@
+From 75c8e3cffd7da8eede614cf61384957af2c82a29 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Thu, 22 Mar 2012 02:06:40 +0100
+Subject: [PATCH] logind: close FIFO before ending sessions cleanly
+
+For clean session endings ask logind explicitly to get rid of the FIFO
+before closing it so that the FIFO logic doesn't result in su/sudo to be
+terminated immediately.
+---
+ src/login/logind-dbus.c | 30 ++++++++++++++++++++
+ src/login/pam-module.c | 71 +++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 98 insertions(+), 3 deletions(-)
+
+diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
+index d8f4d89..ea6b89f 100644
+--- a/src/login/logind-dbus.c
++++ b/src/login/logind-dbus.c
+@@ -80,6 +80,9 @@
+ " <arg name=\"seat\" type=\"s\" direction=\"out\"/>\n" \
+ " <arg name=\"vtnr\" type=\"u\" direction=\"out\"/>\n" \
+ " </method>\n" \
++ " <method name=\"ReleaseSession\">\n" \
++ " <arg name=\"id\" type=\"s\" direction=\"in\"/>\n" \
++ " </method>\n" \
+ " <method name=\"ActivateSession\">\n" \
+ " <arg name=\"id\" type=\"s\" direction=\"in\"/>\n" \
+ " </method>\n" \
+@@ -1075,6 +1078,33 @@ static DBusHandlerResult manager_message_handler(
+ if (r < 0)
+ return bus_send_error_reply(connection, message, &error, r);
+
++ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "ReleaseSession")) {
++ const char *name;
++ Session *session;
++
++ if (!dbus_message_get_args(
++ message,
++ &error,
++ DBUS_TYPE_STRING, &name,
++ DBUS_TYPE_INVALID))
++ return bus_send_error_reply(connection, message, &error, -EINVAL);
++
++ session = hashmap_get(m->sessions, name);
++ if (!session)
++ return bus_send_error_reply(connection, message, &error, -ENOENT);
++
++ /* We use the FIFO to detect stray sessions where the
++ process invoking PAM dies abnormally. We need to make
++ sure that that process is not killed if at the clean
++ end of the session it closes the FIFO. Hence, with
++ this call explicitly turn off the FIFO logic, so that
++ the PAM code can finish clean up on its own */
++ session_remove_fifo(session);
++
++ reply = dbus_message_new_method_return(message);
++ if (!reply)
++ goto oom;
++
+ } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "ActivateSession")) {
+ const char *name;
+ Session *session;
+diff --git a/src/login/pam-module.c b/src/login/pam-module.c
+index 8544413..4106d2b 100644
+--- a/src/login/pam-module.c
++++ b/src/login/pam-module.c
+@@ -414,7 +414,6 @@ _public_ PAM_EXTERN int pam_sm_open_session(
+ "/org/freedesktop/login1",
+ "org.freedesktop.login1.Manager",
+ "CreateSession");
+-
+ if (!m) {
+ pam_syslog(handle, LOG_ERR, "Could not allocate create session message.");
+ r = PAM_BUF_ERR;
+@@ -620,11 +619,77 @@ _public_ PAM_EXTERN int pam_sm_close_session(
+ int argc, const char **argv) {
+
+ const void *p = NULL;
++ const char *id;
++ DBusConnection *bus = NULL;
++ DBusMessage *m = NULL, *reply = NULL;
++ DBusError error;
++ int r;
+
+- pam_get_data(handle, "systemd.session-fd", &p);
++ assert(handle);
++
++ dbus_error_init(&error);
++
++ id = pam_getenv(handle, "XDG_SESSION_ID");
++ if (id) {
++
++ /* Before we go and close the FIFO we need to tell
++ * logind that this is a clean session shutdown, so
++ * that it doesn't just go and slaughter us
++ * immediately after closing the fd */
++
++ bus = dbus_bus_get_private(DBUS_BUS_SYSTEM, &error);
++ if (!bus) {
++ pam_syslog(handle, LOG_ERR, "Failed to connect to system bus: %s", bus_error_message(&error));
++ r = PAM_SESSION_ERR;
++ goto finish;
++ }
++
++ m = dbus_message_new_method_call(
++ "org.freedesktop.login1",
++ "/org/freedesktop/login1",
++ "org.freedesktop.login1.Manager",
++ "ReleaseSession");
++ if (!m) {
++ pam_syslog(handle, LOG_ERR, "Could not allocate release session message.");
++ r = PAM_BUF_ERR;
++ goto finish;
++ }
++
++ if (!dbus_message_append_args(m,
++ DBUS_TYPE_STRING, &id,
++ DBUS_TYPE_INVALID)) {
++ pam_syslog(handle, LOG_ERR, "Could not attach parameters to message.");
++ r = PAM_BUF_ERR;
++ goto finish;
++ }
+
++ reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
++ if (!reply) {
++ pam_syslog(handle, LOG_ERR, "Failed to release session: %s", bus_error_message(&error));
++ r = PAM_SESSION_ERR;
++ goto finish;
++ }
++ }
++
++ r = PAM_SUCCESS;
++
++finish:
++ pam_get_data(handle, "systemd.session-fd", &p);
+ if (p)
+ close_nointr(PTR_TO_INT(p) - 1);
+
+- return PAM_SUCCESS;
++ dbus_error_free(&error);
++
++ if (bus) {
++ dbus_connection_close(bus);
++ dbus_connection_unref(bus);
++ }
++
++ if (m)
++ dbus_message_unref(m);
++
++ if (reply)
++ dbus_message_unref(reply);
++
++ return r;
+ }
+--
+1.7.9.5
diff --git a/libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch b/libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch
new file mode 100644
index 000000000..9bf84dda6
--- /dev/null
+++ b/libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch
@@ -0,0 +1,31 @@
+From 5ebff5337594d690b322078c512eb222d34aaa82 Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt@redhat.com>
+Date: Fri, 2 Mar 2012 10:39:10 +0100
+Subject: [PATCH] util: never follow symlinks in rm_rf_children()
+
+The function checks if the entry is a directory before recursing, but
+there is a window between the check and the open, during which the
+directory could be replaced with a symlink.
+
+CVE-2012-1174
+https://bugzilla.redhat.com/show_bug.cgi?id=803358
+---
+ src/util.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/util.c b/src/util.c
+index 20cbc2b..dfc1dc6 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -3593,7 +3593,8 @@ static int rm_rf_children(int fd, bool only_dirs, bool honour_sticky) {
+ if (is_dir) {
+ int subdir_fd;
+
+- if ((subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC)) < 0) {
++ subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW);
++ if (subdir_fd < 0) {
+ if (ret == 0 && errno != ENOENT)
+ ret = -errno;
+ continue;
+--
+1.7.9.4
diff --git a/libre/systemd/PKGBUILD b/libre/systemd/PKGBUILD
new file mode 100644
index 000000000..d4f08f7d5
--- /dev/null
+++ b/libre/systemd/PKGBUILD
@@ -0,0 +1,123 @@
+# $Id$
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Maintainer (Parabola): Nicolas Reynolds <fauno@kiwwwi.com.ar>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+
+pkgbase=systemd
+pkgname=('systemd')
+pkgver=44
+pkgrel=7
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.freedesktop.org/wiki/Software/systemd"
+license=('GPL2' 'LGPL2.1' 'MIT')
+makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gperf' 'intltool'
+ 'kmod' 'libcap' 'libxslt' 'linux-api-headers' 'pam' 'udev' 'xz')
+options=('!libtool')
+source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
+ "os-release"
+ 0001-util-never-follow-symlinks-in-rm_rf_children.patch
+ 0001-logind-close-FIFO-before-ending-sessions-cleanly.patch
+ 0001-check-for-proper-return-from-dirent_ensure_type.patch)
+md5sums=('11f44ff74c87850064e4351518bcff17'
+ 'd0210754762d923d36c9452a1648d550'
+ 'b5863d6d4b47e2b5bda8eb57bde0d327'
+ 'd37833358ef6c23fad622ea4a0941d1f'
+ '11f930fd0a3966abc794bf9127a7dde0')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # https://bugzilla.redhat.com/show_bug.cgi?id=803358 (upstream 5ebff53375)
+ patch -Np1 <"$srcdir/0001-util-never-follow-symlinks-in-rm_rf_children.patch"
+
+ # https://bugs.archlinux.org/task/28386 (upstream 75c8e3cffd)
+ patch -Np1 <"$srcdir/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch"
+
+ # Fix broken 'systemctl list-unit-files' (upstream fb5ef067c49)
+ patch -Np1 <"$srcdir/0001-check-for-proper-return-from-dirent_ensure_type.patch"
+
+ ./configure --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --with-pamlibdir=/usr/lib/security \
+ --localstatedir=/var \
+ --with-distro=arch \
+ --enable-split-usr \
+ --disable-ima
+
+ make
+}
+
+package_systemd() {
+ pkgdesc="system and service manager"
+ depends=('acl' 'dbus-core' 'libsystemd' 'kbd' 'kmod' 'libcap' 'pam' 'util-linux' 'udev' 'xz')
+ optdepends=('cryptsetup: required for encrypted block devices'
+ 'dbus-python: systemd-analyze'
+ 'initscripts: legacy support for hostname and vconsole setup'
+ 'initscripts-systemd: native boot and initialization scripts'
+ 'python2-cairo: systemd-analyze'
+ 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts'
+ 'systemd-sysvcompat: symlink package to provide sysvinit binaries')
+ backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf
+ etc/dbus-1/system.d/org.freedesktop.hostname1.conf
+ etc/dbus-1/system.d/org.freedesktop.login1.conf
+ etc/dbus-1/system.d/org.freedesktop.locale1.conf
+ etc/dbus-1/system.d/org.freedesktop.timedate1.conf
+ etc/systemd/system.conf
+ etc/systemd/user.conf
+ etc/systemd/systemd-logind.conf
+ etc/systemd/systemd-journald.conf)
+ install="$pkgname.install"
+
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release"
+
+ printf "d /run/console 755 root root\n" >"$pkgdir/usr/lib/tmpfiles.d/console.conf"
+ chmod 644 "$pkgdir/usr/lib/tmpfiles.d/console.conf"
+
+ # symlink to /bin/systemd for compat and sanity
+ install -dm755 "$pkgdir/bin"
+ ln -s ../usr/lib/systemd/systemd "$pkgdir/bin/systemd"
+
+ # use python2 for systemd-analyze
+ sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze"
+
+ # didn't build this...
+ rm -f "$pkgdir/usr/share/man/man1/systemadm.1"
+
+ # fix .so links in manpage stubs
+ find "$pkgdir/usr/share/man" -type f -name '*.[[:digit:]]' \
+ -exec sed -i '1s|^\.so \(.*\)\.\([[:digit:]]\+\)|.so man\2/\1.\2|' {} +
+
+ # rename man pages to avoid conflicts with sysvinit and initscripts
+ manpages=(man8/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8
+ man5/{hostname,{vconsole,locale}.conf}.5)
+ cd "$pkgdir/usr/share/man"
+ for manpage in "${manpages[@]}"; do
+ IFS='/' read section page <<< "$manpage"
+ mv "$manpage" "$section/systemd.$page"
+ done
+ sed -i '1s|/\([^/]\+\)|/systemd.\1|' "$pkgdir"/usr/share/man/man8/systemd.{poweroff,reboot}.8
+
+ # move bash-completion and symlink for loginctl
+ install -Dm644 "$pkgdir/etc/bash_completion.d/systemd-bash-completion.sh" \
+ "$pkgdir/usr/share/bash-completion/completions/systemctl"
+ ln -s systemctl "$pkgdir/usr/share/bash-completion/completions/loginctl"
+ rm -rf "$pkgdir/etc/bash_completion.d"
+
+ # fix systemctl where
+ find "$pkgdir" -type f -name '*.service' -exec \
+ sed -i 's@\([=-]\)/bin/systemctl@\1/usr/bin/systemctl@g' {} +
+
+ ### split off libsystemd (libs, includes, pkgconfig, man3)
+ install -dm755 "$srcdir"/libsystemd/usr/{include,lib/pkgconfig}
+
+ cd "$srcdir"/libsystemd
+ mv "$pkgdir/usr/lib"/libsystemd-*.so* usr/lib
+ mv "$pkgdir/usr/include/systemd" usr/include
+ mv "$pkgdir/usr/lib/pkgconfig"/libsystemd-*.pc usr/lib/pkgconfig
+}
+
+# vim: ft=sh syn=sh et
diff --git a/libre/systemd/os-release b/libre/systemd/os-release
new file mode 100644
index 000000000..65253e9c3
--- /dev/null
+++ b/libre/systemd/os-release
@@ -0,0 +1,7 @@
+NAME=Parabola
+ID=parabola
+ID_LIKE=arch
+PRETTY_NAME="Parabola GNU/Linux-libre"
+ANSI_COLOR="1;35"
+HOME_URL="https://parabolagnulinux.org/"
+BUG_REPORT_URL="https://labs.parabola.nu/"
diff --git a/libre/systemd/rePKGBUILD b/libre/systemd/rePKGBUILD
new file mode 100644
index 000000000..f825ee579
--- /dev/null
+++ b/libre/systemd/rePKGBUILD
@@ -0,0 +1,52 @@
+# This is an example rePKGBUILD file. Use this as a start to creating your own,
+# and remove these comments. For more information, see 'man PKGBUILD'.
+# NOTE: Please fill out the license field for your package! If it is unknown,
+# then please put 'unknown'.
+
+# Maintainer: Nicolas Reynolds <fauno@kiwwwi.com.ar>
+# Maintainer: André Silva <andre.paulista@adinet.com.uy>
+source PKGBUILD
+unset build package md5sums source check
+_repo=extra
+pkgname='systemd'
+options=(!strip)
+source=(PKGBUILD
+ http://mirrors.kernel.org/archlinux/${_repo}/os/$CARCH/${pkgbase}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}
+ # files for pkg modifications
+ os-release)
+
+build() {
+ cd "${srcdir}/"
+ rm -v .{INSTALL,PKGINFO} $pkgname-$pkgver-$pkgrel-$CARCH$PKGEXT || true
+ # put actions for package modifications below this line
+
+ rm -v etc/os-release
+}
+
+package_systemd() {
+ pkgdesc="system and service manager (Parabola rebranded)"
+ depends=('acl' 'dbus-core' 'libsystemd' 'kbd' 'kmod' 'libcap' 'pam' 'util-linux' 'udev' 'xz')
+ optdepends=('cryptsetup: required for encrypted block devices'
+ 'dbus-python: systemd-analyze'
+ 'initscripts: legacy support for hostname and vconsole setup'
+ 'initscripts-systemd: native boot and initialization scripts'
+ 'python2-cairo: systemd-analyze'
+ 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts'
+ 'systemd-sysvcompat: symlink package to provide sysvinit binaries')
+ backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf
+ etc/dbus-1/system.d/org.freedesktop.hostname1.conf
+ etc/dbus-1/system.d/org.freedesktop.login1.conf
+ etc/dbus-1/system.d/org.freedesktop.locale1.conf
+ etc/dbus-1/system.d/org.freedesktop.timedate1.conf
+ etc/systemd/system.conf
+ etc/systemd/user.conf
+ etc/systemd/systemd-logind.conf
+ etc/systemd/systemd-journald.conf)
+ install="$pkgname.install"
+
+ # Install Parabola os-release
+ install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release"
+
+ find ${srcdir} -maxdepth 1 -type l -delete
+ cp -a ${srcdir}/* ${pkgdir}
+}
diff --git a/libre/systemd/systemd.install b/libre/systemd/systemd.install
new file mode 100644
index 000000000..0c3e9abee
--- /dev/null
+++ b/libre/systemd/systemd.install
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+checkgroups() {
+ if ! getent group lock >/dev/null; then
+ groupadd -g 54 lock
+ fi
+}
+
+sd_booted() {
+ [ -e sys/fs/cgroup/systemd ]
+}
+
+post_install() {
+ checkgroups
+
+ if [ ! -f etc/machine-id ]; then
+ systemd-machine-id-setup
+ fi
+
+ echo "systemd has been installed to /bin/systemd. Please ensure you append"
+ echo "init=/bin/systemd to your kernel command line in your bootloader."
+}
+
+post_upgrade() {
+ checkgroups
+
+ if [ ! -f etc/machine-id ]; then
+ systemd-machine-id-setup
+ fi
+
+ if sd_booted; then
+ # we moved the binary in 44-2 to /usr, so a reexec leads to a
+ # coredump. refuse this reexec and warn the user that they should
+ # reboot instead.
+ if [ "$(vercmp 44-2 "$2")" -eq 1 ]; then
+ echo "warning: refusing to reexec systemd. the system should be rebooted."
+ else
+ systemctl daemon-reload
+ systemctl daemon-reexec
+ fi
+ fi
+}
+
+post_remove() {
+ if getent group lock >/dev/null; then
+ groupdel lock
+ fi
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD
index 56fc03df1..83db7cd5c 100644
--- a/libre/texlive-bin-libre/PKGBUILD
+++ b/libre/texlive-bin-libre/PKGBUILD
@@ -1,12 +1,13 @@
-# Parabola maintainer: Michał Masłowski <mtjm@mtjm.eu>
-# $Id: PKGBUILD 154937 2012-03-31 10:46:09Z ronald $
+# $Id: PKGBUILD 159191 2012-05-17 14:36:30Z remy $
# Maintainer: Rémy Oudompheng <remy@archlinux.org>
# Contributor: francois <francois.archlinux.org>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
pkgname=texlive-bin-libre
pkgver=2011.3
_luatex_ver=0.70.1
-pkgrel=5
+pkgrel=7
pkgdesc="TeX Live binaries"
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
@@ -22,6 +23,7 @@ install="texlive.install"
source=('texmf.cnf'
'fix-fontforge-encoding.patch'
'09-texlive-fonts.conf'
+ 'luatex-poppler-0.20.patch'
'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-20111210.tar.xz'
'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-texmf-20111210.tar.xz'
# "http://foundry.supelec.fr/gf/download/frsrelease/392/1730/luatex-beta-${_luatex_ver}.tar.bz2"
@@ -44,6 +46,7 @@ backup=(etc/texmf/web2c/texmf.cnf \
md5sums=('220a4f4cc0d915bf8fcbcb553dcee1ae'
'bfb9716aa00c86c08cd31e5b32edeb98'
'393a4bf67adc7ca5df2b386759d1a637'
+ '52ce57c02e30a25036b6a3175c566b78'
'c7bb38c0ab30c2b64cf4cf83a736b35c'
'5d8f06a3683ce88a3c33e15f5ba6a858'
'e7f0197559ef865d8c01683dab3b8526')
@@ -59,6 +62,7 @@ build() {
# cd luatex-beta-${_luatex_ver}
cd luatex
patch -p0 -i ../fix-fontforge-encoding.patch
+ patch -Np0 -i ../luatex-poppler-0.20.patch
(cd source && ./texk/web2c/luatexdir/getluatexsvnversion.sh)
mkdir build
cd build
diff --git a/libre/texlive-bin-libre/luatex-poppler-0.20.patch b/libre/texlive-bin-libre/luatex-poppler-0.20.patch
new file mode 100644
index 000000000..175824f3e
--- /dev/null
+++ b/libre/texlive-bin-libre/luatex-poppler-0.20.patch
@@ -0,0 +1,77 @@
+--- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2011-10-06 06:14:20.000000000 +0000
++++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2012-05-17 11:30:26.327236883 +0000
+@@ -157,7 +157,7 @@
+ pdfdoc_changed_error(L);
+ uout = new_Annot_userdata(L);
+ uout->d =
+- new Annot((XRef *) uxref->d, (Dict *) udict->d, (Catalog *) ucatalog->d,
++ new Annot((PDFDoc *) uxref->pd, (Dict *) udict->d,
+ (Object *) uref->d);
+ uout->atype = ALLOC_LEPDF;
+ uout->pc = uxref->pc;
+@@ -179,7 +179,7 @@
+ pdfdoc_changed_error(L);
+ uout = new_Annots_userdata(L);
+ uout->d =
+- new Annots((XRef *) uxref->d, (Catalog *) ucatalog->d,
++ new Annots((PDFDoc *) uxref->pd,
+ (Object *) uannotsobj->d);
+ uout->atype = ALLOC_LEPDF;
+ uout->pc = uxref->pc;
+@@ -369,7 +369,7 @@
+ // Annot
+
+ m_poppler_get_BOOL(Annot, isOk);
+-m_poppler_get_OBJECT(Annot, getAppearance);
++m_poppler_get_OBJECT(Annot, getAppearanceResDict);
+ m_poppler_get_poppler(Annot, AnnotBorder, getBorder);
+
+ static int m_Annot_match(lua_State * L)
+@@ -408,7 +408,7 @@
+
+ static const struct luaL_Reg Annot_m[] = {
+ {"isOk", m_Annot_isOk},
+- {"getAppearance", m_Annot_getAppearance},
++ {"getAppearance", m_Annot_getAppearanceResDict},
+ {"getBorder", m_Annot_getBorder},
+ {"match", m_Annot_match},
+ {"__tostring", m_Annot__tostring},
+@@ -1433,7 +1433,7 @@
+
+ static int m_Object_getTypeName(lua_State * L)
+ {
+- char *s;
++ const char *s;
+ udstruct *uin;
+ uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
+ if (uin->pd != NULL && uin->pd->pc != uin->pc)
+@@ -2120,7 +2120,7 @@
+ if ((uin->pd != NULL && uin->pd->pc != uin->pc)
+ || (ucat->pd != NULL && ucat->pd->pc != ucat->pd->pc))
+ pdfdoc_changed_error(L);
+- links = ((Page *) uin->d)->getLinks((Catalog *) ucat->d);
++ links = ((Page *) uin->d)->getLinks();
+ if (links != NULL) {
+ uout = new_Links_userdata(L);
+ uout->d = links;
+@@ -2738,7 +2738,10 @@
+ return 1;
+ }
+
+-m_poppler_get_INT(XRef, getSize);
++static int m_XRef_getSize(lua_State * L)
++{
++ return m_XRef_getNumObjects(L);
++}
+
+ static int m_XRef_getEntry(lua_State * L)
+ {
+@@ -2748,7 +2751,7 @@
+ if (uin->pd != NULL && uin->pd->pc != uin->pc)
+ pdfdoc_changed_error(L);
+ i = luaL_checkint(L, 2);
+- size = ((XRef *) uin->d)->getSize();
++ size = ((XRef *) uin->d)->getNumObjects();
+ if (i > 0 && i <= size) {
+ uout = new_XRefEntry_userdata(L);
+ uout->d = ((XRef *) uin->d)->getEntry(i);
diff --git a/libre/thunderbird-libre/PKGBUILD b/libre/thunderbird-libre/PKGBUILD
index fc516a3e9..c50063be5 100644
--- a/libre/thunderbird-libre/PKGBUILD
+++ b/libre/thunderbird-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 157168 2012-04-25 08:44:38Z ibiru $
+# $Id: PKGBUILD 157994 2012-04-30 20:56:00Z ibiru $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
@@ -6,7 +6,7 @@
# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
pkgname=thunderbird-libre
-pkgver=12.0
+pkgver=12.0.1
pkgrel=1
pkgdesc="Standalone Mail/News reader"
arch=('i686' 'x86_64' 'mips64el')
@@ -28,7 +28,7 @@ source=(ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/sourc
gcc47.patch
clrf.patch
searchplugins-libre.patch)
-md5sums=('7b30b72472a65bce74ba0ae60e4d4e6c'
+md5sums=('64cacde4cb2b1e8736f1c3a0ea6a02db'
'41511a6bcdd04cf56706218e4670e631'
'af3e5b344d2edf1c7d61bb0a5a96de9a'
'aea906acf72c43dd82ead2fabcc1c6db'
@@ -39,7 +39,7 @@ md5sums=('7b30b72472a65bce74ba0ae60e4d4e6c'
'6a1d132b0275876678cb0b08c527805a')
build() {
- cd "$srcdir/comm-release"
+ cd comm-release
patch -Np1 -i "$srcdir/thunderbird-install-dir.patch"
patch -Np1 -i "$srcdir/gcc47.patch"
patch -Np1 -i "$srcdir/clrf.patch"
@@ -56,7 +56,7 @@ build() {
}
package() {
- cd "$srcdir/comm-release"
+ cd comm-release
make -j1 -f client.mk DESTDIR="$pkgdir" install
install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/thunderbird/defaults/pref/"
diff --git a/libre/thunderbird-libre/gcc46.patch b/libre/thunderbird-libre/gcc46.patch
deleted file mode 100644
index 71a3686ea..000000000
--- a/libre/thunderbird-libre/gcc46.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur comm-1.9.2.orig//mozilla/gfx/ots/src/os2.cc comm-1.9.2/mozilla/gfx/ots/src/os2.cc
---- comm-1.9.2.orig//mozilla/gfx/ots/src/os2.cc 2011-04-14 11:37:21.000000000 -0700
-+++ comm-1.9.2/mozilla/gfx/ots/src/os2.cc 2011-04-29 09:10:23.635807433 -0700
-@@ -2,6 +2,8 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
-+#include <cstddef>
-+
- #include "os2.h"
-
- #include "head.h"
diff --git a/libre/thunderbird-libre/gnuzilla-addons.patch b/libre/thunderbird-libre/gnuzilla-addons.patch
deleted file mode 100644
index 2c0e4a68f..000000000
--- a/libre/thunderbird-libre/gnuzilla-addons.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- usr/lib/thunderbird-3.1/defaults/pref/all-thunderbird.js 2011-03-04 17:28:11.000000000 -0300
-+++ all-thunderbird.js 2011-03-08 11:22:31.437207173 -0300
-@@ -144,9 +144,9 @@
- pref("extensions.update.interval", 86400); // Check for updates to Extensions and
- // Themes every day
- // Non-symmetric (not shared by extensions) extension-specific [update] preferences
--pref("extensions.getMoreExtensionsURL", "https://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/extensions/");
--pref("extensions.getMoreThemesURL", "https://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/themes/");
--pref("extensions.getMorePluginsURL", "https://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/plugins/");
-+pref("extensions.getMoreExtensionsURL", "http://www.gnu.org/software/gnuzilla/addons.html");
-+pref("extensions.getMoreThemesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
-+pref("extensions.getMorePluginsURL", "http://www.gnu.org/software/gnuzilla/addons.html");
- pref("extensions.dss.enabled", false); // Dynamic Skin Switching
- pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next
-
-@@ -155,14 +155,14 @@
-
- // Preferences for the Get Add-ons pane
- pref("extensions.getAddons.showPane", true);
--pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/%APP%");
-+pref("extensions.getAddons.browseAddons", "http://www.gnu.org/software/gnuzilla/addons.html");
- pref("extensions.getAddons.maxResults", 5);
--pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/recommended");
--pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/featured/all/10/%OS%/%VERSION%");
--pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/search?q=%TERMS%");
--pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/10/%OS%/%VERSION%");
-+pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html");
-+pref("extensions.getAddons.recommended.url", "http://www.gnu.org/software/gnuzilla/addons.html");
-+pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html");
-+pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html");
-
--pref("xpinstall.whitelist.add", "addons.mozilla.org");
-+pref("xpinstall.whitelist.add", "www.gnu.org");
- pref("xpinstall.whitelist.add.36", "getpersonas.com");
-
- pref("mail.shell.checkDefaultClient", true);
diff --git a/libre/thunderbird-libre/libvpx.patch b/libre/thunderbird-libre/libvpx.patch
deleted file mode 100644
index d0f9a0f4c..000000000
--- a/libre/thunderbird-libre/libvpx.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur comm-release.orig/mozilla/configure.in comm-release/mozilla/configure.in
---- comm-release.orig/mozilla/configure.in 2012-02-05 18:02:17.376830377 +0000
-+++ comm-release/mozilla/configure.in 2012-02-05 18:03:25.246274275 +0000
-@@ -5629,7 +5629,7 @@
- dnl v0.9.6 one to check for.
- AC_TRY_COMPILE([
- #include <vpx/vpx_decoder.h>
-- #if !defined(VPX_CODEC_USE_INPUT_PARTITION)
-+ #if !defined(VPX_CODEC_USE_INPUT_FRAGMENTS)
- #error "test failed."
- #endif
- ],
diff --git a/libre/thunderbird-libre/mozilla-notify.patch b/libre/thunderbird-libre/mozilla-notify.patch
deleted file mode 100644
index 952567b0e..000000000
--- a/libre/thunderbird-libre/mozilla-notify.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up comm-1.9.2/mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp.libnotify comm-1.9.2/mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp
---- comm-1.9.2/mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp.libnotify 2010-10-27 09:05:36.000000000 +0200
-+++ comm-1.9.2/mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp 2010-11-08 13:28:04.564002379 +0100
-@@ -204,7 +204,7 @@ nsAlertsIconListener::ShowAlert(GdkPixbu
- {
- NotifyNotification* notify = notify_notification_new(mAlertTitle.get(),
- mAlertText.get(),
-- NULL, NULL);
-+ NULL);
- if (!notify)
- return NS_ERROR_OUT_OF_MEMORY;
-
diff --git a/libre/thunderbird-libre/python2.7.patch b/libre/thunderbird-libre/python2.7.patch
deleted file mode 100644
index 2d159d479..000000000
--- a/libre/thunderbird-libre/python2.7.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.in 2010-10-13 08:37:29.000000000 -0700
-+++ configure.in~ 2010-10-19 10:32:06.360019362 -0700
-@@ -878,7 +878,7 @@
- AC_MSG_RESULT([yes])
- fi
-
--MOZ_PATH_PROGS(PYTHON, $PYTHON python2.6 python2.5 python2.4 python)
-+MOZ_PATH_PROGS(PYTHON, $PYTHON python2.7 python2.6 python2.5 python2.4 python)
- if test -z "$PYTHON"; then
- AC_MSG_ERROR([python was not found in \$PATH])
- fi
diff --git a/libre/thunderbird-libre/thunderbird-appversion.patch b/libre/thunderbird-libre/thunderbird-appversion.patch
deleted file mode 100644
index 3f7a54686..000000000
--- a/libre/thunderbird-libre/thunderbird-appversion.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru comm-1.9.2.orig/mail/installer/Makefile.in comm-1.9.2/mail/installer/Makefile.in
---- comm-1.9.2.orig/mail/installer/Makefile.in 2010-04-30 22:41:37.000000000 +0300
-+++ comm-1.9.2/mail/installer/Makefile.in 2010-05-05 20:20:29.551660469 +0300
-@@ -42,6 +42,8 @@
-
- include $(DEPTH)/config/autoconf.mk
-
-+MOZ_APP_VERSION="3.1"
-+
- include $(topsrcdir)/config/rules.mk
-
- MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in
diff --git a/libre/thunderbird-libre/thunderbird-preferences.patch b/libre/thunderbird-libre/thunderbird-preferences.patch
deleted file mode 100644
index 627f02434..000000000
--- a/libre/thunderbird-libre/thunderbird-preferences.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Nur comm-1.9.2.orig/mail/app/profile/all-thunderbird.js comm-1.9.2/mail/app/profile/all-thunderbird.js
---- comm-1.9.2.orig/mail/app/profile/all-thunderbird.js 2010-06-23 20:43:08.000000000 +0300
-+++ comm-1.9.2/mail/app/profile/all-thunderbird.js 2010-06-25 00:37:36.518929684 +0300
-@@ -125,7 +125,7 @@
- pref("app.update.showInstalledUI", false);
-
- // Release notes URL
--pref("app.releaseNotesURL", "http://live.mozillamessaging.com/%APP%/releasenotes?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%");
-+pref("app.releaseNotesURL", "http://www.mozillamessaging.com/%APP%/%VERSION%/releasenotes?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%");
-
- // Base URL for web-based support pages.
- pref("app.support.baseURL", "http://support.live.mozillamessaging.com/%LOCALE%/%APP%/%APPBUILDID%/");
-diff -Nur comm-1.9.2.orig/mail/branding/nightly/thunderbird-branding.js comm-1.9.2/mail/branding/nightly/thunderbird-branding.js
---- comm-1.9.2.orig/mail/branding/nightly/thunderbird-branding.js 2010-06-23 20:43:08.000000000 +0300
-+++ comm-1.9.2/mail/branding/nightly/thunderbird-branding.js 2010-06-25 00:36:10.605569121 +0300
-@@ -1,11 +1,11 @@
- // Default start page
--pref("mailnews.start_page.url","https://live.mozillamessaging.com/%APP%/start?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%");
-+pref("mailnews.start_page.url","https://www.mozillamessaging.com/%APP%/%VERSION%/start?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%");
-
- // first launch welcome page
--pref("mailnews.start_page.welcome_url","https://live.mozillamessaging.com/%APP%/firstrun?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%");
-+pref("mailnews.start_page.welcome_url","https://www.mozillamessaging.com/%APP%/%VERSION%/firstrun?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%");
-
- // start page override to load after an update
--pref("mailnews.start_page.override_url","https://live.mozillamessaging.com/%APP%/whatsnew?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%");
-+pref("mailnews.start_page.override_url","https://www.mozillamessaging.com/%APP%/%VERSION%/whatsnew?locale=%LOCALE%&version=%VERSION%&os=%OS%&buildid=%APPBUILDID%");
-
- // Interval: Time between checks for a new version (in seconds)
- // nightly=8 hours, official=24 hours
diff --git a/libre/thunderbird-libre/thunderbird-shared-error.patch b/libre/thunderbird-libre/thunderbird-shared-error.patch
deleted file mode 100644
index ae41bbc1e..000000000
--- a/libre/thunderbird-libre/thunderbird-shared-error.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up comm-central/mail/installer/Makefile.in.shared-error comm-central/mail/installer/Makefile.in
---- comm-central/mail/installer/Makefile.in.shared-error 2009-09-16 13:47:43.000000000 +0200
-+++ comm-central/mail/installer/Makefile.in 2009-09-16 13:48:25.000000000 +0200
-@@ -95,9 +95,11 @@ endif
- # mozconfig instead.
- ifndef MAIL_PKG_SHARED
- ifndef BUILD_STATIC_LIBS
-+ifeq (BUILD_STATIC_LIBS, 1)
- $(error you need an "--enable-static" build to package a build)
- endif
- endif
-+endif
-
- # On mozilla-central, packager.mk uses core_abspath to redefine DIST
- # As the comm-central config.mk doesn't set it, do it ourselves instead
diff --git a/libre/thunderbird-libre/xulrunner-png14.patch b/libre/thunderbird-libre/xulrunner-png14.patch
deleted file mode 100644
index 1dc0ecda5..000000000
--- a/libre/thunderbird-libre/xulrunner-png14.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.cpp.orig 2010-01-17 00:15:53.979744638 +0100
-+++ mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.cpp 2010-01-17 00:16:07.855993411 +0100
-@@ -135,7 +135,7 @@
-
- // initialize
- mPNG = png_create_write_struct(PNG_LIBPNG_VER_STRING,
-- png_voidp_NULL,
-+ NULL,
- ErrorCallback,
- ErrorCallback);
- if (! mPNG)
diff --git a/libre/unarchiver/PKGBUILD b/libre/unarchiver/PKGBUILD
index 95154cc76..41b7cc5ce 100644
--- a/libre/unarchiver/PKGBUILD
+++ b/libre/unarchiver/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=unarchiver
pkgver=3.1
-pkgrel=1
+pkgrel=2
pkgdesc="An Objective-C application for uncompressing archive files"
arch=('x86_64' 'i686' 'mips64el')
url="http://unarchiver.c3.cx/"
diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD
index ab75659b0..402d1c7fd 100644
--- a/libre/virtualbox-libre/PKGBUILD
+++ b/libre/virtualbox-libre/PKGBUILD
@@ -11,7 +11,7 @@
#Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgbase=virtualbox-libre
pkgname=('virtualbox-libre' 'virtualbox-parabola-additions' 'virtualbox-sdk' 'virtualbox-source')
-pkgver=4.1.14
+pkgver=4.1.16
pkgrel=1
arch=('i686' 'x86_64')
url='http://virtualbox.org'
@@ -25,7 +25,7 @@ source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}
change_default_driver_dir.patch vbox-service.conf vbox-service.rc
vboxweb.conf vboxweb.rc)
-_extramodules=extramodules-3.3-LIBRE
+_extramodules=extramodules-3.4-LIBRE
_kernver="$(cat /lib/modules/${_extramodules}/version)"
build() {
@@ -116,7 +116,7 @@ package_virtualbox-libre() {
install -D -m 0644 "$srcdir/VirtualBox-${pkgver}/COPYING" \
"$pkgdir/usr/share/licenses/virtualbox/LICENSE"
install -D -m 0644 "$srcdir/10-vboxdrv.rules" \
- "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules"
+ "$pkgdir/usr/lib/udev/rules.d/10-vboxdrv.rules"
# install rc.d script
install -D -m755 "$srcdir/vboxweb.rc" "$pkgdir/etc/rc.d/vboxweb"
@@ -186,7 +186,7 @@ package_virtualbox-parabola-additions(){
install -d "$pkgdir/usr/lib/xorg/modules/dri"
install -m755 VBoxOGL*.so "$pkgdir/usr/lib"
ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so"
- install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so"
+ install -m755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so"
# install rc.d script
install -D -m755 "$srcdir/vbox-service.rc" "$pkgdir/etc/rc.d/vbox-service"
@@ -194,7 +194,7 @@ package_virtualbox-parabola-additions(){
# install sample config
install -D -m644 "$srcdir/vbox-service.conf" "$pkgdir/etc/conf.d/vbox-service"
}
-md5sums=('f8baa04e6d589bc6b1fb4e7079fbe414'
+md5sums=('eacfb802ecdd6d3435228eb3d3488719'
'5f85710e0b8606de967716ded7b2d351'
'755ab0dd9bcacf2c00d2275b1ca69547'
'a1ff1d1b4423556887e48a32978226a6'
diff --git a/libre/virtualbox-modules-lts/60-vboxguest.rules b/libre/virtualbox-modules-lts/60-vboxguest.rules
new file mode 100644
index 000000000..6285f7249
--- /dev/null
+++ b/libre/virtualbox-modules-lts/60-vboxguest.rules
@@ -0,0 +1,2 @@
+ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600"
+ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666"
diff --git a/libre/virtualbox-modules-lts/LocalConfig.kmk b/libre/virtualbox-modules-lts/LocalConfig.kmk
new file mode 100644
index 000000000..af79f90cd
--- /dev/null
+++ b/libre/virtualbox-modules-lts/LocalConfig.kmk
@@ -0,0 +1,19 @@
+VBOX_WITH_ADDITION_DRIVERS =
+VBOX_WITH_INSTALLER = 1
+VBOX_WITH_LINUX_ADDITIONS = 1
+VBOX_WITH_X11_ADDITIONS =
+VBOX_WITH_TESTCASES =
+VBOX_WITH_TESTSUITE =
+VBOX_WITH_ORIGIN :=
+VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
+VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
+VBOX_PATH_APP_DOCS := /usr/share/virtualbox
+VBOX_WITH_REGISTRATION_REQUEST =
+VBOX_WITH_UPDATE_REQUEST =
+VBOX_WITH_VNC := 1
+VBOX_BLD_PYTHON = python2
+VBOX_JAVA_HOME = /usr/lib/jvm/java-6-openjdk
+VBOX_GCC_WERR =
+VBOX_GCC_WARN =
diff --git a/libre/virtualbox-modules-lts/PKGBUILD b/libre/virtualbox-modules-lts/PKGBUILD
new file mode 100644
index 000000000..8ff59d712
--- /dev/null
+++ b/libre/virtualbox-modules-lts/PKGBUILD
@@ -0,0 +1,101 @@
+# $Id$
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Maintainer (Parabola): Jorge López <jorginho@adinet.com.uy>
+
+pkgbase=virtualbox-modules-lts
+pkgname=('virtualbox-modules-lts' 'virtualbox-parabola-modules-lts')
+pkgver=4.1.14
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://virtualbox.org'
+license=('GPL')
+makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-libre-lts' 'linux-libre-lts-headers')
+[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
+source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
+ LocalConfig.kmk 60-vboxguest.rules)
+md5sums=('f8baa04e6d589bc6b1fb4e7079fbe414'
+ '4c88bd122677a35f68abd76eb01b378b'
+ 'ed1341881437455d9735875ddf455fbe')
+
+_extramodules=extramodules-3.0-LIBRE-LTS
+_kernver=$(pacman -Ss linux-libre-lts | awk 'NR==1{print $2}')-LIBRE-LTS
+
+export KERN_DIR=/lib/modules/${_kernver}/build
+export KERN_INCL=/usr/src/linux-${_kernver}/include/
+
+build() {
+ cd "$srcdir/VirtualBox-${pkgver}"
+
+ cp "$srcdir/LocalConfig.kmk" .
+
+ ./configure \
+ --with-linux=/usr/src/linux-${_kernver} \
+ --disable-java \
+ --disable-docs \
+ --disable-xpcom \
+ --disable-python \
+ --disable-sdl-ttf \
+ --disable-alsa \
+ --disable-pulse \
+ --disable-dbus \
+ --disable-opengl \
+ --build-headless \
+ --nofatal
+ source ./env.sh
+ kmk all
+
+ make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
+ make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+}
+
+package_virtualbox-parabola-modules-lts(){
+ pkgdesc="Additions only for Parabola guests (long-term supported kernel modules)"
+ license=('GPL')
+ install=virtualbox-parabola-modules-lts.install
+ depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
+ replaces=('virtualbox-archlinux-modules-lts')
+ conflicts=('virtualbox-archlinux-modules-lts')
+ provides=("virtualbox-parabola-modules=$pkgver" "virtualbox-archlinux-modules=$pkgver" "virtualbox-archlinux-modules-lts=$pkgver")
+
+ source "$srcdir/VirtualBox-${pkgver}/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+
+ for module in vboxguest.ko vboxsf.ko vboxvideo.ko; do
+ install -D -m644 ${module} \
+ "$pkgdir/lib/modules/${_extramodules}/${module}"
+ done
+
+ install -D -m 0644 "$srcdir/60-vboxguest.rules" \
+ "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
+
+ find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
+}
+
+package_virtualbox-modules-lts(){
+ pkgdesc="Long-term supported kernel modules for VirtualBox"
+ license=('GPL')
+ install=virtualbox-modules-lts.install
+ depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
+ provides=("virtualbox-modules=$pkgver")
+
+ source "$srcdir/VirtualBox-${pkgver}/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
+
+ install -D -m644 vboxdrv.ko \
+ "$pkgdir/lib/modules/${_extramodules}/vboxdrv.ko"
+
+ install -D -m644 vboxnetadp.ko \
+ "$pkgdir/lib/modules/${_extramodules}/vboxnetadp.ko"
+
+ install -D -m644 vboxnetflt.ko \
+ "$pkgdir/lib/modules/${_extramodules}/vboxnetflt.ko"
+
+ install -D -m644 vboxpci.ko \
+ "$pkgdir/lib/modules/${_extramodules}/vboxpci.ko"
+
+ find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
+}
diff --git a/libre/virtualbox-modules-lts/virtualbox-modules-lts.install b/libre/virtualbox-modules-lts/virtualbox-modules-lts.install
new file mode 100644
index 000000000..014fa0b88
--- /dev/null
+++ b/libre/virtualbox-modules-lts/virtualbox-modules-lts.install
@@ -0,0 +1,18 @@
+EXTRAMODULES='extramodules-3.0-LIBRE-LTS'
+
+post_install() {
+/bin/cat << EOF
+===> You must load vboxdrv module before starting VirtualBox:
+===> # modprobe vboxdrv
+EOF
+ depmod $(cat /lib/modules/$EXTRAMODULES/version)
+}
+
+post_upgrade() {
+ depmod $(cat /lib/modules/$EXTRAMODULES/version)
+ echo 'In order to use the new version, reload all virtualbox modules manually.'
+}
+
+post_remove() {
+ depmod $(cat /lib/modules/$EXTRAMODULES/version)
+}
diff --git a/libre/virtualbox-modules-lts/virtualbox-parabola-modules-lts.install b/libre/virtualbox-modules-lts/virtualbox-parabola-modules-lts.install
new file mode 100644
index 000000000..80d966a9d
--- /dev/null
+++ b/libre/virtualbox-modules-lts/virtualbox-parabola-modules-lts.install
@@ -0,0 +1,16 @@
+EXTRAMODULES='extramodules-3.0-LIBRE-LTS'
+
+post_install() {
+cat << EOF
+===> You may want to load vboxguest, vboxsf and vboxvideo
+EOF
+ depmod $(cat /lib/modules/$EXTRAMODULES/version)
+}
+
+post_upgrade() {
+ depmod $(cat /lib/modules/$EXTRAMODULES/version)
+}
+
+post_remove() {
+ depmod $(cat /lib/modules/$EXTRAMODULES/version)
+}
diff --git a/libre/virtualbox-modules/PKGBUILD b/libre/virtualbox-modules/PKGBUILD
index f711418ca..e14bf347c 100644
--- a/libre/virtualbox-modules/PKGBUILD
+++ b/libre/virtualbox-modules/PKGBUILD
@@ -5,23 +5,20 @@
pkgbase=virtualbox-modules
pkgname=('virtualbox-modules' 'virtualbox-parabola-modules')
-pkgver=4.1.14
-pkgrel=1
+pkgver=4.1.16
+pkgrel=2
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL')
makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-libre-headers')
-replaces=('virtualbox-modules')
-conflicts=('virtualbox-modules')
-provides=("virtualbox-modules=$pkgver")
[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
- LocalConfig.kmk 60-vboxguest.rules)
-md5sums=('f8baa04e6d589bc6b1fb4e7079fbe414'
+ LocalConfig.kmk 60-vboxguest.rules)
+md5sums=('eacfb802ecdd6d3435228eb3d3488719'
'4c88bd122677a35f68abd76eb01b378b'
'ed1341881437455d9735875ddf455fbe')
-_extramodules=extramodules-3.3-LIBRE
+_extramodules=extramodules-3.4-LIBRE
_kernver="$(cat /lib/modules/${_extramodules}/version || true)"
export KERN_DIR=/lib/modules/${_kernver}/build
@@ -56,9 +53,9 @@ package_virtualbox-parabola-modules(){
pkgdesc="Additions only for Parabola guests (kernel modules)"
license=('GPL')
install=virtualbox-parabola-modules.install
- depends=('linux-libre>=3.3' 'linux-libre<3.4')
- replaces=('virtualbox-guest-modules' 'virtualbox-archlinux-modules')
- conflicts=('virtualbox-guest-modules' 'virtualbox-archlinux-modules')
+ depends=('linux-libre>=3.4' 'linux-libre<3.5')
+ replaces=('virtualbox-archlinux-modules')
+ conflicts=('virtualbox-archlinux-modules')
provides=("virtualbox-archlinux-modules=$pkgver")
source "$srcdir/VirtualBox-${pkgver}/env.sh"
@@ -71,7 +68,7 @@ package_virtualbox-parabola-modules(){
done
install -D -m 0644 "$srcdir/60-vboxguest.rules" \
- "$pkgdir/lib/udev/rules.d/60-vboxguest.rules"
+ "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
@@ -82,7 +79,7 @@ package_virtualbox-modules(){
pkgdesc="Kernel modules for VirtualBox"
license=('GPL')
install=virtualbox-modules.install
- depends=('linux-libre>=3.3' 'linux-libre<3.4')
+ depends=('linux-libre>=3.4' 'linux-libre<3.5')
source "$srcdir/VirtualBox-${pkgver}/env.sh"
diff --git a/libre/virtualbox-modules/linux34.patch b/libre/virtualbox-modules/linux34.patch
new file mode 100644
index 000000000..05ec78557
--- /dev/null
+++ b/libre/virtualbox-modules/linux34.patch
@@ -0,0 +1,12 @@
+diff -Nur VirtualBox-4.1.14.orig/Config.kmk VirtualBox-4.1.14/Config.kmk
+--- VirtualBox-4.1.14.orig/Config.kmk 2012-04-26 16:56:21.000000000 +0000
++++ VirtualBox-4.1.14/Config.kmk 2012-05-21 14:35:22.348398884 +0000
+@@ -2856,7 +2856,7 @@
+ TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \
+ -fno-reorder-blocks -ffreestanding -fno-asynchronous-unwind-tables -funit-at-a-time \
+ -Wno-sign-compare -Wdeclaration-after-statement
+-TEMPLATE_VBOXR0DRV_CXXFLAGS = $(filter-out -Wstrict-prototypes -Wno-pointer-sign -ffreestanding -Wdeclaration-after-statement -Werror-implicit-function-declaration,$(TEMPLATE_VBOXR0DRV_CFLAGS) $(TEMPLATE_VBOXR0DRV_CFLAGS.$(KBUILD_TARGET_ARCH))) -fno-exceptions -fno-rtti
++TEMPLATE_VBOXR0DRV_CXXFLAGS = $(filter-out -Wstrict-prototypes -Wno-pointer-sign -ffreestanding -Wdeclaration-after-statement -Werror-implicit-function-declaration,$(TEMPLATE_VBOXR0DRV_CFLAGS) $(TEMPLATE_VBOXR0DRV_CFLAGS.$(KBUILD_TARGET_ARCH))) -fno-exceptions -fno-rtti -fpermissive
+ ifndef VBOX_LINUX_VERSION_2_4
+ # 2.6
+ TEMPLATE_VBOXR0DRV_SYSSUFF = .ko
diff --git a/libre/virtualbox-modules/virtualbox-modules.install b/libre/virtualbox-modules/virtualbox-modules.install
index 72be196c2..14242eaf4 100644
--- a/libre/virtualbox-modules/virtualbox-modules.install
+++ b/libre/virtualbox-modules/virtualbox-modules.install
@@ -3,17 +3,17 @@ post_install() {
===> You must load vboxdrv module before starting VirtualBox:
===> # modprobe vboxdrv
EOF
- EXTRAMODULES='extramodules-3.3-LIBRE'
+ EXTRAMODULES='extramodules-3.4-LIBRE'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
post_upgrade() {
- EXTRAMODULES='extramodules-3.3-LIBRE'
+ EXTRAMODULES='extramodules-3.4-LIBRE'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
echo 'In order to use the new version, reload all virtualbox modules manually.'
}
post_remove() {
- EXTRAMODULES='extramodules-3.3-LIBRE'
+ EXTRAMODULES='extramodules-3.4-LIBRE'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
diff --git a/libre/virtualbox-modules/virtualbox-parabola-modules.install b/libre/virtualbox-modules/virtualbox-parabola-modules.install
index 0cc4b44fd..0e101aedf 100644
--- a/libre/virtualbox-modules/virtualbox-parabola-modules.install
+++ b/libre/virtualbox-modules/virtualbox-parabola-modules.install
@@ -2,16 +2,16 @@ post_install() {
cat << EOF
===> You may want to load vboxguest, vboxsf and vboxvideo
EOF
- EXTRAMODULES='extramodules-3.3-LIBRE'
+ EXTRAMODULES='extramodules-3.4-LIBRE'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
post_upgrade() {
- EXTRAMODULES='extramodules-3.3-LIBRE'
+ EXTRAMODULES='extramodules-3.4-LIBRE'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
post_remove() {
- EXTRAMODULES='extramodules-3.3-LIBRE'
+ EXTRAMODULES='extramodules-3.4-LIBRE'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
diff --git a/libre/xulrunner-libre/PKGBUILD b/libre/xulrunner-libre/PKGBUILD
index 0b66880dc..af4b45aae 100644
--- a/libre/xulrunner-libre/PKGBUILD
+++ b/libre/xulrunner-libre/PKGBUILD
@@ -6,8 +6,8 @@
# We're getting this from Debian Sid
_debname=iceweasel
-_debver=11.0
-_debrel=2
+_debver=12.0
+_debrel=3
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -31,12 +31,12 @@ options=('!emptydirs')
conflicts=('xulrunner')
provides=("xulrunner=${_debver}")
replaces=('xulrunner-oss' 'xulrunner')
-md5sums=('01d9d18909ca9fff2483d8fd779a0f89'
- '59349da94b095fe0623d09ce75696766'
- 'f407208a750cdc9bea3a6a3a3e42dd89'
- '6277c508cf24a78c596decae2e568997'
+md5sums=('b45f57bfe21b0e6db4f0683e794917cb'
+ '2b66fb2e51631ef3b07de89ef9d17d0c'
+ '552adcf5da3b07757e7fe29c8bd2ec2d'
+ 'f2f4f4a573f549e8b494e33b3ad226bc'
'27271ce647a83906ef7a24605e840d61'
- 'aeaf587f7a962ebcc81515e1f1706cd1')
+ '5a8563f8fda7ad30405c86764267a19c')
dpkg-source() {
# This will simulate dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc
diff --git a/libre/xulrunner-libre/gcc47.patch b/libre/xulrunner-libre/gcc47.patch
index 5bdd36c6f..5cea6769d 100644
--- a/libre/xulrunner-libre/gcc47.patch
+++ b/libre/xulrunner-libre/gcc47.patch
@@ -1,44 +1,77 @@
---- mozilla-release.orig/ipc/chromium/src/base/file_util.cc 2012-03-06 14:26:03.000000000 -0200
-+++ mozilla-release/ipc/chromium/src/base/file_util.cc 2012-04-04 18:50:02.094431651 -0300
-@@ -8,7 +8,7 @@
- #include <io.h>
- #endif
- #include <stdio.h>
--#if defined(ANDROID)
-+#if defined(ANDROID) || defined(OS_POSIX)
- #include <unistd.h>
- #endif
---- mozilla-release.orig/ipc/chromium/src/base/message_pump_libevent.cc 2012-03-06 14:26:03.000000000 -0200
-+++ mozilla-release/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-04 19:55:24.140455837 -0300
-@@ -6,6 +6,7 @@
-
- #include <errno.h>
- #include <fcntl.h>
-+#include <unistd.h>
-
- #include "eintr_wrapper.h"
- #include "base/logging.h"
+# HG changeset patch
+# User Martin Stránský <stransky@redhat.com>
+# Date 1328886461 -3600
+# Node ID 87a5ed480992788832387ba91a77c69fbe9fe349
+# Parent 67017dd3b7f6650e6bcd5b6f545e0309e8de7049
+Bug 725655 - gcc 4.7 build failures (missing headers). r=benjamin
---- mozilla-release.orig/ipc/chromium/src/base/file_util_linux.cc 2012-03-06 14:26:03.000000000 -0200
-+++ mozilla-release/ipc/chromium/src/base/file_util_linux.cc 2012-04-04 20:49:49.756138306 -0300
-@@ -5,6 +5,7 @@
+diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc
+--- a/ipc/chromium/src/base/file_util_linux.cc
++++ b/ipc/chromium/src/base/file_util_linux.cc
+@@ -1,15 +1,18 @@
+ // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
#include "base/file_util.h"
#include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
++#endif
#include <string>
#include <vector>
-
---- mozilla-release.orig/ipc/chromium/src/base/time_posix.cc 2012-03-06 14:26:03.000000000 -0200
-+++ mozilla-release/ipc/chromium/src/base/time_posix.cc 2012-04-04 20:55:12.678037291 -0300
-@@ -8,6 +8,7 @@
+
+ #include "base/eintr_wrapper.h"
+ #include "base/file_path.h"
+ #include "base/string_util.h"
+
+diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc
+--- a/ipc/chromium/src/base/message_pump_libevent.cc
++++ b/ipc/chromium/src/base/message_pump_libevent.cc
+@@ -1,16 +1,19 @@
+ // Copyright (c) 2008 The Chromium Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+ #include "base/message_pump_libevent.h"
+
+ #include <errno.h>
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include "eintr_wrapper.h"
+ #include "base/logging.h"
+ #include "base/scoped_nsautorelease_pool.h"
+ #include "base/scoped_ptr.h"
+ #include "base/time.h"
+ #include "third_party/libevent/event.h"
+
+diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc
+--- a/ipc/chromium/src/base/time_posix.cc
++++ b/ipc/chromium/src/base/time_posix.cc
+@@ -8,16 +8,19 @@
#include <mach/mach_time.h>
#endif
#include <sys/time.h>
-+#include <unistd.h>
#ifdef ANDROID
#include <time64.h>
#else
+ #include <time.h>
+ #endif
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <limits>
+
+ #include "base/basictypes.h"
+ #include "base/logging.h"
+
+ namespace base {
+
diff --git a/libre/xulrunner-libre/mozconfig b/libre/xulrunner-libre/mozconfig
index d6cc06648..34c5a6137 100644
--- a/libre/xulrunner-libre/mozconfig
+++ b/libre/xulrunner-libre/mozconfig
@@ -15,11 +15,12 @@ ac_add_options --with-system-libvpx
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
ac_add_options --enable-system-ffi
-ac_add_options --enable-system-cairo
+#ac_add_options --enable-system-cairo
ac_add_options --enable-system-pixman
ac_add_options --with-pthreads
# Features
+ac_add_options --disable-safe-browsing
ac_add_options --enable-startup-notification
ac_add_options --enable-gio
@@ -32,3 +33,6 @@ ac_add_options --disable-installer
# Optimization
ac_add_options --enable-optimize
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD
index 9c60622fb..cbf5b9c60 100644
--- a/libre/your-freedom/PKGBUILD
+++ b/libre/your-freedom/PKGBUILD
@@ -23,4 +23,4 @@ package() {
sort -u
))
}
-md5sums=('1a964c90247c9c9db5b0e44bd33143d6')
+md5sums=('c4ecf01611d55df03b5e4412dca4e70d')