From f676c2f568b9c75daa3e2b688978b877f950953d Mon Sep 17 00:00:00 2001 From: root Date: Wed, 30 May 2012 00:02:28 +0000 Subject: Wed May 30 00:02:27 UTC 2012 --- community/aria2/PKGBUILD | 8 +++++--- community/libvirt/PKGBUILD | 25 ++++++++++++++++++++----- community/libvirt/libvirt.tmpfiles.d | 4 ++++ community/mathomatic/PKGBUILD | 6 +++--- community/tea/PKGBUILD | 6 +++--- community/uzbl/PKGBUILD | 6 +++--- community/wt/PKGBUILD | 6 +++--- 7 files changed, 41 insertions(+), 20 deletions(-) create mode 100644 community/libvirt/libvirt.tmpfiles.d (limited to 'community') diff --git a/community/aria2/PKGBUILD b/community/aria2/PKGBUILD index 79ac592da..6d1557c43 100644 --- a/community/aria2/PKGBUILD +++ b/community/aria2/PKGBUILD @@ -1,10 +1,12 @@ -# Maintainer: Thomas Dziedzic < gostrc at gmail > +# $Id: PKGBUILD 71517 2012-05-28 04:56:49Z bpiotrowski $ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: Angel Velasquez # Contributor: Alexander Fehr # Contributor: Daniel J Griffiths pkgname=aria2 -pkgver=1.15.0 +pkgver=1.15.1 pkgrel=1 pkgdesc='Download utility that supports HTTP(S), FTP, BitTorrent, and Metalink' arch=('i686' 'x86_64') @@ -13,7 +15,7 @@ license=('GPL') depends=('gnutls' 'libxml2' 'sqlite' 'c-ares' 'ca-certificates') checkdepends=('cppunit') source=("http://downloads.sourceforge.net/aria2/aria2-${pkgver}.tar.bz2") -md5sums=('a381b8a0fe2d71f726187237ac6de82d') +md5sums=('a749a1f7cfe03a7518630d2310267c42') build() { cd aria2-${pkgver} diff --git a/community/libvirt/PKGBUILD b/community/libvirt/PKGBUILD index 51502fc16..a9abeab51 100644 --- a/community/libvirt/PKGBUILD +++ b/community/libvirt/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 70825 2012-05-17 09:48:45Z spupykin $ +# $Id: PKGBUILD 71544 2012-05-28 16:19:18Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: Jonathan Wiersma pkgname=libvirt pkgver=0.9.12 -pkgrel=3 +pkgrel=7 pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)" arch=('i686' 'x86_64') url="http://libvirt.org/" @@ -34,6 +34,7 @@ source=("http://libvirt.org/sources/$pkgname-$pkgver.tar.gz" libvirtd.conf.d libvirtd-guests.rc.d libvirtd-guests.conf.d + libvirt.tmpfiles.d openbsd-netcat-default.patch libvirt-libnl3.patch) md5sums=('5e842bc55733ceba60c64767580ff3e4' @@ -41,6 +42,7 @@ md5sums=('5e842bc55733ceba60c64767580ff3e4' '3ed0e24f5b5e25bf553f5427d64915e6' '8297b1be794a24cc77f66af9380ace59' 'bc2971dacdbac967fc3474e50affc345' + '8d98e62915785686b0b6c8c070628392' 'b0be50eb9dfe4d133decf23b60880f7d' 'ba27fbcd989de8d84cfff98326f10c54') @@ -64,8 +66,8 @@ build() { export LDFLAGS=-lX11 export RADVD=/usr/sbin/radvd [ -f Makefile ] || ./configure --prefix=/usr --libexec=/usr/lib/"$pkgname" \ - --with-storage-lvm --without-xen --with-udev --without-hal --disable-static - find -name Makefile -exec sed -i 's#-L /usr#-L/usr#' {} \; + --with-storage-lvm --without-xen --with-udev --without-hal --disable-static \ + --with-init-script=systemd make -j1 } @@ -80,5 +82,18 @@ package() { install -D -m755 "$srcdir"/libvirtd-guests.rc.d "$pkgdir"/etc/rc.d/libvirtd-guests install -D -m644 "$srcdir"/libvirtd-guests.conf.d "$pkgdir"/etc/conf.d/libvirtd-guests - rm -rf $pkgdir/var/run + + install -dm0755 $pkgdir/usr/lib/sysctl.d + mv $pkgdir/etc/sysctl.d/libvirtd $pkgdir/usr/lib/sysctl.d/libvirtd + + # systemd stuff +# install -D -m644 "$srcdir"/libvirt.tmpfiles.d "$pkgdir"/usr/lib/tmpfiles.d/libvirt +# mv $pkgdir/lib/* $pkgdir/usr/lib/ + + rm -rf \ + $pkgdir/var/run \ + $pkgdir/etc/rc.d/init.d \ + $pkgdir/etc/sysconfig \ + $pkgdir/lib \ + $pkgdir/etc/sysctl.d } diff --git a/community/libvirt/libvirt.tmpfiles.d b/community/libvirt/libvirt.tmpfiles.d new file mode 100644 index 000000000..0cec93271 --- /dev/null +++ b/community/libvirt/libvirt.tmpfiles.d @@ -0,0 +1,4 @@ +d /var/run/libvirt/qemu 0755 root root - +d /var/run/libvirt/lxc 0755 root root - +d /var/run/libvirt/uml 0755 root root - +d /var/run/libvirt/network 0755 root root - diff --git a/community/mathomatic/PKGBUILD b/community/mathomatic/PKGBUILD index 9c97d5e4b..150ad5868 100755 --- a/community/mathomatic/PKGBUILD +++ b/community/mathomatic/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 70548 2012-05-11 05:36:19Z ttopper $ +# $Id: PKGBUILD 71531 2012-05-28 12:15:53Z ttopper $ # Contributor: G_Syme # Contributor: Stefan Husmann # Maintainer: Thorsten Töpper pkgname=mathomatic -pkgver=15.8.4 +pkgver=15.8.5 pkgrel=1 pkgdesc="General purpose Computer Algebra System written in C" arch=('i686' 'x86_64') @@ -17,7 +17,7 @@ optdepends=('python2: for running /usr/share/doc/mathomatic/factorial/factorial' 'm4: for complex operations using the matho script' 'gnuplot: for plotting') source=(http://mathomatic.org/$pkgname-$pkgver.tar.bz2) -md5sums=('9b58f8221e76a80f847f31a67bf01401') +md5sums=('cb2abc1a35142158f8ec99d7e8368e11') build() { cd "$srcdir"/$pkgname-$pkgver diff --git a/community/tea/PKGBUILD b/community/tea/PKGBUILD index 607ea0b3e..eb2752b20 100644 --- a/community/tea/PKGBUILD +++ b/community/tea/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 70098 2012-04-29 09:24:57Z spupykin $ +# $Id: PKGBUILD 71527 2012-05-28 07:39:51Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer: Andrea Scarpino # Contributor: Roman Kyrylych @@ -6,7 +6,7 @@ # Contributor: Zsolt Varadi pkgname=tea -pkgver=33.0.0 +pkgver=33.1.0 pkgrel=1 pkgdesc="A QT-based text editor for Linux and *BSD. With an ultimate small size TEA provides you hundreds of functions." arch=('i686' 'x86_64') @@ -16,7 +16,7 @@ depends=('qt' 'aspell' 'hunspell') install=tea.install source=(http://downloads.sourceforge.net/project/tea-editor/tea-editor/$pkgver/tea-$pkgver.tar.bz2 tea.desktop) -md5sums=('61f7df51378ab94324ef6df17f793f1d' +md5sums=('15593d59f6079f0114e390ec731a8527' '377ace3363124f4c086de0babb820761') build() { diff --git a/community/uzbl/PKGBUILD b/community/uzbl/PKGBUILD index 9ee2129c6..725ff0e0d 100644 --- a/community/uzbl/PKGBUILD +++ b/community/uzbl/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 60076 2011-12-04 21:15:00Z lcarlier $ +# $Id: PKGBUILD 71552 2012-05-28 19:39:02Z lcarlier $ # Maintainer : Laurent Carlier # Contributor: Ionut Biru # Contributor: Dieter Plaetinck pkgbase=uzbl pkgname=('uzbl-core' 'uzbl-browser' 'uzbl-tabbed') -pkgver=2011.11.28 +pkgver=2012.05.14 pkgrel=1 arch=('i686' 'x86_64') url="http://www.uzbl.org" license=('GPL3') makedepends=('pkgconfig' 'libwebkit>=1.3.13') source=(uzbl-$pkgver.tar.gz::https://github.com/Dieterbe/uzbl/tarball/$pkgver) -md5sums=('6e55474050b5df43d8bdd403248b1da6') +md5sums=('4c58653bddbcf1429f7275bbb7c664a9') build() { cd "$srcdir"/Dieterbe-uzbl-* diff --git a/community/wt/PKGBUILD b/community/wt/PKGBUILD index 61230854c..187653a5b 100644 --- a/community/wt/PKGBUILD +++ b/community/wt/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 70952 2012-05-20 14:22:35Z svenstaro $ +# $Id: PKGBUILD 71521 2012-05-28 07:37:34Z svenstaro $ # Maintainer: Sergej Pupykin # Contributor: Denis Martinez pkgname=wt pkgver=3.2.1 -pkgrel=2 +pkgrel=3 pkgdesc="a C++ library and application server for developing and deploying web applications" arch=('i686' 'x86_64') url="http://www.webtoolkit.eu/" @@ -33,7 +33,7 @@ build() { cmake -DCONNECTOR_HTTP=ON -DCMAKE_INSTALL_PREFIX=/usr \ -DWEBUSER=http -DWEBGROUP=http -DRUNDIR=/var/run/wt -DDEPLOYROOT=/var/www/wt \ -DUSE_SYSTEM_SQLITE3=ON -DCMAKE_EXE_LINKER_FLAGS="-lboost_random" \ - -DWT_CMAKE_FINDER_INSTALL_DIR="share/cmake-2.8/Modules" .. + -DWT_CMAKE_FINDER_INSTALL_DIR="share/cmake-2.8/Modules" -DINSTALL_EXAMPLES=ON .. make } -- cgit v1.2.3-54-g00ecf From f1ae949e08a764ac063703dc9bb7f0afd7c16e96 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 31 May 2012 00:03:48 +0000 Subject: Thu May 31 00:03:48 UTC 2012 --- community/ecryptfs-utils/PKGBUILD | 12 +- community/ecryptfs-utils/symlinked_mtab.patch | 25 + community/kpartsplugin/PKGBUILD | 6 +- community/mosh/PKGBUILD | 6 +- community/oolite/PKGBUILD | 10 +- community/opendkim/PKGBUILD | 58 + community/opendkim/opendkim.conf | 1 + community/opendkim/opendkim.install | 11 + community/opendkim/opendkim.rc | 39 + extra/cups/PKGBUILD | 165 +++ extra/cups/PKGBUILD.16 | 143 +++ extra/cups/cups | 68 ++ extra/cups/cups-avahi-1-config.patch | 42 + extra/cups/cups-avahi-2-backend.patch | 1118 +++++++++++++++++ extra/cups/cups-avahi-3-timeouts.patch | 381 ++++++ extra/cups/cups-avahi-4-poll.patch | 529 ++++++++ extra/cups/cups-avahi-5-services.patch | 1272 ++++++++++++++++++++ extra/cups/cups-no-export-ssllibs.patch | 12 + extra/cups/cups-no-gcrypt.patch | 38 + extra/cups/cups-no-gzip-man.patch | 18 + extra/cups/cups-no-gzip-man.patch.16 | 18 + extra/cups/cups.install | 26 + extra/cups/cups.logrotate | 8 + extra/cups/cups.pam | 3 + extra/fping/PKGBUILD | 6 +- extra/icewm/PKGBUILD | 11 +- extra/icewm/icewm-cpustatus.patch | 45 + extra/lame/PKGBUILD | 34 + extra/libreoffice/PKGBUILD | 22 +- extra/trayer/PKGBUILD | 12 +- extra/trayer/manpage.diff | 9 +- kde-unstable/kactivities/PKGBUILD | 29 + kde-unstable/kdeaccessibility-jovie/PKGBUILD | 34 + .../kdeaccessibility-jovie.install | 11 + kde-unstable/kdeaccessibility-kaccessible/PKGBUILD | 30 + kde-unstable/kdeaccessibility-kmag/PKGBUILD | 33 + .../kdeaccessibility-kmag.install | 11 + kde-unstable/kdeaccessibility-kmousetool/PKGBUILD | 33 + .../kdeaccessibility-kmousetool.install | 11 + kde-unstable/kdeaccessibility-kmouth/PKGBUILD | 33 + .../kdeaccessibility-kmouth.install | 11 + kde-unstable/kdeadmin/PKGBUILD | 80 ++ kde-unstable/kdeadmin/kdeadmin.install | 11 + kde-unstable/kdeadmin/syslog-path.patch | 11 + kde-unstable/kdeartwork/PKGBUILD | 104 ++ kde-unstable/kdebase-konsole/PKGBUILD | 30 + kde-unstable/kdebase-runtime/PKGBUILD | 44 + .../kdebase-runtime/kdebase-runtime.install | 13 + kde-unstable/kdebase-workspace/PKGBUILD | 77 ++ kde-unstable/kdebase-workspace/fixpath.patch | 34 + kde-unstable/kdebase-workspace/kde-np.pam | 9 + kde-unstable/kdebase-workspace/kde.pam | 9 + .../kdebase-workspace/kdebase-workspace.install | 25 + kde-unstable/kdebase-workspace/kdm | 36 + kde-unstable/kdebase-workspace/kdm-xinitrd.patch | 18 + kde-unstable/kdebase-workspace/kscreensaver.pam | 1 + .../kdebase-workspace/terminate-server.patch | 11 + kde-unstable/kdebase/PKGBUILD | 120 ++ kde-unstable/kdebase/kdebase-dolphin.install | 11 + kde-unstable/kdebase/kdebase-konqueror.install | 12 + kde-unstable/kdebase/kdebase.install | 11 + kde-unstable/kdebindings-kimono/PKGBUILD | 32 + kde-unstable/kdebindings-kross/PKGBUILD | 52 + kde-unstable/kdebindings-perlqt/PKGBUILD | 31 + kde-unstable/kdebindings-python/PKGBUILD | 70 ++ kde-unstable/kdebindings-qtruby/PKGBUILD | 33 + kde-unstable/kdebindings-qyoto/PKGBUILD | 31 + kde-unstable/kdebindings-smokegen/PKGBUILD | 30 + kde-unstable/kdebindings-smokekde/PKGBUILD | 35 + kde-unstable/kdebindings-smokeqt/PKGBUILD | 32 + kde-unstable/kdeedu-analitza/PKGBUILD | 30 + kde-unstable/kdeedu-blinken/PKGBUILD | 31 + kde-unstable/kdeedu-blinken/kdeedu-blinken.install | 11 + kde-unstable/kdeedu-cantor/PKGBUILD | 34 + kde-unstable/kdeedu-cantor/kdeedu-cantor.install | 12 + kde-unstable/kdeedu-kalgebra/PKGBUILD | 31 + .../kdeedu-kalgebra/kdeedu-kalgebra.install | 12 + kde-unstable/kdeedu-kalzium/PKGBUILD | 31 + kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install | 11 + kde-unstable/kdeedu-kanagram/PKGBUILD | 31 + .../kdeedu-kanagram/kdeedu-kanagram.install | 11 + kde-unstable/kdeedu-kbruch/PKGBUILD | 31 + kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install | 11 + kde-unstable/kdeedu-kgeography/PKGBUILD | 31 + .../kdeedu-kgeography/kdeedu-kgeography.install | 11 + kde-unstable/kdeedu-khangman/PKGBUILD | 31 + .../kdeedu-khangman/kdeedu-khangman.install | 11 + kde-unstable/kdeedu-kig/PKGBUILD | 34 + kde-unstable/kdeedu-kig/kdeedu-kig.install | 12 + kde-unstable/kdeedu-kiten/PKGBUILD | 31 + kde-unstable/kdeedu-kiten/kdeedu-kiten.install | 11 + kde-unstable/kdeedu-klettres/PKGBUILD | 31 + .../kdeedu-klettres/kdeedu-klettres.install | 11 + kde-unstable/kdeedu-kmplot/PKGBUILD | 31 + kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install | 12 + kde-unstable/kdeedu-kstars/PKGBUILD | 32 + kde-unstable/kdeedu-kstars/kdeedu-kstars.install | 11 + kde-unstable/kdeedu-ktouch/PKGBUILD | 31 + kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install | 11 + kde-unstable/kdeedu-kturtle/PKGBUILD | 31 + kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install | 11 + kde-unstable/kdeedu-kwordquiz/PKGBUILD | 31 + .../kdeedu-kwordquiz/kdeedu-kwordquiz.install | 12 + kde-unstable/kdeedu-marble/PKGBUILD | 32 + kde-unstable/kdeedu-marble/kdeedu-marble.install | 12 + kde-unstable/kdeedu-pairs/PKGBUILD | 31 + kde-unstable/kdeedu-pairs/kdeedu-pairs.install | 12 + kde-unstable/kdeedu-parley/PKGBUILD | 31 + kde-unstable/kdeedu-parley/kdeedu-parley.install | 12 + kde-unstable/kdeedu-rocs/PKGBUILD | 31 + kde-unstable/kdeedu-step/PKGBUILD | 31 + kde-unstable/kdeedu-step/kdeedu-step.install | 11 + kde-unstable/kdegames/PKGBUILD | 510 ++++++++ kde-unstable/kdegames/kdegames-kbattleship.install | 12 + kde-unstable/kdegames/kdegames-kfourinline.install | 12 + kde-unstable/kdegames/kdegames-kigo.install | 12 + kde-unstable/kdegames/kdegames-kolf.install | 12 + kde-unstable/kdegames/kdegames-kpatience.install | 13 + kde-unstable/kdegames/kdegames-kspaceduel.install | 12 + kde-unstable/kdegames/kdegames-ktuberling.install | 12 + kde-unstable/kdegames/kdegames-lskat.install | 12 + kde-unstable/kdegames/kdegames-palapeli.install | 13 + kde-unstable/kdegames/kdegames.install | 11 + kde-unstable/kdegraphics-gwenview/PKGBUILD | 32 + .../kdegraphics-gwenview.install | 12 + kde-unstable/kdegraphics-kamera/PKGBUILD | 30 + kde-unstable/kdegraphics-kcolorchooser/PKGBUILD | 31 + .../kdegraphics-kcolorchooser.install | 11 + kde-unstable/kdegraphics-kgamma/PKGBUILD | 33 + kde-unstable/kdegraphics-kolourpaint/PKGBUILD | 31 + .../kdegraphics-kolourpaint.install | 12 + kde-unstable/kdegraphics-kruler/PKGBUILD | 31 + .../kdegraphics-kruler/kdegraphics-kruler.install | 12 + kde-unstable/kdegraphics-ksaneplugin/PKGBUILD | 31 + kde-unstable/kdegraphics-ksnapshot/PKGBUILD | 32 + .../kdegraphics-ksnapshot.install | 12 + kde-unstable/kdegraphics-mobipocket/PKGBUILD | 32 + .../kdegraphics-mobipocket.install | 11 + kde-unstable/kdegraphics-okular/PKGBUILD | 33 + .../kdegraphics-okular/kdegraphics-okular.install | 12 + kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD | 31 + kde-unstable/kdegraphics-svgpart/PKGBUILD | 31 + kde-unstable/kdegraphics-thumbnailers/PKGBUILD | 31 + kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD | 32 + kde-unstable/kdemultimedia-dragonplayer/PKGBUILD | 31 + .../kdemultimedia-dragonplayer.install | 12 + kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD | 29 + kde-unstable/kdemultimedia-juk/PKGBUILD | 31 + .../kdemultimedia-juk/kdemultimedia-juk.install | 11 + kde-unstable/kdemultimedia-kmix/PKGBUILD | 30 + .../kdemultimedia-kmix/kdemultimedia-kmix.install | 11 + kde-unstable/kdemultimedia-kscd/PKGBUILD | 30 + .../kdemultimedia-kscd/kdemultimedia-kscd.install | 11 + kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD | 29 + kde-unstable/kdenetwork/PKGBUILD | 113 ++ kde-unstable/kdenetwork/kdenetwork-kget.install | 12 + kde-unstable/kdenetwork/kdenetwork-kopete.install | 12 + kde-unstable/kdenetwork/kdenetwork-kppp.install | 12 + kde-unstable/kdenetwork/kdenetwork.install | 11 + kde-unstable/kdepim-runtime/PKGBUILD | 31 + kde-unstable/kdepim-runtime/kdepim-runtime.install | 13 + kde-unstable/kdepim/PKGBUILD | 244 ++++ kde-unstable/kdepim/kdepim-kleopatra.install | 12 + kde-unstable/kdepim/kdepim-kmail.install | 12 + kde-unstable/kdepim/kdepim-korganizer.install | 12 + kde-unstable/kdepim/kdepim.install | 11 + kde-unstable/kdepimlibs/PKGBUILD | 31 + kde-unstable/kdepimlibs/kdepimlibs.install | 11 + kde-unstable/kdeplasma-addons/PKGBUILD | 619 ++++++++++ .../kdeplasma-addons-applets-lancelot.install | 12 + .../kdeplasma-addons-applets.install | 11 + kde-unstable/kdesdk-kate/PKGBUILD | 68 ++ kde-unstable/kdesdk-kate/kdebase-katepart.install | 11 + kde-unstable/kdesdk-kate/kdebase-kwrite.install | 12 + kde-unstable/kdesdk-kate/kdesdk-kate.install | 13 + .../kdesdk-kate/pkgbuild-syntax-highlight.patch | 11 + kde-unstable/kdesdk/PKGBUILD | 248 ++++ kde-unstable/kdesdk/fix-python2-path.patch | 32 + kde-unstable/kdesdk/kdesdk-cervisia.install | 12 + kde-unstable/kdesdk/kdesdk-kcachegrind.install | 12 + kde-unstable/kdesdk/kdesdk-kompare.install | 12 + kde-unstable/kdesdk/kdesdk-kuiviewer.install | 12 + kde-unstable/kdesdk/kdesdk-lokalize.install | 12 + kde-unstable/kdesdk/kdesdk-okteta.install | 12 + kde-unstable/kdesdk/kdesdk-umbrello.install | 12 + kde-unstable/kdesdk/kdesdk.install | 11 + kde-unstable/kdetoys/PKGBUILD | 56 + kde-unstable/kdetoys/kdetoys.install | 11 + kde-unstable/kdeutils-filelight/PKGBUILD | 35 + .../kdeutils-filelight/kdeutils-filelight.install | 12 + kde-unstable/kdeutils-kcalc/PKGBUILD | 33 + kde-unstable/kdeutils-kcalc/kdeutils-kcalc.install | 11 + kde-unstable/kdeutils-kcharselect/PKGBUILD | 32 + kde-unstable/kdeutils-kdf/PKGBUILD | 33 + kde-unstable/kdeutils-kdf/kdeutils-kdf.install | 11 + kde-unstable/kdeutils-kfloppy/PKGBUILD | 33 + .../kdeutils-kfloppy/kdeutils-kfloppy.install | 12 + kde-unstable/kdeutils-kgpg/PKGBUILD | 33 + kde-unstable/kdeutils-kgpg/kdeutils-kgpg.install | 12 + kde-unstable/kdeutils-kremotecontrol/PKGBUILD | 35 + .../kdeutils-kremotecontrol.install | 11 + kde-unstable/kdeutils-ktimer/PKGBUILD | 33 + .../kdeutils-ktimer/kdeutils-ktimer.install | 11 + kde-unstable/kdeutils-kwallet/PKGBUILD | 33 + .../kdeutils-kwallet/kdeutils-kwallet.install | 12 + kde-unstable/kdeutils-superkaramba/PKGBUILD | 31 + .../kdeutils-superkaramba.install | 12 + kde-unstable/kdeutils-sweeper/PKGBUILD | 32 + kde-unstable/kdewebdev/PKGBUILD | 70 ++ .../kdewebdev/kdewebdev-kimagemapeditor.install | 12 + kde-unstable/kdewebdev/kdewebdev.install | 11 + kde-unstable/libkcddb/PKGBUILD | 31 + kde-unstable/libkdcraw/PKGBUILD | 32 + kde-unstable/libkdcraw/libkdcraw.install | 11 + kde-unstable/libkdeedu/PKGBUILD | 31 + kde-unstable/libkdeedu/libkdeedu.install | 11 + kde-unstable/libkexiv2/PKGBUILD | 31 + kde-unstable/libkipi/PKGBUILD | 32 + kde-unstable/libkipi/libkipi.install | 11 + kde-unstable/libksane/PKGBUILD | 32 + kde-unstable/libksane/libksane.install | 11 + kde-unstable/nepomuk-core/PKGBUILD | 36 + multilib/lib32-glib2/PKGBUILD | 8 +- multilib/lib32-libssh2/PKGBUILD | 6 +- multilib/lib32-qt/PKGBUILD | 8 +- testing/gpm/PKGBUILD | 41 + testing/gpm/gpm | 41 + testing/gpm/gpm.conf.d | 4 + testing/gpm/gpm.install | 16 + testing/gpm/gpm.service | 6 + testing/gpm/gpm.sh | 3 + 231 files changed, 10330 insertions(+), 61 deletions(-) create mode 100644 community/ecryptfs-utils/symlinked_mtab.patch create mode 100644 community/opendkim/PKGBUILD create mode 100644 community/opendkim/opendkim.conf create mode 100644 community/opendkim/opendkim.install create mode 100644 community/opendkim/opendkim.rc create mode 100644 extra/cups/PKGBUILD create mode 100644 extra/cups/PKGBUILD.16 create mode 100755 extra/cups/cups create mode 100644 extra/cups/cups-avahi-1-config.patch create mode 100644 extra/cups/cups-avahi-2-backend.patch create mode 100644 extra/cups/cups-avahi-3-timeouts.patch create mode 100644 extra/cups/cups-avahi-4-poll.patch create mode 100644 extra/cups/cups-avahi-5-services.patch create mode 100644 extra/cups/cups-no-export-ssllibs.patch create mode 100644 extra/cups/cups-no-gcrypt.patch create mode 100644 extra/cups/cups-no-gzip-man.patch create mode 100644 extra/cups/cups-no-gzip-man.patch.16 create mode 100644 extra/cups/cups.install create mode 100644 extra/cups/cups.logrotate create mode 100644 extra/cups/cups.pam create mode 100644 extra/icewm/icewm-cpustatus.patch create mode 100644 extra/lame/PKGBUILD create mode 100644 kde-unstable/kactivities/PKGBUILD create mode 100644 kde-unstable/kdeaccessibility-jovie/PKGBUILD create mode 100644 kde-unstable/kdeaccessibility-jovie/kdeaccessibility-jovie.install create mode 100644 kde-unstable/kdeaccessibility-kaccessible/PKGBUILD create mode 100644 kde-unstable/kdeaccessibility-kmag/PKGBUILD create mode 100644 kde-unstable/kdeaccessibility-kmag/kdeaccessibility-kmag.install create mode 100644 kde-unstable/kdeaccessibility-kmousetool/PKGBUILD create mode 100644 kde-unstable/kdeaccessibility-kmousetool/kdeaccessibility-kmousetool.install create mode 100644 kde-unstable/kdeaccessibility-kmouth/PKGBUILD create mode 100644 kde-unstable/kdeaccessibility-kmouth/kdeaccessibility-kmouth.install create mode 100644 kde-unstable/kdeadmin/PKGBUILD create mode 100644 kde-unstable/kdeadmin/kdeadmin.install create mode 100644 kde-unstable/kdeadmin/syslog-path.patch create mode 100644 kde-unstable/kdeartwork/PKGBUILD create mode 100644 kde-unstable/kdebase-konsole/PKGBUILD create mode 100644 kde-unstable/kdebase-runtime/PKGBUILD create mode 100644 kde-unstable/kdebase-runtime/kdebase-runtime.install create mode 100644 kde-unstable/kdebase-workspace/PKGBUILD create mode 100644 kde-unstable/kdebase-workspace/fixpath.patch create mode 100644 kde-unstable/kdebase-workspace/kde-np.pam create mode 100644 kde-unstable/kdebase-workspace/kde.pam create mode 100644 kde-unstable/kdebase-workspace/kdebase-workspace.install create mode 100644 kde-unstable/kdebase-workspace/kdm create mode 100644 kde-unstable/kdebase-workspace/kdm-xinitrd.patch create mode 100644 kde-unstable/kdebase-workspace/kscreensaver.pam create mode 100644 kde-unstable/kdebase-workspace/terminate-server.patch create mode 100644 kde-unstable/kdebase/PKGBUILD create mode 100644 kde-unstable/kdebase/kdebase-dolphin.install create mode 100644 kde-unstable/kdebase/kdebase-konqueror.install create mode 100644 kde-unstable/kdebase/kdebase.install create mode 100644 kde-unstable/kdebindings-kimono/PKGBUILD create mode 100644 kde-unstable/kdebindings-kross/PKGBUILD create mode 100644 kde-unstable/kdebindings-perlqt/PKGBUILD create mode 100644 kde-unstable/kdebindings-python/PKGBUILD create mode 100644 kde-unstable/kdebindings-qtruby/PKGBUILD create mode 100644 kde-unstable/kdebindings-qyoto/PKGBUILD create mode 100644 kde-unstable/kdebindings-smokegen/PKGBUILD create mode 100644 kde-unstable/kdebindings-smokekde/PKGBUILD create mode 100644 kde-unstable/kdebindings-smokeqt/PKGBUILD create mode 100644 kde-unstable/kdeedu-analitza/PKGBUILD create mode 100644 kde-unstable/kdeedu-blinken/PKGBUILD create mode 100644 kde-unstable/kdeedu-blinken/kdeedu-blinken.install create mode 100644 kde-unstable/kdeedu-cantor/PKGBUILD create mode 100644 kde-unstable/kdeedu-cantor/kdeedu-cantor.install create mode 100644 kde-unstable/kdeedu-kalgebra/PKGBUILD create mode 100644 kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install create mode 100644 kde-unstable/kdeedu-kalzium/PKGBUILD create mode 100644 kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install create mode 100644 kde-unstable/kdeedu-kanagram/PKGBUILD create mode 100644 kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install create mode 100644 kde-unstable/kdeedu-kbruch/PKGBUILD create mode 100644 kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install create mode 100644 kde-unstable/kdeedu-kgeography/PKGBUILD create mode 100644 kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install create mode 100644 kde-unstable/kdeedu-khangman/PKGBUILD create mode 100644 kde-unstable/kdeedu-khangman/kdeedu-khangman.install create mode 100644 kde-unstable/kdeedu-kig/PKGBUILD create mode 100644 kde-unstable/kdeedu-kig/kdeedu-kig.install create mode 100644 kde-unstable/kdeedu-kiten/PKGBUILD create mode 100644 kde-unstable/kdeedu-kiten/kdeedu-kiten.install create mode 100644 kde-unstable/kdeedu-klettres/PKGBUILD create mode 100644 kde-unstable/kdeedu-klettres/kdeedu-klettres.install create mode 100644 kde-unstable/kdeedu-kmplot/PKGBUILD create mode 100644 kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install create mode 100644 kde-unstable/kdeedu-kstars/PKGBUILD create mode 100644 kde-unstable/kdeedu-kstars/kdeedu-kstars.install create mode 100644 kde-unstable/kdeedu-ktouch/PKGBUILD create mode 100644 kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install create mode 100644 kde-unstable/kdeedu-kturtle/PKGBUILD create mode 100644 kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install create mode 100644 kde-unstable/kdeedu-kwordquiz/PKGBUILD create mode 100644 kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install create mode 100644 kde-unstable/kdeedu-marble/PKGBUILD create mode 100644 kde-unstable/kdeedu-marble/kdeedu-marble.install create mode 100644 kde-unstable/kdeedu-pairs/PKGBUILD create mode 100644 kde-unstable/kdeedu-pairs/kdeedu-pairs.install create mode 100644 kde-unstable/kdeedu-parley/PKGBUILD create mode 100644 kde-unstable/kdeedu-parley/kdeedu-parley.install create mode 100644 kde-unstable/kdeedu-rocs/PKGBUILD create mode 100644 kde-unstable/kdeedu-step/PKGBUILD create mode 100644 kde-unstable/kdeedu-step/kdeedu-step.install create mode 100644 kde-unstable/kdegames/PKGBUILD create mode 100644 kde-unstable/kdegames/kdegames-kbattleship.install create mode 100644 kde-unstable/kdegames/kdegames-kfourinline.install create mode 100644 kde-unstable/kdegames/kdegames-kigo.install create mode 100644 kde-unstable/kdegames/kdegames-kolf.install create mode 100644 kde-unstable/kdegames/kdegames-kpatience.install create mode 100644 kde-unstable/kdegames/kdegames-kspaceduel.install create mode 100644 kde-unstable/kdegames/kdegames-ktuberling.install create mode 100644 kde-unstable/kdegames/kdegames-lskat.install create mode 100644 kde-unstable/kdegames/kdegames-palapeli.install create mode 100644 kde-unstable/kdegames/kdegames.install create mode 100644 kde-unstable/kdegraphics-gwenview/PKGBUILD create mode 100644 kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install create mode 100644 kde-unstable/kdegraphics-kamera/PKGBUILD create mode 100644 kde-unstable/kdegraphics-kcolorchooser/PKGBUILD create mode 100644 kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install create mode 100644 kde-unstable/kdegraphics-kgamma/PKGBUILD create mode 100644 kde-unstable/kdegraphics-kolourpaint/PKGBUILD create mode 100644 kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install create mode 100644 kde-unstable/kdegraphics-kruler/PKGBUILD create mode 100644 kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install create mode 100644 kde-unstable/kdegraphics-ksaneplugin/PKGBUILD create mode 100644 kde-unstable/kdegraphics-ksnapshot/PKGBUILD create mode 100644 kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install create mode 100644 kde-unstable/kdegraphics-mobipocket/PKGBUILD create mode 100644 kde-unstable/kdegraphics-mobipocket/kdegraphics-mobipocket.install create mode 100644 kde-unstable/kdegraphics-okular/PKGBUILD create mode 100644 kde-unstable/kdegraphics-okular/kdegraphics-okular.install create mode 100644 kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD create mode 100644 kde-unstable/kdegraphics-svgpart/PKGBUILD create mode 100644 kde-unstable/kdegraphics-thumbnailers/PKGBUILD create mode 100644 kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD create mode 100644 kde-unstable/kdemultimedia-dragonplayer/PKGBUILD create mode 100644 kde-unstable/kdemultimedia-dragonplayer/kdemultimedia-dragonplayer.install create mode 100644 kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD create mode 100644 kde-unstable/kdemultimedia-juk/PKGBUILD create mode 100644 kde-unstable/kdemultimedia-juk/kdemultimedia-juk.install create mode 100644 kde-unstable/kdemultimedia-kmix/PKGBUILD create mode 100644 kde-unstable/kdemultimedia-kmix/kdemultimedia-kmix.install create mode 100644 kde-unstable/kdemultimedia-kscd/PKGBUILD create mode 100644 kde-unstable/kdemultimedia-kscd/kdemultimedia-kscd.install create mode 100644 kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD create mode 100644 kde-unstable/kdenetwork/PKGBUILD create mode 100644 kde-unstable/kdenetwork/kdenetwork-kget.install create mode 100644 kde-unstable/kdenetwork/kdenetwork-kopete.install create mode 100644 kde-unstable/kdenetwork/kdenetwork-kppp.install create mode 100644 kde-unstable/kdenetwork/kdenetwork.install create mode 100644 kde-unstable/kdepim-runtime/PKGBUILD create mode 100644 kde-unstable/kdepim-runtime/kdepim-runtime.install create mode 100644 kde-unstable/kdepim/PKGBUILD create mode 100644 kde-unstable/kdepim/kdepim-kleopatra.install create mode 100644 kde-unstable/kdepim/kdepim-kmail.install create mode 100644 kde-unstable/kdepim/kdepim-korganizer.install create mode 100644 kde-unstable/kdepim/kdepim.install create mode 100644 kde-unstable/kdepimlibs/PKGBUILD create mode 100644 kde-unstable/kdepimlibs/kdepimlibs.install create mode 100644 kde-unstable/kdeplasma-addons/PKGBUILD create mode 100644 kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install create mode 100644 kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install create mode 100644 kde-unstable/kdesdk-kate/PKGBUILD create mode 100644 kde-unstable/kdesdk-kate/kdebase-katepart.install create mode 100644 kde-unstable/kdesdk-kate/kdebase-kwrite.install create mode 100644 kde-unstable/kdesdk-kate/kdesdk-kate.install create mode 100644 kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch create mode 100644 kde-unstable/kdesdk/PKGBUILD create mode 100644 kde-unstable/kdesdk/fix-python2-path.patch create mode 100644 kde-unstable/kdesdk/kdesdk-cervisia.install create mode 100644 kde-unstable/kdesdk/kdesdk-kcachegrind.install create mode 100644 kde-unstable/kdesdk/kdesdk-kompare.install create mode 100644 kde-unstable/kdesdk/kdesdk-kuiviewer.install create mode 100644 kde-unstable/kdesdk/kdesdk-lokalize.install create mode 100644 kde-unstable/kdesdk/kdesdk-okteta.install create mode 100644 kde-unstable/kdesdk/kdesdk-umbrello.install create mode 100644 kde-unstable/kdesdk/kdesdk.install create mode 100644 kde-unstable/kdetoys/PKGBUILD create mode 100644 kde-unstable/kdetoys/kdetoys.install create mode 100644 kde-unstable/kdeutils-filelight/PKGBUILD create mode 100644 kde-unstable/kdeutils-filelight/kdeutils-filelight.install create mode 100644 kde-unstable/kdeutils-kcalc/PKGBUILD create mode 100644 kde-unstable/kdeutils-kcalc/kdeutils-kcalc.install create mode 100644 kde-unstable/kdeutils-kcharselect/PKGBUILD create mode 100644 kde-unstable/kdeutils-kdf/PKGBUILD create mode 100644 kde-unstable/kdeutils-kdf/kdeutils-kdf.install create mode 100644 kde-unstable/kdeutils-kfloppy/PKGBUILD create mode 100644 kde-unstable/kdeutils-kfloppy/kdeutils-kfloppy.install create mode 100644 kde-unstable/kdeutils-kgpg/PKGBUILD create mode 100644 kde-unstable/kdeutils-kgpg/kdeutils-kgpg.install create mode 100644 kde-unstable/kdeutils-kremotecontrol/PKGBUILD create mode 100644 kde-unstable/kdeutils-kremotecontrol/kdeutils-kremotecontrol.install create mode 100644 kde-unstable/kdeutils-ktimer/PKGBUILD create mode 100644 kde-unstable/kdeutils-ktimer/kdeutils-ktimer.install create mode 100644 kde-unstable/kdeutils-kwallet/PKGBUILD create mode 100644 kde-unstable/kdeutils-kwallet/kdeutils-kwallet.install create mode 100644 kde-unstable/kdeutils-superkaramba/PKGBUILD create mode 100644 kde-unstable/kdeutils-superkaramba/kdeutils-superkaramba.install create mode 100644 kde-unstable/kdeutils-sweeper/PKGBUILD create mode 100644 kde-unstable/kdewebdev/PKGBUILD create mode 100644 kde-unstable/kdewebdev/kdewebdev-kimagemapeditor.install create mode 100644 kde-unstable/kdewebdev/kdewebdev.install create mode 100644 kde-unstable/libkcddb/PKGBUILD create mode 100644 kde-unstable/libkdcraw/PKGBUILD create mode 100644 kde-unstable/libkdcraw/libkdcraw.install create mode 100644 kde-unstable/libkdeedu/PKGBUILD create mode 100644 kde-unstable/libkdeedu/libkdeedu.install create mode 100644 kde-unstable/libkexiv2/PKGBUILD create mode 100644 kde-unstable/libkipi/PKGBUILD create mode 100644 kde-unstable/libkipi/libkipi.install create mode 100644 kde-unstable/libksane/PKGBUILD create mode 100644 kde-unstable/libksane/libksane.install create mode 100644 kde-unstable/nepomuk-core/PKGBUILD create mode 100644 testing/gpm/PKGBUILD create mode 100755 testing/gpm/gpm create mode 100644 testing/gpm/gpm.conf.d create mode 100644 testing/gpm/gpm.install create mode 100644 testing/gpm/gpm.service create mode 100755 testing/gpm/gpm.sh (limited to 'community') diff --git a/community/ecryptfs-utils/PKGBUILD b/community/ecryptfs-utils/PKGBUILD index 8cd135b78..f6fbf591c 100644 --- a/community/ecryptfs-utils/PKGBUILD +++ b/community/ecryptfs-utils/PKGBUILD @@ -1,24 +1,28 @@ -# $Id: PKGBUILD 70347 2012-05-04 23:54:39Z allan $ +# $Id: PKGBUILD 71565 2012-05-29 11:01:34Z tredaelli $ # Maintainer: Timothy Redaelli # Contributor: Richard Murri # Contributor: Michal Krenek pkgname=ecryptfs-utils pkgver=96 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') pkgdesc="Enterprise-class stacked cryptographic filesystem for Linux" url="https://launchpad.net/ecryptfs" license=('GPL') makedepends=('swig' 'intltool' 'gettext') depends=('keyutils' 'nss' 'python2') -source=("http://launchpad.net/ecryptfs/trunk/${pkgver}/+download/${pkgname}_${pkgver}.orig.tar.gz") +source=("http://launchpad.net/ecryptfs/trunk/${pkgver}/+download/${pkgname}_${pkgver}.orig.tar.gz" + symlinked_mtab.patch) options=(!libtool) -md5sums=('4f92c9f6e8f62ac00ca7e2c4e480f1d7') +md5sums=('4f92c9f6e8f62ac00ca7e2c4e480f1d7' + '7740ed69601cfc75bb96c9ad072dfdb4') build() { cd "$srcdir/${pkgname}-${pkgver}" ./configure --prefix=/usr --with-pamdir=/usr/lib/security PYTHON=python2 + # Apply patch to detect if /etc/mtab is a symlink. + patch src/libecryptfs/main.c < "$srcdir/symlinked_mtab.patch" make } diff --git a/community/ecryptfs-utils/symlinked_mtab.patch b/community/ecryptfs-utils/symlinked_mtab.patch new file mode 100644 index 000000000..2ba0aa8bf --- /dev/null +++ b/community/ecryptfs-utils/symlinked_mtab.patch @@ -0,0 +1,25 @@ +--- ecryptfs-utils/src/ecryptfs-utils-96/src/libecryptfs/main.c.orig ++++ ecryptfs-utils/src/ecryptfs-utils-96/src/libecryptfs/main.c +@@ -387,6 +387,8 @@ + char *fullpath_source = NULL; + char *fullpath_target = NULL; + int rc; ++ char dummy; ++ int useMtab; + + mountent.mnt_opts = NULL; + if (!source) { +@@ -425,6 +427,13 @@ + syslog(LOG_ERR, "Failed to perform eCryptfs mount: [%m]\n"); + goto out; + } ++ /* Check if mtab is a symlink */ ++ useMtab = (readlink("/etc/mtab", &dummy, 1) < 0); ++ if (!useMtab) { ++ /* No need updating mtab */ ++ rc = 0; ++ goto out; ++ } + mtab_fd = setmntent("/etc/mtab", "a"); + if (!mtab_fd) { + rc = -EACCES; diff --git a/community/kpartsplugin/PKGBUILD b/community/kpartsplugin/PKGBUILD index 13f9135c8..3f5ee42c5 100644 --- a/community/kpartsplugin/PKGBUILD +++ b/community/kpartsplugin/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 69899 2012-04-25 21:22:15Z tredaelli $ +# $Id: PKGBUILD 71563 2012-05-29 10:50:53Z tredaelli $ # Maintainer: Timothy Redaelli # Contributor: birdflesh # Contributor: Frikilinux pkgname=kpartsplugin -pkgver=20120422 +pkgver=20120524 pkgrel=1 pkgdesc="This plugin uses KDE's KParts to embed file viewers into non-KDE browsers" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('GPL3' 'BSD') depends=('kdelibs') makedepends=('automoc4' 'cmake') source=("${url}${pkgname}-${pkgver}.tar.bz2" "LICENSE") -md5sums=('6f1126a5f9a84374b14d99086a935026' +md5sums=('14aaeb172e6519c7a06f22ec7ca3e39e' 'c4cc811349e40e9f34e77e27b902ad96') build(){ diff --git a/community/mosh/PKGBUILD b/community/mosh/PKGBUILD index 49a766641..55e108379 100644 --- a/community/mosh/PKGBUILD +++ b/community/mosh/PKGBUILD @@ -4,7 +4,7 @@ # Contributor: Thomas Weißschuh pkgname=mosh -pkgver=1.2 +pkgver=1.2.1 pkgrel=1 pkgdesc='Mobile shell, surviving disconnects with local echo and line editing' arch=('x86_64' 'i686') @@ -12,9 +12,9 @@ url="http://mosh.mit.edu/" license=('GPL3') depends=('protobuf' 'ncurses' 'zlib' 'openssh' 'perl' 'perl-io-tty') #optdepends=('libutempter: record of session in {u,t}wmp (recompile mosh afterwards)') -conflicts=('mosh-git') source=("$pkgname-$pkgver.tgz::https://nodeload.github.com/keithw/mosh/tarball/master") -sha1sums=('690e301560808f13a8a7b19bd7740d81fecac262') +sha1sums=('8fd1697ca1fcfdf546fc40f67bf41fe4f8e6bd74') +options=('!emptydirs') build() { cd "$srcdir/keithw-mosh-"* diff --git a/community/oolite/PKGBUILD b/community/oolite/PKGBUILD index 24784f152..4e50bdb7d 100644 --- a/community/oolite/PKGBUILD +++ b/community/oolite/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 68947 2012-04-06 12:17:32Z svenstaro $ +# $Id: PKGBUILD 71561 2012-05-29 10:35:05Z svenstaro $ # Maintainer: Sven-Hendrik Haase # Contributor: Lone_Wolf pkgname=oolite -pkgver=1.76 -pkgrel=4 +pkgver=1.76.1 +pkgrel=1 pkgdesc="A space-sim based on the classic Elite" arch=('i686' 'x86_64') url="http://oolite-linux.berlios.de" @@ -12,9 +12,9 @@ depends=('gnustep-gui' 'sdl_mixer' 'mesa' 'espeak' 'nspr' 'python2' 'icu') makedepends=('gcc-objc' 'gnustep-make' 'curl' 'zip') options=(!makeflags) source=(oolite - http://downloads.sourceforge.net/oolite-linux.berlios/oolite-source-$pkgver.tar.bz2) + http://download.berlios.de/oolite-linux/oolite-source-${pkgver}.tar.bz2) md5sums=('b182976fade9b64a3b3702e2a8c72bf0' - 'd540486facd8275dc6bceebae8428dce') + 'a9ae79f4006a0993a822ca40740f4e67') build() { cd $srcdir diff --git a/community/opendkim/PKGBUILD b/community/opendkim/PKGBUILD new file mode 100644 index 000000000..bc1001946 --- /dev/null +++ b/community/opendkim/PKGBUILD @@ -0,0 +1,58 @@ +# $Id: PKGBUILD 71559 2012-05-29 09:12:52Z spupykin $ +# Maintainer: Sergej Pupykin +# Maintainer: Thomas Jost + +pkgname=opendkim +pkgver=2.5.2 +pkgrel=1 +pkgdesc="An open source implementation of the DKIM sender authentication system. Based on a fork of dkim-milter." +arch=(i686 x86_64) +url="http://www.opendkim.org/" +license=('BSD' 'custom:Sendmail') +depends=("db" "openssl") +makedepends=("libmilter") +options=(!libtool) +backup=(etc/conf.d/opendkim) +install=opendkim.install +source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver.tar.gz + opendkim.conf + opendkim.rc) +md5sums=('3c2a71372ee279b627e3f39c87a0d457' + '3e2bb1058ac0662f01e675aa6ac7ee8f' + '1176f086d36e79a834dba1bed0ded397') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr --with-db + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + make check +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir/" install + + # Sample configuration + mkdir -p "$pkgdir/etc/opendkim" + mv "$pkgdir/usr/share/doc/opendkim/opendkim.conf.sample" "$pkgdir/etc/opendkim/opendkim.conf.sample" + chmod 0700 "$pkgdir/etc/opendkim" + chmod 0600 "$pkgdir/etc/opendkim/opendkim.conf.sample" + + # Init script + install -Dm644 "$srcdir/opendkim.conf" "$pkgdir/etc/conf.d/opendkim" + install -Dm755 "$srcdir/opendkim.rc" "$pkgdir/etc/rc.d/opendkim" + + # Remove empty dirs + rmdir "$pkgdir/usr/share/man/man1" "$pkgdir/usr/share/man/man3" + + # License + mkdir -p "$pkgdir/usr/share/licenses/opendkim" + for f in LICENSE LICENSE.Sendmail; do + ln -s ../../doc/opendkim/$f "$pkgdir/usr/share/licenses/opendkim/$f" + done +} diff --git a/community/opendkim/opendkim.conf b/community/opendkim/opendkim.conf new file mode 100644 index 000000000..ebe9024e0 --- /dev/null +++ b/community/opendkim/opendkim.conf @@ -0,0 +1 @@ +OPENDKIM_FILTER="-x /etc/opendkim/opendkim.conf" diff --git a/community/opendkim/opendkim.install b/community/opendkim/opendkim.install new file mode 100644 index 000000000..a1f16f6ca --- /dev/null +++ b/community/opendkim/opendkim.install @@ -0,0 +1,11 @@ +post_install() { + useradd -r -g mail -d / opendkim + chown -R opendkim:mail etc/opendkim + cat <>> Check and modify /etc/opendkim/opendkim.conf before starting +EOF +} + +post_remove() { + userdel opendkim +} diff --git a/community/opendkim/opendkim.rc b/community/opendkim/opendkim.rc new file mode 100644 index 000000000..a3e0790a7 --- /dev/null +++ b/community/opendkim/opendkim.rc @@ -0,0 +1,39 @@ +#!/bin/bash + +. /etc/rc.d/functions +. /etc/conf.d/opendkim +. /etc/rc.conf + +PID=`pidof -o %PPID /usr/sbin/opendkim` +case "$1" in + start) + stat_busy "Starting OpenDKIM filter" + if [ -z "$PID" ]; then + /usr/sbin/opendkim $OPENDKIM_FILTER > /dev/null & + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon dkim + stat_done + fi + ;; + stop) + stat_busy "Stopping OpenDKIM filter" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon dkim + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD new file mode 100644 index 000000000..3a0a56d26 --- /dev/null +++ b/extra/cups/PKGBUILD @@ -0,0 +1,165 @@ +# $Id: PKGBUILD 160061 2012-05-29 14:41:20Z andyrtr $ +# Maintainer: Andreas Radke + +pkgbase="cups" +pkgname=('libcups' 'cups') +pkgver=1.5.3 +pkgrel=3 +arch=('i686' 'x86_64') +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' 'cups-filters' 'bc' + '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 + cups-avahi-3-timeouts.patch + cups-avahi-4-poll.patch + 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=('e1ad15257aa6f162414ea3beae0c5df8' + '12c8af5bcd3b8f84240280b3dfaf9e89' + 'cdc1322c8014297ae349e2db78a03c5a' + '1a5112f63958643f2888abc9418dbcac' + 'c37d1bf1bb76acc3fe93362c80d91b7c' + '5d302860559960042f3b47a91b97c5fe' + '9b8467a1e51d360096b70e2c3c081e6c' + '3733c23e77eb503bd94cc368e02830dc' + 'c9159ba1233902ba6ddbbe6885a46b72' + '9657daa21760bb0b5fa3d8b51d5e01a1' + 'f861b18f4446c43918c8643dcbbd7f6d' + '96f82c38f3f540b53f3e5144900acf17') + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + # http://www.cups.org/str.php?L3066 + # Avahi support in the dnssd backend. patches from upstream/FC RawHide + patch -Np1 -i ${srcdir}/cups-avahi-1-config.patch + patch -Np1 -i ${srcdir}/cups-avahi-2-backend.patch + patch -Np1 -i ${srcdir}/cups-avahi-3-timeouts.patch + patch -Np1 -i ${srcdir}/cups-avahi-4-poll.patch + patch -Np1 -i ${srcdir}/cups-avahi-5-services.patch + + # Do not export SSL libs in cups-config + 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 + autoconf -I config-scripts + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libdir=/usr/lib \ + --with-logdir=/var/log/cups \ + --with-docdir=/usr/share/cups/doc \ + --with-cups-user=daemon \ + --with-cups-group=lp \ + --enable-pam=yes \ + --disable-ldap \ + --enable-raw-printing \ + --enable-dbus --with-dbusdir=/etc/dbus-1 \ + --enable-ssl=yes --enable-gnutls \ + --enable-threads \ + --enable-avahi\ + --with-php=/usr/bin/php-cgi \ + --with-pdftops=pdftops \ + --with-optim="$CFLAGS" + make +} + +check() { + cd "$srcdir/$pkgbase-$pkgver" + #httpAddrGetList(workstation64): FAIL + #1 TESTS FAILED! + #make[1]: *** [testhttp] Error 1 + make -k check || /bin/true +} + +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 + 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() { +pkgdesc="The CUPS Printing System - daemon package" +install=cups.install +backup=(etc/cups/cupsd.conf + etc/cups/snmp.conf + etc/cups/printers.conf + etc/cups/classes.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}" 'cups-filters' 'bc' 'libusb' 'dbus-core' 'hicolor-icon-theme') +optdepends=('php: for included phpcups.so module' + 'xdg-utils: xdg .desktop file support') + + cd ${srcdir}/${pkgbase}-${pkgver} + make BUILDROOT=${pkgdir} install-data install-exec + + # this one we ship in the libcups pkg + rm -f ${pkgdir}/usr/bin/cups-config + + # kill the sysv stuff + rm -rf ${pkgdir}/etc/rc*.d + rm -rf ${pkgdir}/etc/init.d + install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd + install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups + install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups + + # fix perms on /var/spool and /etc + chmod 755 ${pkgdir}/var/spool + chmod 755 ${pkgdir}/etc + + # install ssl directory where to store the certs, solves some samba issues + install -dm700 -g lp ${pkgdir}/etc/cups/ssl + # remove directory from package, we create it in cups rc.d file + rm -rf ${pkgdir}/var/run + + # 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/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 + + # remove files now part of cups-filters + rm -v ${pkgdir}/usr/lib/cups/backend/{parallel,serial} + rm -v ${pkgdir}/usr/lib/cups/filter/{commandtoescpx,commandtopclx,imagetops,imagetoraster,pdftops,rastertoescpx,rastertopclx,texttops} + rm -v ${pkgdir}/usr/share/cups/banners/{classified,confidential,secret,standard,topsecret,unclassified} + rm -v ${pkgdir}/usr/share/cups/data/testprint +} diff --git a/extra/cups/PKGBUILD.16 b/extra/cups/PKGBUILD.16 new file mode 100644 index 000000000..57db7916a --- /dev/null +++ b/extra/cups/PKGBUILD.16 @@ -0,0 +1,143 @@ +# $Id: PKGBUILD 159509 2012-05-25 16:34:34Z andyrtr $ +# Maintainer: Andreas Radke + +pkgbase="cups" +pkgname=('libcups' 'cups') +pkgver=1.6b1 +pkgrel=1 +arch=('i686' 'x86_64') +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' 'cups-filters' 'bc' 'colord' + 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme') +source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 + cups-no-export-ssllibs.patch + cups-no-gcrypt.patch + cups-no-gzip-man.patch + cups cups.logrotate cups.pam) +#options=('!emptydirs') +md5sums=('468a40755a872d84be89111ce97a69d1' + '9b8467a1e51d360096b70e2c3c081e6c' + '3733c23e77eb503bd94cc368e02830dc' + '90c30380d4c8cd48a908cfdadae1ea24' + '9657daa21760bb0b5fa3d8b51d5e01a1' + 'f861b18f4446c43918c8643dcbbd7f6d' + '96f82c38f3f540b53f3e5144900acf17') + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + + # Do not export SSL libs in cups-config + 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 not zipping man-pages. + aclocal -I config-scripts + autoconf -I config-scripts + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libdir=/usr/lib \ + --with-logdir=/var/log/cups \ + --with-docdir=/usr/share/cups/doc \ + --with-cups-user=daemon \ + --with-cups-group=lp \ + --enable-pam=yes \ + --enable-raw-printing \ + --enable-dbus --with-dbusdir=/etc/dbus-1 \ + --enable-ssl=yes --enable-gnutls \ + --enable-threads \ + --enable-avahi\ + --with-php=/usr/bin/php-cgi \ + --with-optim="$CFLAGS" + make +} + +check() { + cd "$srcdir/$pkgbase-$pkgver" + #httpAddrGetList(workstation64): FAIL + #1 TESTS FAILED! + #make[1]: *** [testhttp] Error 1 + make -k check || /bin/true +} + +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 + 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() { +pkgdesc="The CUPS Printing System - daemon package" +install=cups.install +backup=(etc/cups/cupsd.conf + etc/cups/snmp.conf + etc/cups/printers.conf + etc/cups/classes.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}" 'cups-filters' 'bc' 'libusb' 'dbus-core' 'hicolor-icon-theme') +optdepends=('xdg-utils: xdg .desktop file support') + + cd ${srcdir}/${pkgbase}-${pkgver} + make BUILDROOT=${pkgdir} install-data install-exec + + # this one we ship in the libcups pkg + rm -f ${pkgdir}/usr/bin/cups-config + + # kill the sysv stuff + rm -rf ${pkgdir}/etc/rc*.d + rm -rf ${pkgdir}/etc/init.d + install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd + install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups + install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups + + # fix perms on /var/spool and /etc + chmod 755 ${pkgdir}/var/spool + chmod 755 ${pkgdir}/etc + + # install ssl directory where to store the certs, solves some samba issues + install -dm700 -g lp ${pkgdir}/etc/cups/ssl + # remove directory from package, we create it in cups rc.d file + rm -rf ${pkgdir}/var/run + + # 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/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 + + # remove files now part of cups-filters + rm -v ${pkgdir}/usr/share/cups/banners/{classified,confidential,secret,standard,topsecret,unclassified} + rm -v ${pkgdir}/usr/share/cups/data/testprint +} diff --git a/extra/cups/cups b/extra/cups/cups new file mode 100755 index 000000000..744c8e663 --- /dev/null +++ b/extra/cups/cups @@ -0,0 +1,68 @@ +#!/bin/bash + +daemon_name=cupsd + +. /etc/rc.conf +. /etc/rc.d/functions +#. /etc/conf.d/$daemon_name.conf + +get_pid() { + pidof -o %PPID $daemon_name +} + +case "$1" in + start) + stat_busy "Starting $daemon_name daemon" + + PID=$(get_pid) + if [ -z "$PID" ]; then + [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid + # RUN + $daemon_name + # + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + echo $(get_pid) > /var/run/$daemon_name.pid + add_daemon $daemon_name + stat_done + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping $daemon_name daemon" + PID=$(get_pid) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + rm -f /var/run/$daemon_name.pid &> /dev/null + rm_daemon $daemon_name + stat_done + fi + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + + status) + stat_busy "Checking $daemon_name status"; + ck_status $daemon_name + ;; + + *) + echo "usage: $0 {start|stop|restart|status}" +esac + +exit 0 diff --git a/extra/cups/cups-avahi-1-config.patch b/extra/cups/cups-avahi-1-config.patch new file mode 100644 index 000000000..304cd2607 --- /dev/null +++ b/extra/cups/cups-avahi-1-config.patch @@ -0,0 +1,42 @@ +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 @@ + + + /* ++ * Do we have Avahi for DNS Service Discovery? ++ */ ++ ++#undef HAVE_AVAHI ++ ++ ++/* + * Do we have ? + */ + +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="" + ++AC_ARG_ENABLE(avahi, [ --enable-avahi turn on DNS Service Discovery support, default=no], ++ [if test x$enable_avahi = xyes; then ++ AC_MSG_CHECKING(for Avahi) ++ if $PKGCONFIG --exists avahi-client; then ++ AC_MSG_RESULT(yes) ++ CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`" ++ DNSSDLIBS="`$PKGCONFIG --libs avahi-client`" ++ DNSSD_BACKEND="dnssd" ++ AC_DEFINE(HAVE_AVAHI) ++ enable_dnssd=no ++ else ++ AC_MSG_RESULT(no) ++ fi ++ fi]) ++ + if test x$enable_dnssd != xno; then + AC_CHECK_HEADER(dns_sd.h, [ + case "$uname" in \ No newline at end of file diff --git a/extra/cups/cups-avahi-2-backend.patch b/extra/cups/cups-avahi-2-backend.patch new file mode 100644 index 000000000..00e12a0a3 --- /dev/null +++ b/extra/cups/cups-avahi-2-backend.patch @@ -0,0 +1,1118 @@ +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: + * ++ * next_txt_record() - Get next TXT record from a cups_txt_records_t. ++ * parse_txt_record_pair() - Read key/value pair in cups_txt_records_t. + * main() - Browse for printers. + * browse_callback() - Browse devices. + * browse_local_callback() - Browse local devices. + * compare_devices() - Compare two devices. + * exec_backend() - Execute the backend that corresponds to the + * resolved service name. ++ * device_type() - Get DNS-SD type enumeration from string. + * get_device() - Create or update a device. + * query_callback() - Process query data. ++ * avahi_client_callback() - Avahi client callback function. ++ * avahi_query_callback() - Avahi query callback function. ++ * avahi_browse_callback() - Avahi browse callback function. ++ * find_device() - Find a device from its name and domain. + * sigterm_handler() - Handle termination signals... + * unquote() - Unquote a name string. + */ +@@ -33,7 +40,18 @@ + + #include "backend-private.h" + #include +-#include ++#ifdef HAVE_DNSSD ++# include ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++# include ++# include ++# include ++# include ++# include ++# include ++#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX ++#endif /* HAVE_AVAHI */ + + + /* +@@ -53,7 +71,12 @@ typedef enum + + typedef struct + { ++#ifdef HAVE_DNSSD + DNSServiceRef ref; /* Service reference for resolve */ ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ int resolved; /* Did we resolve the device? */ ++#endif /* HAVE_AVAHI */ + char *name, /* Service name */ + *domain, /* Domain name */ + *fullName, /* Full name */ +@@ -65,6 +88,20 @@ typedef struct + sent; /* Did we list the device? */ + } cups_device_t; + ++typedef struct ++{ ++ char key[256]; ++ char value[256]; ++ ++#ifdef HAVE_DNSSD ++ const uint8_t *data; ++ const uint8_t *datanext; ++ const uint8_t *dataend; ++#else /* HAVE_AVAHI */ ++ AvahiStringList *txt; ++#endif /* HAVE_DNSSD */ ++} cups_txt_records_t; ++ + + /* + * Local globals... +@@ -78,6 +115,7 @@ static int job_canceled = 0; + * Local functions... + */ + ++#ifdef HAVE_DNSSD + static void browse_callback(DNSServiceRef sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, +@@ -95,13 +133,6 @@ static void browse_local_callback(DNSSe + const char *replyDomain, + 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) +- __attribute__((nonnull(1,2,3,4))); + static void query_callback(DNSServiceRef sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, +@@ -111,10 +142,119 @@ static void query_callback(DNSServiceRe + const void *rdata, uint32_t ttl, + void *context) + __attribute__((nonnull(1,5,9,11))); ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++static void avahi_client_callback (AvahiClient *client, ++ AvahiClientState state, ++ void *context); ++static void avahi_browse_callback (AvahiServiceBrowser *browser, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiBrowserEvent event, ++ const char *serviceName, ++ const char *regtype, ++ const char *replyDomain, ++ 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); ++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) ++ __attribute__((nonnull(1,2,3,4))); + static void sigterm_handler(int sig); + static void unquote(char *dst, const char *src, size_t dstsize) + __attribute__((nonnull(1,2))); + ++#ifdef HAVE_AVAHI ++static AvahiSimplePoll *simple_poll = NULL; ++static int avahi_got_callback; ++#endif /* HAVE_AVAHI */ ++ ++ ++/* ++ * 'next_txt_record()' - Get next TXT record from a cups_txt_records_t. ++ */ ++ ++static cups_txt_records_t * ++next_txt_record (cups_txt_records_t *txt) ++{ ++#ifdef HAVE_DNSSD ++ txt->data = txt->datanext; ++#else /* HAVE_AVAHI */ ++ txt->txt = avahi_string_list_get_next (txt->txt); ++ if (txt->txt == NULL) ++ return NULL; ++#endif /* HAVE_DNSSD */ ++ ++ return txt; ++} ++ ++ ++/* ++ * 'parse_txt_record_pair()' - Read key/value pair in cups_txt_records_t. ++ */ ++ ++static int ++parse_txt_record_pair (cups_txt_records_t *txt) ++{ ++#ifdef HAVE_DNSSD ++ uint8_t datalen; ++ uint8_t *data = txt->data; ++ char *ptr; ++ ++ /* ++ * Read a key/value pair starting with an 8-bit length. Since the ++ * length is 8 bits and the size of the key/value buffers is 256, we ++ * don't need to check for overflow... ++ */ ++ ++ datalen = *data++; ++ if (!datalen || (data + datalen) > txt->dataend) ++ return NULL; ++ txt->datanext = data + datalen; ++ ++ for (ptr = txt->key; data < txt->datanext && *data != '='; data ++) ++ *ptr++ = *data; ++ *ptr = '\0'; ++ ++ if (data < txt->datanext && *data == '=') ++ { ++ data++; ++ ++ if (data < datanext) ++ memcpy (txt->value, data, txt->datanext - data); ++ value[txt->datanext - data] = '\0'; ++ } ++ else ++ return 1; ++#else /* HAVE_AVAHI */ ++ char *key, *value; ++ size_t len; ++ avahi_string_list_get_pair (txt->txt, &key, &value, &len); ++ if (len > sizeof (txt->value) - 1) ++ len = sizeof (txt->value) - 1; ++ ++ memcpy (txt->value, value, len); ++ txt->value[len] = '\0'; ++ len = strlen (key); ++ if (len > sizeof (txt->key) - 1) ++ len = sizeof (txt->key) - 1; ++ ++ memcpy (txt->key, key, len); ++ txt->key[len] = '\0'; ++ avahi_free (key); ++ avahi_free (value); ++#endif /* HAVE_AVAHI */ ++ ++ return 0; ++} ++ + + /* + * 'main()' - Browse for printers. +@@ -125,6 +265,13 @@ main(int argc, /* I - Number of comm + char *argv[]) /* I - Command-line arguments */ + { + const char *name; /* Backend name */ ++ cups_array_t *devices; /* Device array */ ++ cups_device_t *device; /* Current device */ ++ char uriName[1024]; /* Unquoted fullName for URI */ ++#ifdef HAVE_DNSSD ++ int fd; /* Main file descriptor */ ++ fd_set input; /* Input set for select() */ ++ struct timeval timeout; /* Timeout for select() */ + DNSServiceRef main_ref, /* Main service reference */ + fax_ipp_ref, /* IPP fax service reference */ + ipp_ref, /* IPP service reference */ +@@ -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 */ +- int fd; /* Main file descriptor */ +- fd_set input; /* Input set for select() */ +- struct timeval timeout; /* Timeout for select() */ +- cups_array_t *devices; /* Device array */ +- cups_device_t *device; /* Current device */ +- char uriName[1024]; /* Unquoted fullName for URI */ ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ AvahiClient *client; ++ int error; ++#endif /* HAVE_AVAHI */ + #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET) + struct sigaction action; /* Actions for POSIX signals */ + #endif /* HAVE_SIGACTION && !HAVE_SIGSET */ +@@ -203,6 +349,49 @@ main(int argc, /* I - Number of comm + * Browse for different kinds of printers... + */ + ++#ifdef HAVE_AVAHI ++ if ((simple_poll = avahi_simple_poll_new ()) == NULL) ++ { ++ perror ("ERROR: Unable to create avahi simple poll object"); ++ return (1); ++ } ++ ++ client = avahi_client_new (avahi_simple_poll_get (simple_poll), ++ 0, avahi_client_callback, NULL, &error); ++ if (!client) ++ { ++ perror ("DEBUG: Unable to create avahi client"); ++ return (0); ++ } ++ ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_fax-ipp._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_ipp._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_ipp-tls._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_pdl-datastream._tcp", ++ NULL, 0, ++ avahi_browse_callback, ++ devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_printer._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_riousbprint._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++#endif /* HAVE_AVAHI */ ++#ifdef HAVE_DNSSD + if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError) + { + perror("ERROR: Unable to create service connection"); +@@ -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); ++#endif /* HAVE_DNSSD */ + + /* + * Loop until we are killed... +@@ -270,6 +460,9 @@ main(int argc, /* I - Number of comm + + while (!job_canceled) + { ++ int announce = 0; ++ ++#ifdef HAVE_DNSSD + FD_ZERO(&input); + FD_SET(fd, &input); + +@@ -289,11 +482,35 @@ main(int argc, /* I - Number of comm + } + else + { ++ announce = 1; ++ } ++#else /* HAVE_AVAHI */ ++ int r; ++ avahi_got_callback = 0; ++ r = avahi_simple_poll_iterate (simple_poll, 1); ++ if (r != 0 && r != EINTR) ++ { ++ /* ++ * We've been told to exit the loop. Perhaps the connection to ++ * avahi failed. ++ */ ++ ++ break; ++ } ++ ++ if (avahi_got_callback) ++ announce = 1; ++#endif /* HAVE_DNSSD */ ++ ++ if (announce) ++ { + /* + * Announce any devices we've found... + */ + ++#ifdef HAVE_DNSSD + DNSServiceErrorType status; /* DNS query status */ ++#endif /* HAVE_DNSSD */ + cups_device_t *best; /* Best matching device */ + char device_uri[1024]; /* Device URI */ + int count; /* Number of queries */ +@@ -307,6 +524,7 @@ main(int argc, /* I - Number of comm + if (device->sent) + sent ++; + ++#ifdef HAVE_DNSSD + if (device->ref) + count ++; + +@@ -338,14 +556,23 @@ main(int argc, /* I - Number of comm + count ++; + } + } +- else if (!device->sent) ++ else ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ if (!device->resolved) ++ continue; ++ else ++#endif /* HAVE_AVAHI */ ++ if (!device->sent) + { ++#ifdef HAVE_DNSSD + /* + * Got the TXT records, now report the device... + */ + + DNSServiceRefDeallocate(device->ref); + device->ref = 0; ++#endif /* HAVE_DNSSD */ + + if (!best) + best = device; +@@ -406,6 +633,7 @@ main(int argc, /* I - Number of comm + } + + ++#ifdef HAVE_DNSSD + /* + * 'browse_callback()' - Browse devices. + */ +@@ -494,6 +722,7 @@ browse_local_callback( + device->fullName); + device->sent = 1; + } ++#endif /* HAVE_DNSSD */ + + + /* +@@ -574,6 +803,41 @@ exec_backend(char **argv) /* I - Comman + + + /* ++ * 'device_type()' - Get DNS-SD type enumeration from string. ++ */ ++ ++static int ++device_type (const char *regtype) ++{ ++#ifdef HAVE_AVAHI ++ if (!strcmp(regtype, "_ipp._tcp")) ++ return (CUPS_DEVICE_IPP); ++ else if (!strcmp(regtype, "_ipps._tcp") || ++ !strcmp(regtype, "_ipp-tls._tcp")) ++ return (CUPS_DEVICE_IPPS); ++ else if (!strcmp(regtype, "_fax-ipp._tcp")) ++ return (CUPS_DEVICE_FAX_IPP); ++ else if (!strcmp(regtype, "_printer._tcp")) ++ return (CUPS_DEVICE_PDL_DATASTREAM); ++#else ++ if (!strcmp(regtype, "_ipp._tcp.")) ++ return (CUPS_DEVICE_IPP); ++ else if (!strcmp(regtype, "_ipps._tcp.") || ++ !strcmp(regtype, "_ipp-tls._tcp.")) ++ return (CUPS_DEVICE_IPPS); ++ else if (!strcmp(regtype, "_fax-ipp._tcp.")) ++ return (CUPS_DEVICE_FAX_IPP); ++ else if (!strcmp(regtype, "_printer._tcp.")) ++ return (CUPS_DEVICE_PRINTER); ++ else if (!strcmp(regtype, "_pdl-datastream._tcp.")) ++ return (CUPS_DEVICE_PDL_DATASTREAM); ++#endif /* HAVE_AVAHI */ ++ ++ return (CUPS_DEVICE_RIOUSBPRINT); ++} ++ ++ ++/* + * 'get_device()' - Create or update a device. + */ + +@@ -594,20 +858,7 @@ get_device(cups_array_t *devices, /* I - + */ + + key.name = (char *)serviceName; +- +- if (!strcmp(regtype, "_ipp._tcp.")) +- key.type = CUPS_DEVICE_IPP; +- else if (!strcmp(regtype, "_ipps._tcp.") || +- !strcmp(regtype, "_ipp-tls._tcp.")) +- key.type = CUPS_DEVICE_IPPS; +- else if (!strcmp(regtype, "_fax-ipp._tcp.")) +- key.type = CUPS_DEVICE_FAX_IPP; +- else if (!strcmp(regtype, "_printer._tcp.")) +- key.type = CUPS_DEVICE_PRINTER; +- else if (!strcmp(regtype, "_pdl-datastream._tcp.")) +- key.type = CUPS_DEVICE_PDL_DATASTREAM; +- else +- key.type = CUPS_DEVICE_RIOUSBPRINT; ++ key.type = device_type (regtype); + + for (device = cupsArrayFind(devices, &key); + device; +@@ -627,8 +878,14 @@ get_device(cups_array_t *devices, /* I - + free(device->domain); + device->domain = strdup(replyDomain); + ++#ifdef HAVE_DNSSD + DNSServiceConstructFullName(fullName, device->name, regtype, + replyDomain); ++#else /* HAVE_AVAHI */ ++ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, ++ serviceName, regtype, replyDomain); ++#endif /* HAVE_DNSSD */ ++ + free(device->fullName); + device->fullName = strdup(fullName); + } +@@ -648,6 +905,9 @@ get_device(cups_array_t *devices, /* I - + device->domain = strdup(replyDomain); + device->type = key.type; + device->priority = 50; ++#ifdef HAVE_AVAHI ++ device->resolved = 0; ++#endif /* HAVE_AVAHI */ + + cupsArrayAdd(devices, device); + +@@ -655,13 +915,20 @@ get_device(cups_array_t *devices, /* I - + * Set the "full name" of this service, which is used for queries... + */ + ++#ifdef HAVE_DNSSD + DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain); ++#else /* HAVE_AVAHI */ ++ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, ++ serviceName, regtype, replyDomain); ++#endif /* HAVE_DNSSD */ ++ + device->fullName = strdup(fullName); + + return (device); + } + + ++#ifdef HAVE_DNSSD + /* + * 'query_callback()' - Process query data. + */ +@@ -685,7 +952,7 @@ query_callback( + *ptr; /* Pointer into string */ + cups_device_t dkey, /* Search key */ + *device; /* Device */ +- ++ cups_txt_records_t txt; + + fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, " + "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", " +@@ -719,94 +986,233 @@ query_callback( + if ((ptr = strstr(name, "._")) != NULL) + *ptr = '\0'; + +- if (strstr(fullName, "_ipp._tcp.")) +- dkey.type = CUPS_DEVICE_IPP; +- else if (strstr(fullName, "_ipps._tcp.") || +- strstr(fullName, "_ipp-tls._tcp.")) +- dkey.type = CUPS_DEVICE_IPPS; +- else if (strstr(fullName, "_fax-ipp._tcp.")) +- dkey.type = CUPS_DEVICE_FAX_IPP; +- else if (strstr(fullName, "_printer._tcp.")) +- dkey.type = CUPS_DEVICE_PRINTER; +- else if (strstr(fullName, "_pdl-datastream._tcp.")) +- dkey.type = CUPS_DEVICE_PDL_DATASTREAM; ++ dkey.type = device_type (fullName); ++ ++ txt.data = rdata; ++ txt.dataend = rdata + rdlen; ++ device = find_device ((cups_array_t *) context, &txt, &dkey); ++ if (!device) ++ fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); ++} ++#endif /* HAVE_DNSSD */ ++ ++ ++#ifdef HAVE_AVAHI ++/* ++ * 'avahi_client_callback()' - Avahi client callback function. ++ */ ++ ++static void ++avahi_client_callback(AvahiClient *client, ++ AvahiClientState state, ++ void *context) ++{ ++ /* ++ * If the connection drops, quit. ++ */ ++ ++ if (state == AVAHI_CLIENT_FAILURE) ++ { ++ fprintf (stderr, "ERROR: Avahi connection failed\n"); ++ avahi_simple_poll_quit (simple_poll); ++ } ++} ++ ++ ++/* ++ * 'avahi_query_callback()' - Avahi query callback function. ++ */ ++ ++static void ++avahi_query_callback(AvahiServiceResolver *resolver, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiResolverEvent event, ++ const char *name, ++ const char *type, ++ const char *domain, ++ const char *host_name, ++ const AvahiAddress *address, ++ uint16_t port, ++ AvahiStringList *txt, ++ AvahiLookupResultFlags flags, ++ void *context) ++{ ++ AvahiClient *client; ++ cups_device_t key, ++ *device; ++ char uqname[1024], ++ *ptr; ++ cups_txt_records_t txtr; ++ ++ client = avahi_service_resolver_get_client (resolver); ++ if (event != AVAHI_RESOLVER_FOUND) ++ { ++ if (event == AVAHI_RESOLVER_FAILURE) ++ { ++ fprintf (stderr, "ERROR: %s\n", ++ avahi_strerror (avahi_client_errno (client))); ++ } ++ ++ avahi_service_resolver_free (resolver); ++ return; ++ } ++ ++ /* ++ * Set search key for device. ++ */ ++ ++ key.name = uqname; ++ unquote (uqname, name, sizeof (uqname)); ++ if ((ptr = strstr(name, "._")) != NULL) ++ *ptr = '\0'; ++ ++ key.domain = (char *) domain; ++ key.type = device_type (type); ++ ++ /* ++ * Find the device and the the TXT information. ++ */ ++ ++ txtr.txt = txt; ++ device = find_device ((cups_array_t *) context, &txtr, &key); ++ if (device) ++ { ++ /* ++ * Let the main loop know to announce the device. ++ */ ++ ++ device->resolved = 1; ++ avahi_got_callback = 1; ++ } + 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); ++} ++ ++ ++/* ++ * 'avahi_browse_callback()' - Avahi browse callback function. ++ */ ++ ++static void ++avahi_browse_callback(AvahiServiceBrowser *browser, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiBrowserEvent event, ++ const char *name, ++ const char *type, ++ const char *domain, ++ AvahiLookupResultFlags flags, ++ void *context) ++{ ++ AvahiClient *client = avahi_service_browser_get_client (browser); ++ ++ switch (event) ++ { ++ case AVAHI_BROWSER_FAILURE: ++ fprintf (stderr, "ERROR: %s\n", ++ avahi_strerror (avahi_client_errno (client))); ++ avahi_simple_poll_quit (simple_poll); ++ return; ++ ++ case AVAHI_BROWSER_NEW: ++ /* ++ * This object is new on the network. ++ */ ++ ++ if (flags & AVAHI_LOOKUP_RESULT_LOCAL) ++ { ++ /* ++ * This comes from the local machine so ignore it. ++ */ ++ ++ fprintf (stderr, "DEBUG: ignoring local service %s\n", name); ++ } ++ else ++ { ++ /* ++ * Create a device entry for it if it doesn't yet exist. ++ */ ++ ++ get_device ((cups_array_t *)context, name, type, domain); ++ ++ /* ++ * Now look for a TXT entry. ++ */ ++ ++ if (avahi_service_resolver_new (client, interface, protocol, ++ name, type, domain, ++ AVAHI_PROTO_UNSPEC, 0, ++ avahi_query_callback, context) == NULL) ++ { ++ fprintf (stderr, "ERROR: failed to resolve service %s: %s\n", ++ name, avahi_strerror (avahi_client_errno (client))); ++ } ++ } ++ ++ break; ++ ++ case AVAHI_BROWSER_REMOVE: ++ case AVAHI_BROWSER_ALL_FOR_NOW: ++ case AVAHI_BROWSER_CACHE_EXHAUSTED: ++ break; ++ } ++} ++#endif /* HAVE_AVAHI */ ++ ++ ++/* ++ * 'find_device()' - Find a device from its name and domain. ++ */ ++ ++static cups_device_t * ++find_device (cups_array_t *devices, ++ cups_txt_records_t *txt, ++ cups_device_t *dkey) ++{ ++ cups_device_t *device; ++ char *ptr; ++ ++ for (device = cupsArrayFind(devices, dkey); + device; + device = cupsArrayNext(devices)) + { +- if (_cups_strcasecmp(device->name, dkey.name) || +- _cups_strcasecmp(device->domain, dkey.domain)) ++ if (_cups_strcasecmp(device->name, dkey->name) || ++ _cups_strcasecmp(device->domain, dkey->domain)) + { + device = NULL; + break; + } +- else if (device->type == dkey.type) ++ else if (device->type == dkey->type) + { + /* + * Found it, pull out the priority and make and model from the TXT + * record and save it... + */ + +- const uint8_t *data, /* Pointer into data */ +- *datanext, /* Next key/value pair */ +- *dataend; /* End of entire TXT record */ +- uint8_t datalen; /* Length of current key/value pair */ +- char key[256], /* Key string */ +- value[256], /* Value string */ +- make_and_model[512], ++ char make_and_model[512], + /* Manufacturer and model */ + model[256], /* Model */ +- device_id[2048];/* 1284 device ID */ +- ++ device_id[2048]; /* 1284 device ID */ + + device_id[0] = '\0'; + make_and_model[0] = '\0'; + + strcpy(model, "Unknown"); + +- for (data = rdata, dataend = data + rdlen; +- data < dataend; +- data = datanext) ++ for (;;) + { +- /* +- * Read a key/value pair starting with an 8-bit length. Since the +- * length is 8 bits and the size of the key/value buffers is 256, we +- * don't need to check for overflow... +- */ +- +- datalen = *data++; +- +- if (!datalen || (data + datalen) > dataend) +- break; +- +- datanext = data + datalen; +- +- for (ptr = key; data < datanext && *data != '='; data ++) +- *ptr++ = *data; +- *ptr = '\0'; ++ char *key; ++ char *value; + +- if (data < datanext && *data == '=') +- { +- data ++; +- +- if (data < datanext) +- memcpy(value, data, datanext - data); +- value[datanext - data] = '\0'; ++ if (parse_txt_record_pair (txt)) ++ goto next; + +- fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n", +- key, value); +- } +- else +- { +- fprintf(stderr, "DEBUG2: query_callback: \"%s\" with no value.\n", +- key); +- continue; +- } +- +- if (!_cups_strncasecmp(key, "usb_", 4)) ++ key = txt->key; ++ value = txt->value; ++ if (!strncasecmp(key, "usb_", 4)) + { + /* + * Add USB device ID information... +@@ -861,6 +1267,10 @@ query_callback( + if (device->type == CUPS_DEVICE_PRINTER) + device->sent = 1; + } ++ ++ next: ++ if (next_txt_record (txt) == NULL) ++ break; + } + + if (device->device_id) +@@ -917,11 +1327,9 @@ query_callback( + } + } + +- if (!device) +- fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); ++ return device; + } + +- + /* + * 'sigterm_handler()' - Handle termination signals... + */ +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. + * http_resolve_cb() - Build a device URI for the given service name. ++ * avahi_resolve_uri_client_cb() ++ * - Avahi client callback for resolving URI. ++ * avahi_resolve_uri_resolver_cb() ++ * - Avahi resolver callback for resolving URI. + */ + + /* +@@ -60,6 +64,11 @@ + # include + # endif /* WIN32 */ + #endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++# include ++# include ++# include ++#endif /* HAVE_AVAHI */ + + + /* +@@ -127,6 +136,24 @@ static void DNSSD_API http_resolve_cb(DN + void *context); + #endif /* HAVE_DNSSD */ + ++#ifdef HAVE_AVAHI ++static void avahi_resolve_uri_client_cb(AvahiClient *client, ++ AvahiClientState state, ++ void *simple_poll); ++static void avahi_resolve_uri_resolver_cb(AvahiServiceResolver *resolver, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiResolverEvent event, ++ const char *name, ++ const char *type, ++ const char *domain, ++ const char *host_name, ++ const AvahiAddress *address, ++ uint16_t port, ++ AvahiStringList *txt, ++ AvahiLookupResultFlags flags, ++ void *context); ++#endif /* HAVE_AVAHI */ + + /* + * 'httpAssembleURI()' - Assemble a uniform resource identifier from its +@@ -1434,6 +1461,9 @@ _httpResolveURI( + + if (strstr(hostname, "._tcp")) + { ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) ++ char *regtype, /* Pointer to type in hostname */ ++ *domain; /* Pointer to domain in hostname */ + #ifdef HAVE_DNSSD + # ifdef WIN32 + # pragma comment(lib, "dnssd.lib") +@@ -1452,6 +1482,17 @@ _httpResolveURI( + fd_set input_set; /* Input set for select() */ + struct timeval stimeout; /* Timeout value for select() */ + #endif /* HAVE_POLL */ ++#else /* HAVE_AVAHI */ ++ AvahiSimplePoll *simple_poll; ++ AvahiClient *client; ++ int error; ++ struct ++ { ++ AvahiSimplePoll *poll; ++ _http_uribuf_t uribuf; ++ } user_data; ++#endif /* HAVE_DNSSD */ ++ + + if (options & _HTTP_RESOLVE_STDERR) + fprintf(stderr, "DEBUG: Resolving \"%s\"...\n", hostname); +@@ -1488,9 +1529,16 @@ _httpResolveURI( + if (domain) + *domain++ = '\0'; + ++#ifdef HAVE_DNSSD + uribuf.buffer = resolved_uri; + uribuf.bufsize = resolved_size; + uribuf.options = options; ++#else ++ user_data.uribuf.buffer = resolved_uri; ++ user_data.uribuf.bufsize = resolved_size; ++ user_data.uribuf.options = options; ++#endif ++ + resolved_uri[0] = '\0'; + + DEBUG_printf(("6_httpResolveURI: Resolving hostname=\"%s\", regtype=\"%s\", " +@@ -1504,6 +1552,7 @@ _httpResolveURI( + + uri = NULL; + ++#ifdef HAVE_DNSSD + if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError) + { + localref = ref; +@@ -1611,6 +1660,36 @@ _httpResolveURI( + + DNSServiceRefDeallocate(ref); + } ++#else /* HAVE_AVAHI */ ++ if ((simple_poll = avahi_simple_poll_new ()) != NULL) ++ { ++ if ((client = avahi_client_new (avahi_simple_poll_get (simple_poll), ++ 0, avahi_resolve_uri_client_cb, ++ &simple_poll, &error)) != NULL) ++ { ++ user_data.poll = simple_poll; ++ if (avahi_service_resolver_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, hostname, ++ regtype, domain, AVAHI_PROTO_UNSPEC, 0, ++ avahi_resolve_uri_resolver_cb, ++ &user_data) != NULL) ++ { ++ avahi_simple_poll_loop (simple_poll); ++ ++ /* ++ * Collect the result. ++ */ ++ ++ if (resolved_uri[0]) ++ uri = resolved_uri; ++ } ++ ++ avahi_client_free (client); ++ } ++ ++ avahi_simple_poll_free (simple_poll); ++ } ++#endif /* HAVE_DNSSD */ + + if (options & _HTTP_RESOLVE_STDERR) + { +@@ -1622,13 +1701,13 @@ _httpResolveURI( + fputs("STATE: -connecting-to-device,offline-report\n", stderr); + } + +-#else ++#else /* HAVE_DNSSD || HAVE_AVAHI */ + /* + * No DNS-SD support... + */ + + uri = NULL; +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + if ((options & _HTTP_RESOLVE_STDERR) && !uri) + _cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer.")); +@@ -1916,6 +1995,115 @@ http_resolve_cb( + } + #endif /* HAVE_DNSSD */ + ++#ifdef HAVE_AVAHI ++/* ++ * 'avahi_resolve_uri_client_cb()' - Avahi client callback for resolving URI. ++ */ ++ ++static void ++avahi_resolve_uri_client_cb (AvahiClient *client, ++ AvahiClientState state, ++ void *simple_poll) ++{ ++ DEBUG_printf(("avahi_resolve_uri_client_callback(client=%p, state=%d, " ++ "simple_poll=%p)\n", client, state, simple_poll)); ++ ++ /* ++ * If the connection drops, quit. ++ */ ++ ++ if (state == AVAHI_CLIENT_FAILURE) ++ avahi_simple_poll_quit (simple_poll); ++} ++ ++ ++/* ++ * 'avahi_resolve_uri_resolver_cb()' - Avahi resolver callback for resolving ++ * URI. ++ */ ++ ++static void ++avahi_resolve_uri_resolver_cb (AvahiServiceResolver *resolver, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiResolverEvent event, ++ const char *name, ++ const char *type, ++ const char *domain, ++ const char *host_name, ++ const AvahiAddress *address, ++ uint16_t port, ++ AvahiStringList *txt, ++ AvahiLookupResultFlags flags, ++ void *context) ++{ ++ const char *scheme; /* URI scheme */ ++ char rp[256]; /* Remote printer */ ++ AvahiStringList *pair; ++ char *value; ++ size_t valueLen = 0; ++ char addr[AVAHI_ADDRESS_STR_MAX]; ++ struct ++ { ++ AvahiSimplePoll *poll; ++ _http_uribuf_t uribuf; ++ } *poll_uribuf = context; ++ ++ DEBUG_printf(("avahi_resolve_uri_resolver_callback(resolver=%p, " ++ "interface=%d, protocol=%d, event=%d, name=\"%s\", " ++ "type=\"%s\", domain=\"%s\", host_name=\"%s\", address=%p, " ++ "port=%d, txt=%p, flags=%d, context=%p)\n", ++ resolver, interface, protocol, event, name, type, domain, ++ host_name, address, port, txt, flags, context)); ++ ++ if (event != AVAHI_RESOLVER_FOUND) ++ { ++ avahi_service_resolver_free (resolver); ++ avahi_simple_poll_quit (poll_uribuf->poll); ++ return; ++ } ++ ++ /* ++ * Figure out the scheme from the full name... ++ */ ++ ++ if (strstr(type, "_ipp.")) ++ scheme = "ipp"; ++ else if (strstr(type, "_printer.")) ++ scheme = "lpd"; ++ else if (strstr(type, "_pdl-datastream.")) ++ scheme = "socket"; ++ else ++ scheme = "riousbprint"; ++ ++ /* ++ * Extract the "remote printer key from the TXT record... ++ */ ++ ++ if ((pair = avahi_string_list_find (txt, "rp")) != NULL) ++ { ++ avahi_string_list_get_pair (pair, NULL, &value, &valueLen); ++ rp[0] = '/'; ++ memcpy (rp + 1, value, valueLen); ++ rp[valueLen + 1] = '\0'; ++ } ++ else ++ rp[0] = '\0'; ++ ++ /* ++ * Assemble the final device URI... ++ */ ++ ++ avahi_address_snprint (addr, AVAHI_ADDRESS_STR_MAX, address); ++ httpAssembleURI(HTTP_URI_CODING_ALL, poll_uribuf->uribuf.buffer, ++ poll_uribuf->uribuf.bufsize, scheme, NULL, ++ addr, port, rp); ++ DEBUG_printf(("avahi_resolve_uri_resolver_callback: Resolved URI is \"%s\"\n", ++ poll_uribuf->uribuf.buffer)); ++ avahi_simple_poll_quit (poll_uribuf->poll); ++} ++#endif /* HAVE_AVAHI */ ++ + + /* + * End of "$Id: http-support.c 10284 2012-02-15 01:06:12Z mike $". \ No newline at end of file diff --git a/extra/cups/cups-avahi-3-timeouts.patch b/extra/cups/cups-avahi-3-timeouts.patch new file mode 100644 index 000000000..daf852a0f --- /dev/null +++ b/extra/cups/cups-avahi-3-timeouts.patch @@ -0,0 +1,381 @@ +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); + ++#ifdef HAVE_AVAHI ++/* ++ * Timeout callback function type... ++ */ ++ ++typedef struct _cupsd_timeout_s cupsd_timeout_t; ++typedef void (*cupsd_timeoutfunc_t)(cupsd_timeout_t *timeout, void *data); ++#endif /* HAVE_AVAHI */ ++ + + /* + * Globals... +@@ -173,6 +182,11 @@ VAR int Launchd VALUE(0); + /* Running from launchd */ + #endif /* HAVE_LAUNCH_H */ + ++#ifdef HAVE_AVAHI ++VAR cups_array_t *Timeouts; /* Timed callbacks for main loop */ ++#endif /* HAVE_AVAHI */ ++ ++ + + /* + * Prototypes... +@@ -242,6 +256,20 @@ extern void cupsdStopSelect(void); + extern void cupsdStartServer(void); + extern void cupsdStopServer(void); + ++#ifdef HAVE_AVAHI ++extern void cupsdInitTimeouts(void); ++extern cupsd_timeout_t *cupsdAddTimeout (const struct timeval *tv, ++ cupsd_timeoutfunc_t cb, ++ void *data); ++extern cupsd_timeout_t *cupsdNextTimeout (long *delay); ++extern void cupsdRunTimeout (cupsd_timeout_t *timeout); ++extern void cupsdUpdateTimeout (cupsd_timeout_t *timeout, ++ const struct timeval *tv); ++extern void cupsdRemoveTimeout (cupsd_timeout_t *timeout); ++#endif /* HAVE_AVAHI */ ++ ++extern int cupsdRemoveFile(const char *filename); ++ + + /* + * End of "$Id: cupsd.h 9766 2011-05-11 22:17:34Z mike $". +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? */ + #endif /* HAVE_LAUNCHD */ ++#ifdef HAVE_AVAHI ++ cupsd_timeout_t *tmo; /* Next scheduled timed callback */ ++ long tmo_delay; /* Time before it must be called */ ++#endif /* HAVE_AVAHI */ + + + #ifdef HAVE_GETEUID +@@ -535,6 +539,14 @@ main(int argc, /* I - Number of comm + + httpInitialize(); + ++#ifdef HAVE_AVAHI ++ /* ++ * Initialize timed callback structures. ++ */ ++ ++ cupsdInitTimeouts(); ++#endif /* HAVE_AVAHI */ ++ + cupsdStartServer(); + + /* +@@ -874,6 +886,16 @@ main(int argc, /* I - Number of comm + } + #endif /* __APPLE__ */ + ++#ifdef HAVE_AVAHI ++ /* ++ * If a timed callback is due, run it. ++ */ ++ ++ tmo = cupsdNextTimeout (&tmo_delay); ++ if (tmo && tmo_delay == 0) ++ cupsdRunTimeout (tmo); ++#endif /* HAVE_AVAHI */ ++ + #ifndef __APPLE__ + /* + * Update the network interfaces once a minute... +@@ -1787,6 +1809,10 @@ select_timeout(int fds) /* I - Number + cupsd_job_t *job; /* Job information */ + cupsd_subscription_t *sub; /* Subscription information */ + const char *why; /* Debugging aid */ ++#ifdef HAVE_AVAHI ++ cupsd_timeout_t *tmo; /* Timed callback */ ++ long tmo_delay; /* Seconds before calling it */ ++#endif /* HAVE_AVAHI */ + + + /* +@@ -1829,6 +1855,19 @@ select_timeout(int fds) /* I - Number + } + #endif /* __APPLE__ */ + ++#ifdef HAVE_AVAHI ++ /* ++ * See if there are any scheduled timed callbacks to run. ++ */ ++ ++ if ((tmo = cupsdNextTimeout(&tmo_delay)) != NULL && ++ (now + tmo_delay) < timeout) ++ { ++ timeout = tmo_delay; ++ why = "run a timed callback"; ++ } ++#endif /* HAVE_AVAHI */ ++ + /* + * Check whether we are accepting new connections... + */ +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 \ + subscriptions.o \ +- sysman.o ++ sysman.o \ ++ timeout.o + LIBOBJS = \ + filter.o \ + mime.o \ +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$" ++ * ++ * Timeout functions for the Common UNIX Printing System (CUPS). ++ * ++ * Copyright (C) 2010, 2011 Red Hat, Inc. ++ * Authors: ++ * Tim Waugh ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ++ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ++ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED ++ * OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * Contents: ++ * ++ * cupsdInitTimeouts() - Initialise timeout structure. ++ * cupsdAddTimeout() - Add a timed callback. ++ * cupsdNextTimeout() - Find the next enabled timed callback. ++ * cupsdUpdateTimeout() - Adjust the time of a timed callback or disable it. ++ * cupsdRemoveTimeout() - Discard a timed callback. ++ * compare_timeouts() - Compare timed callbacks for array sorting. ++ */ ++ ++#include ++ ++#ifdef HAVE_AVAHI /* Applies to entire file... */ ++ ++/* ++ * Include necessary headers... ++ */ ++ ++#include "cupsd.h" ++ ++#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO) ++# include ++#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */ ++ ++#ifdef HAVE_AVAHI ++# include ++#endif /* HAVE_AVAHI */ ++ ++ ++struct _cupsd_timeout_s ++{ ++ struct timeval when; ++ int enabled; ++ cupsd_timeoutfunc_t callback; ++ void *data; ++}; ++ ++/* ++ * Local functions... ++ */ ++ ++/* ++ * 'compare_timeouts()' - Compare timed callbacks for array sorting. ++ */ ++ ++static int ++compare_addrs (void *p0, void *p1) ++{ ++ if (p0 == p1) ++ return (0); ++ if (p0 < p1) ++ return (-1); ++ return (1); ++} ++ ++static int ++compare_timeouts (cupsd_timeout_t *p0, cupsd_timeout_t *p1) ++{ ++ int addrsdiff = compare_addrs (p0, p1); ++ int tvdiff; ++ ++ if (addrsdiff == 0) ++ return (0); ++ ++ if (!p0->enabled || !p1->enabled) ++ { ++ if (!p0->enabled && !p1->enabled) ++ return (addrsdiff); ++ ++ return (p0->enabled ? -1 : 1); ++ } ++ ++ tvdiff = avahi_timeval_compare (&p0->when, &p1->when); ++ if (tvdiff != 0) ++ return (tvdiff); ++ ++ return (addrsdiff); ++} ++ ++ ++/* ++ * 'cupsdInitTimeouts()' - Initialise timeout structures. ++ */ ++ ++void ++cupsdInitTimeouts(void) ++{ ++ Timeouts = cupsArrayNew ((cups_array_func_t)compare_timeouts, NULL); ++} ++ ++ ++/* ++ * 'cupsdAddTimeout()' - Add a timed callback. ++ */ ++ ++cupsd_timeout_t * /* O - Timeout handle */ ++cupsdAddTimeout(const struct timeval *tv, /* I - Absolute time */ ++ cupsd_timeoutfunc_t cb, /* I - Callback function */ ++ void *data) /* I - User data */ ++{ ++ cupsd_timeout_t *timeout; ++ ++ timeout = malloc (sizeof(cupsd_timeout_t)); ++ if (timeout != NULL) ++ { ++ timeout->enabled = (tv != NULL); ++ if (tv) ++ { ++ timeout->when.tv_sec = tv->tv_sec; ++ timeout->when.tv_usec = tv->tv_usec; ++ } ++ ++ timeout->callback = cb; ++ timeout->data = data; ++ cupsArrayAdd (Timeouts, timeout); ++ } ++ ++ return timeout; ++} ++ ++ ++/* ++ * 'cupsdNextTimeout()' - Find the next enabled timed callback. ++ */ ++ ++cupsd_timeout_t * /* O - Next enabled timeout or NULL */ ++cupsdNextTimeout(long *delay) /* O - Seconds before scheduled */ ++{ ++ cupsd_timeout_t *first = cupsArrayFirst (Timeouts); ++ struct timeval curtime; ++ ++ if (first && !first->enabled) ++ first = NULL; ++ ++ if (first && delay) ++ { ++ gettimeofday (&curtime, NULL); ++ if (avahi_timeval_compare (&curtime, &first->when) > 0) ++ { ++ *delay = 0; ++ } else { ++ *delay = 1 + first->when.tv_sec - curtime.tv_sec; ++ if (first->when.tv_usec < curtime.tv_usec) ++ (*delay)--; ++ } ++ } ++ ++ return (first); ++} ++ ++ ++/* ++ * 'cupsdRunTimeout()' - Run a timed callback. ++ */ ++ ++void ++cupsdRunTimeout(cupsd_timeout_t *timeout) /* I - Timeout */ ++{ ++ if (!timeout) ++ return; ++ timeout->enabled = 0; ++ if (!timeout->callback) ++ return; ++ timeout->callback (timeout, timeout->data); ++} ++ ++/* ++ * 'cupsdUpdateTimeout()' - Adjust the time of a timed callback or disable it. ++ */ ++ ++void ++cupsdUpdateTimeout(cupsd_timeout_t *timeout, /* I - Timeout */ ++ const struct timeval *tv) /* I - Absolute time or NULL */ ++{ ++ cupsArrayRemove (Timeouts, timeout); ++ timeout->enabled = (tv != NULL); ++ if (tv) ++ { ++ timeout->when.tv_sec = tv->tv_sec; ++ timeout->when.tv_usec = tv->tv_usec; ++ } ++ cupsArrayAdd (Timeouts, timeout); ++} ++ ++ ++/* ++ * 'cupsdRemoveTimeout()' - Discard a timed callback. ++ */ ++ ++void ++cupsdRemoveTimeout(cupsd_timeout_t *timeout) /* I - Timeout */ ++{ ++ cupsArrayRemove (Timeouts, timeout); ++ free (timeout); ++} ++ ++ ++#endif /* HAVE_AVAHI ... from top of file */ ++ ++/* ++ * End of "$Id$". ++ */ diff --git a/extra/cups/cups-avahi-4-poll.patch b/extra/cups/cups-avahi-4-poll.patch new file mode 100644 index 000000000..d7fa5fd56 --- /dev/null +++ b/extra/cups/cups-avahi-4-poll.patch @@ -0,0 +1,529 @@ +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$" ++ * ++ * Avahi poll implementation for the CUPS scheduler. ++ * ++ * Copyright (C) 2010, 2011 Red Hat, Inc. ++ * Authors: ++ * Tim Waugh ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ++ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ++ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED ++ * OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * Contents: ++ * ++ * watch_read_cb - Read callback for file descriptor ++ * watch_write_cb - Write callback for file descriptor ++ * watched_fd_add_select() - Call cupsdAddSelect() as needed ++ * watch_new() - Create a new file descriptor watch ++ * watch_free() - Free a file descriptor watch ++ * watch_update() - Update watched events for a file descriptor ++ * watch_get_events() - Get events that happened for a file descriptor ++ * timeout_cb() - Run a timed Avahi callback ++ * timeout_new() - Set a wakeup time ++ * timeout_update() - Update the expiration time for a timeout ++ * timeout_free() - Free a timeout ++ * compare_watched_fds() - Compare watched file descriptors for array sorting ++ * avahi_cups_poll_new() - Create a new Avahi main loop object for CUPS ++ * avahi_cups_poll_free() - Free an Avahi main loop object for CUPS ++ * avahi_cups_poll_get() - Get the abstract poll API structure ++ */ ++ ++#include ++ ++#ifdef HAVE_AVAHI /* Applies to entire file... */ ++ ++/* ++ * Include necessary headers... ++ */ ++ ++#include "cupsd.h" ++ ++#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO) ++# include ++#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */ ++ ++#ifdef HAVE_AVAHI ++# include ++#endif /* HAVE_AVAHI */ ++ ++ ++typedef struct ++{ ++ AvahiCupsPoll *cups_poll; ++ ++ int fd; ++ AvahiWatchEvent occurred; ++ cups_array_t *watches; ++} cupsd_watched_fd_t; ++ ++struct AvahiWatch ++{ ++ cupsd_watched_fd_t *watched_fd; ++ ++ AvahiWatchEvent events; ++ AvahiWatchCallback callback; ++ void *userdata; ++}; ++ ++struct AvahiTimeout ++{ ++ AvahiCupsPoll *cups_poll; ++ AvahiTimeoutCallback callback; ++ void *userdata; ++ cupsd_timeout_t *cupsd_timeout; ++}; ++ ++/* ++ * Local functions... ++ */ ++ ++static AvahiWatch * watch_new(const AvahiPoll *api, ++ int fd, ++ AvahiWatchEvent events, ++ AvahiWatchCallback callback, ++ void *userdata); ++static void watch_free(AvahiWatch *watch); ++static void watch_update(AvahiWatch *watch, ++ AvahiWatchEvent events); ++static AvahiWatchEvent watch_get_events(AvahiWatch *watch); ++ ++ ++/* ++ * 'watch_read_cb' - Read callback for file descriptor ++ */ ++ ++static void ++watch_read_cb (void *userdata) ++{ ++ AvahiWatch *watch; ++ cupsd_watched_fd_t *watched_fd = userdata; ++ watched_fd->occurred |= AVAHI_WATCH_IN; ++ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); ++ watch; ++ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) ++ { ++ if (watch->events & watched_fd->occurred) ++ { ++ (watch->callback) (watch, watched_fd->fd, ++ AVAHI_WATCH_IN, watch->userdata); ++ watched_fd->occurred &= ~AVAHI_WATCH_IN; ++ break; ++ } ++ } ++} ++ ++ ++/* ++ * 'watch_write_cb' - Write callback for file descriptor ++ */ ++ ++static void ++watch_write_cb (void *userdata) ++{ ++ AvahiWatch *watch; ++ cupsd_watched_fd_t *watched_fd = userdata; ++ watched_fd->occurred |= AVAHI_WATCH_OUT; ++ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); ++ watch; ++ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) ++ { ++ if (watch->events & watched_fd->occurred) ++ { ++ (watch->callback) (watch, watched_fd->fd, ++ AVAHI_WATCH_OUT, watch->userdata); ++ watched_fd->occurred &= ~AVAHI_WATCH_OUT; ++ break; ++ } ++ } ++} ++ ++ ++/* ++ * 'watched_fd_add_select' - Call cupsdAddSelect() as needed ++ */ ++ ++static int /* O - Watches? */ ++watched_fd_add_select (cupsd_watched_fd_t *watched_fd) ++{ ++ AvahiWatch *watch; ++ cupsd_selfunc_t read_cb = NULL, write_cb = NULL; ++ int any_watches = 0; ++ ++ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); ++ watch; ++ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) ++ { ++ any_watches = 1; ++ if (watch->events & (AVAHI_WATCH_IN | ++ AVAHI_WATCH_ERR | ++ AVAHI_WATCH_HUP)) ++ { ++ read_cb = (cupsd_selfunc_t)watch_read_cb; ++ if (write_cb != NULL) ++ break; ++ } ++ ++ if (watch->events & AVAHI_WATCH_OUT) ++ { ++ write_cb = (cupsd_selfunc_t)watch_write_cb; ++ if (read_cb != NULL) ++ break; ++ } ++ } ++ ++ if (read_cb || write_cb) ++ cupsdAddSelect (watched_fd->fd, read_cb, write_cb, watched_fd); ++ else ++ cupsdRemoveSelect (watched_fd->fd); ++ ++ return (any_watches); ++} ++ ++/* ++ * 'watch_new' - Create a new file descriptor watch ++ */ ++ ++static AvahiWatch * ++watch_new (const AvahiPoll *api, ++ int fd, ++ AvahiWatchEvent events, ++ AvahiWatchCallback callback, ++ void *userdata) ++{ ++ cupsd_watched_fd_t key, *watched_fd; ++ AvahiCupsPoll *cups_poll = api->userdata; ++ AvahiWatch *watch = malloc(sizeof(AvahiWatch)); ++ if (watch == NULL) ++ return (NULL); ++ ++ watch->events = events; ++ watch->callback = callback; ++ watch->userdata = userdata; ++ ++ key.fd = fd; ++ watched_fd = cupsArrayFind (cups_poll->watched_fds, &key); ++ if (watched_fd == NULL) ++ { ++ watched_fd = malloc(sizeof(cupsd_watched_fd_t)); ++ if (watched_fd == NULL) ++ { ++ free (watch); ++ return (NULL); ++ } ++ ++ watched_fd->fd = fd; ++ watched_fd->occurred = 0; ++ watched_fd->cups_poll = cups_poll; ++ watched_fd->watches = cupsArrayNew (NULL, NULL); ++ cupsArrayAdd (cups_poll->watched_fds, watched_fd); ++ } ++ ++ watch->watched_fd = watched_fd; ++ cupsArrayAdd(watched_fd->watches, watch); ++ watched_fd_add_select (watched_fd); ++ return (watch); ++} ++ ++ ++/* ++ * 'watch_free' - Free a file descriptor watch ++ */ ++ ++static void ++watch_free (AvahiWatch *watch) ++{ ++ cupsd_watched_fd_t *watched_fd = watch->watched_fd; ++ AvahiCupsPoll *cups_poll = watched_fd->cups_poll; ++ ++ cupsArrayRemove (watched_fd->watches, watch); ++ free (watch); ++ ++ if (!watched_fd_add_select (watched_fd)) ++ { ++ /* No more watches */ ++ cupsArrayRemove (cups_poll->watched_fds, watched_fd); ++ free (watched_fd); ++ } ++} ++ ++ ++/* ++ * 'watch_update' - Update watched events for a file descriptor ++ */ ++ ++static void ++watch_update (AvahiWatch *watch, ++ AvahiWatchEvent events) ++{ ++ watch->events = events; ++ watched_fd_add_select (watch->watched_fd); ++} ++ ++ ++/* ++ * 'watch_get_events' - Get events that happened for a file descriptor ++ */ ++ ++static AvahiWatchEvent ++watch_get_events (AvahiWatch *watch) ++{ ++ return (watch->watched_fd->occurred); ++} ++ ++ ++/* ++ * 'timeout_cb()' - Run a timed Avahi callback ++ */ ++ ++static void ++timeout_cb (cupsd_timeout_t *cupsd_timeout, void *userdata) ++{ ++ AvahiTimeout *timeout = userdata; ++ (timeout->callback) (timeout, timeout->userdata); ++} ++ ++ ++/* ++ * 'timeout_new' - Set a wakeup time ++ */ ++ ++static AvahiTimeout * ++timeout_new (const AvahiPoll *api, ++ const struct timeval *tv, ++ AvahiTimeoutCallback callback, ++ void *userdata) ++{ ++ AvahiTimeout *timeout; ++ AvahiCupsPoll *cups_poll = api->userdata; ++ ++ timeout = malloc(sizeof(AvahiTimeout)); ++ if (timeout == NULL) ++ return (NULL); ++ ++ timeout->cups_poll = cups_poll; ++ timeout->callback = callback; ++ timeout->userdata = userdata; ++ timeout->cupsd_timeout = cupsdAddTimeout (tv, ++ (cupsd_timeoutfunc_t)timeout_cb, ++ timeout); ++ cupsArrayAdd (cups_poll->timeouts, timeout); ++ return (timeout); ++} ++ ++ ++/* ++ * 'timeout_update' - Update the expiration time for a timeout ++ */ ++ ++static void ++timeout_update (AvahiTimeout *timeout, ++ const struct timeval *tv) ++{ ++ cupsdUpdateTimeout (timeout->cupsd_timeout, tv); ++} ++ ++ ++/* ++ * ' timeout_free' - Free a timeout ++ */ ++ ++static void ++timeout_free (AvahiTimeout *timeout) ++{ ++ cupsArrayRemove (timeout->cups_poll->timeouts, timeout); ++ cupsdRemoveTimeout (timeout->cupsd_timeout); ++ free (timeout); ++} ++ ++ ++/* ++ * 'compare_watched_fds' - Compare watched file descriptors for array sorting ++ */ ++static int ++compare_watched_fds(cupsd_watched_fd_t *p0, ++ cupsd_watched_fd_t *p1) ++{ ++ /* ++ * Compare by fd (no two elements have the same fd) ++ */ ++ ++ if (p0->fd == p1->fd) ++ return 0; ++ ++ return (p0->fd < p1->fd ? -1 : 1); ++} ++ ++ ++/* ++ * 'avahi_cups_poll_new' - Create a new Avahi main loop object for CUPS ++ */ ++ ++AvahiCupsPoll * ++avahi_cups_poll_new (void) ++{ ++ AvahiCupsPoll *cups_poll = malloc(sizeof(AvahiCupsPoll)); ++ if (cups_poll == NULL) ++ return (NULL); ++ ++ cups_poll->watched_fds = cupsArrayNew ((cups_array_func_t)compare_watched_fds, ++ NULL); ++ cups_poll->timeouts = cupsArrayNew (NULL, NULL); ++ ++ cups_poll->api.userdata = cups_poll; ++ cups_poll->api.watch_new = watch_new; ++ cups_poll->api.watch_free = watch_free; ++ cups_poll->api.watch_update = watch_update; ++ cups_poll->api.watch_get_events = watch_get_events; ++ ++ cups_poll->api.timeout_new = timeout_new; ++ cups_poll->api.timeout_update = timeout_update; ++ cups_poll->api.timeout_free = timeout_free; ++ ++ return (cups_poll); ++} ++ ++ ++/* ++ * 'avahi_cups_poll_free' - Free an Avahi main loop object for CUPS ++ */ ++void ++avahi_cups_poll_free (AvahiCupsPoll *cups_poll) ++{ ++ cupsd_watched_fd_t *watched_fd; ++ ++ for (watched_fd = (cupsd_watched_fd_t*)cupsArrayFirst(cups_poll->watched_fds); ++ watched_fd; ++ watched_fd = (cupsd_watched_fd_t*)cupsArrayNext(cups_poll->watched_fds)) ++ cupsArrayClear (watched_fd->watches); ++ ++ cupsArrayClear (cups_poll->watched_fds); ++ cupsArrayClear (cups_poll->timeouts); ++} ++ ++ ++/* ++ * 'avahi_cups_poll_get' - Get the abstract poll API structure ++ */ ++ ++const AvahiPoll * ++avahi_cups_poll_get (AvahiCupsPoll *cups_poll) ++{ ++ return (&cups_poll->api); ++} ++ ++ ++#endif /* HAVE_AVAHI ... from top of file */ ++ ++/* ++ * End of "$Id$". ++ */ +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$" ++ * ++ * Avahi poll implementation for the CUPS scheduler. ++ * ++ * Copyright (C) 2010, 2011 Red Hat, Inc. ++ * Authors: ++ * Tim Waugh ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ++ * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ++ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ++ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED ++ * OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#include ++ ++#ifdef HAVE_AVAHI ++# include ++# include ++#endif /* HAVE_AVAHI */ ++ ++#ifdef HAVE_AUTHORIZATION_H ++# include ++#endif /* HAVE_AUTHORIZATION_H */ ++ ++ ++#ifdef HAVE_AVAHI ++typedef struct ++{ ++ AvahiPoll api; ++ cups_array_t *watched_fds; ++ cups_array_t *timeouts; ++} AvahiCupsPoll; ++#endif /* HAVE_AVAHI */ ++ ++/* ++ * Prototypes... ++ */ ++ ++#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 */ ++ ++ ++/* ++ * End of "$Id$". ++ */ +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 = \ + auth.o \ ++ avahi.o \ + banners.o \ + cert.o \ + classes.o \ diff --git a/extra/cups/cups-avahi-5-services.patch b/extra/cups/cups-avahi-5-services.patch new file mode 100644 index 000000000..820b3c32b --- /dev/null +++ b/extra/cups/cups-avahi-5-services.patch @@ -0,0 +1,1272 @@ +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'; + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + if (cgiGetVariable("BROWSE_LOCAL_DNSSD")) + { + if (local_protocols[0]) +@@ -1651,7 +1651,7 @@ do_config_server(http_t *http) /* I - H + else + strcat(local_protocols, "dnssd"); + } +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + #ifdef HAVE_LDAP + if (cgiGetVariable("BROWSE_LOCAL_LDAP")) +@@ -2718,9 +2718,9 @@ do_menu(http_t *http) /* I - HTTP conn + #endif /* HAVE_GSSAPI */ + cgiSetVariable("KERBEROS", ""); + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + cgiSetVariable("HAVE_DNSSD", "1"); +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + #ifdef HAVE_LDAP + cgiSetVariable("HAVE_LDAP", "1"); +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 + * +@@ -32,37 +32,40 @@ + * OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#include ++#ifndef _CUPS_AVAHI_H_ ++# define _CUPS_AVAHI_H_ + +-#ifdef HAVE_AVAHI +-# include +-# include +-#endif /* HAVE_AVAHI */ ++/* ++ * Include necessary headers... ++ */ + +-#ifdef HAVE_AUTHORIZATION_H +-# include +-#endif /* HAVE_AUTHORIZATION_H */ ++# include + ++# ifdef HAVE_AVAHI ++# include ++# include ++# 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)); + } + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + /* + * Check if the hostname is something.local (Bonjour); if so, allow it. + */ +@@ -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); +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + /* + * Check if the hostname is an IP address... +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; + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + cupsdSetString(&DNSSDRegType, "_ipp._tcp,_cups"); + #endif /* HAVE_DNSSD */ + +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 + * ldap_disconnect() - Disconnect from LDAP Server ++ * cupsdStartAvahiClient() - Start an Avahi client if needed + * cupsdStartBrowsing() - Start sending and receiving broadcast + * information. + * cupsdStartPolling() - Start polling servers as needed. +@@ -40,11 +41,12 @@ + * dequote() - Remote quotes from a string. + * dnssdAddAlias() - Add a DNS-SD alias name. + * dnssdBuildTxtRecord() - Build a TXT record from printer info. +- * dnssdComparePrinters() - Compare the registered names of two printers. + * dnssdDeregisterPrinter() - Stop sending broadcast information for a + * printer. + * dnssdPackTxtRecord() - Pack an array of key/value pairs into the TXT + * record format. ++ * avahiPackTxtRecord() - Pack an array of key/value pairs into an ++ * AvahiStringList. + * dnssdRegisterCallback() - DNSServiceRegister callback. + * dnssdRegisterPrinter() - Start sending broadcast information for a + * printer or update the broadcast contents. +@@ -83,6 +85,7 @@ + */ + + #include "cupsd.h" ++#include + #include + + #ifdef HAVE_DNSSD +@@ -97,6 +100,17 @@ + # endif /* HAVE_SYSTEMCONFIGURATION */ + # endif /* __APPLE__ */ + #endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++# include ++#endif /* HAVE_AVAHI */ ++ ++ ++#ifdef HAVE_DNSSD ++typedef char *cupsd_txt_record_t; ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++typedef AvahiStringList *cupsd_txt_record_t; ++#endif /* HAVE_AVAHI */ + + + /* +@@ -159,27 +173,38 @@ static void update_polling(void); + static void update_smb(int onoff); + + ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) ++static cupsd_txt_record_t dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p, ++ int for_lpd); ++static void dnssdDeregisterPrinter(cupsd_printer_t *p); ++static void dnssdRegisterPrinter(cupsd_printer_t *p); ++static void dnssdStop(void); ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ ++ + #ifdef HAVE_DNSSD + # ifdef HAVE_COREFOUNDATION + static void dnssdAddAlias(const void *key, const void *value, + void *context); + # endif /* HAVE_COREFOUNDATION */ +-static char *dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p, +- int for_lpd); +-static int dnssdComparePrinters(cupsd_printer_t *a, cupsd_printer_t *b); +-static void dnssdDeregisterPrinter(cupsd_printer_t *p); +-static char *dnssdPackTxtRecord(int *txt_len, char *keyvalue[][2], +- int count); + static void dnssdRegisterCallback(DNSServiceRef sdRef, + DNSServiceFlags flags, + DNSServiceErrorType errorCode, + const char *name, const char *regtype, + const char *domain, void *context); +-static void dnssdRegisterPrinter(cupsd_printer_t *p); +-static void dnssdStop(void); + static void dnssdUpdate(void); + #endif /* HAVE_DNSSD */ + ++#ifdef HAVE_AVAHI ++static AvahiStringList *avahiPackTxtRecord(char *keyvalue[][2], ++ int count); ++static void avahi_entry_group_cb (AvahiEntryGroup *group, ++ AvahiEntryGroupState state, ++ void *userdata); ++static void avahi_client_cb (AvahiClient *client, ++ AvahiClientState state, ++ void *userdata); ++#endif /* HAVE_AVAHI */ ++ + #ifdef HAVE_LDAP + static const char * const ldap_attrs[] =/* CUPS LDAP attributes */ + { +@@ -283,10 +308,10 @@ cupsdDeregisterPrinter( + ldap_dereg_printer(p); + #endif /* HAVE_LDAP */ + +-#ifdef HAVE_DNSSD +- if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) ++ if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD)) + dnssdDeregisterPrinter(p); +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + } + + +@@ -702,10 +727,10 @@ cupsdRegisterPrinter(cupsd_printer_t *p) + slpRegisterPrinter(p); */ + #endif /* HAVE_LIBSLP */ + +-#ifdef HAVE_DNSSD +- if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) ++ if ((BrowseLocalProtocols & BROWSE_DNSSD)) + dnssdRegisterPrinter(p); +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + } + + +@@ -1419,6 +1444,36 @@ ldap_disconnect(LDAP *ld) /* I - LDAP h + #endif /* HAVE_LDAP */ + + ++#ifdef HAVE_AVAHI ++/* ++ * 'cupsdStartAvahiClient()' - Start an Avahi client if needed ++ */ ++ ++void ++cupsdStartAvahiClient(void) ++{ ++ int error = 0; ++ ++ if (!AvahiCupsClient && !AvahiCupsClientConnecting) ++ { ++ if (!AvahiCupsPollHandle) ++ AvahiCupsPollHandle = avahi_cups_poll_new (); ++ ++ if (AvahiCupsPollHandle) ++ { ++ if (avahi_client_new (avahi_cups_poll_get (AvahiCupsPollHandle), ++ AVAHI_CLIENT_NO_FAIL, ++ avahi_client_cb, NULL, ++ &error) != NULL) ++ AvahiCupsClientConnecting = 1; ++ else ++ cupsdLogMessage (CUPSD_LOG_WARN, "Avahi client failed: %d", error); ++ } ++ } ++} ++#endif /* HAVE_AVAHI */ ++ ++ + /* + * 'cupsdStartBrowsing()' - Start sending and receiving broadcast information. + */ +@@ -1542,13 +1597,16 @@ cupsdStartBrowsing(void) + else + BrowseSocket = -1; + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_DNSSD) + { ++#ifdef HAVE_DNSSD + DNSServiceErrorType error; /* Error from service creation */ ++#endif /* HAVE_DNSSD */ + cupsd_listener_t *lis; /* Current listening socket */ + + ++#ifdef HAVE_DNSSD + /* + * First create a "master" connection for all registrations... + */ +@@ -1573,6 +1631,7 @@ cupsdStartBrowsing(void) + fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); + + cupsdAddSelect(fd, (cupsd_selfunc_t)dnssdUpdate, NULL, NULL); ++#endif /* HAVE_DNSSD */ + + /* + * Then get the port we use for registrations. If we are not listening +@@ -1598,17 +1657,23 @@ cupsdStartBrowsing(void) + */ + + if (BrowseRemoteProtocols & BROWSE_DNSSD) +- DNSSDPrinters = cupsArrayNew((cups_array_func_t)dnssdComparePrinters, +- NULL); ++ DNSSDPrinters = cupsArrayNew(NULL, NULL); + + /* + * Set the computer name and register the web interface... + */ + + cupsdUpdateDNSSDName(); ++ ++#ifdef HAVE_AVAHI ++ cupsdStartAvahiClient (); ++#endif /* HAVE_AVAHI */ ++ ++#ifdef HAVE_DNSSD + } +- } + #endif /* HAVE_DNSSD */ ++ } ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + #ifdef HAVE_LIBSLP + if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP) +@@ -1834,10 +1899,10 @@ cupsdStopBrowsing(void) + BrowseSocket = -1; + } + +-#ifdef HAVE_DNSSD +- if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) ++ if ((BrowseLocalProtocols & BROWSE_DNSSD)) + dnssdStop(); +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + #ifdef HAVE_LIBSLP + if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP) && +@@ -1902,7 +1967,7 @@ cupsdStopPolling(void) + } + + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + /* + * 'cupsdUpdateDNSSDName()' - Update the computer name we use for browsing... + */ +@@ -1910,8 +1975,14 @@ cupsdStopPolling(void) + void + cupsdUpdateDNSSDName(void) + { ++#ifdef HAVE_DNSSD + DNSServiceErrorType error; /* Error from service creation */ + char webif[1024]; /* Web interface share name */ ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ int ret; /* Error from service creation */ ++ char webif[AVAHI_LABEL_MAX]; /* Web interface share name */ ++#endif /* HAVE_AVAHI */ + # ifdef HAVE_SYSTEMCONFIGURATION + SCDynamicStoreRef sc; /* Context for dynamic store */ + CFDictionaryRef btmm; /* Back-to-My-Mac domains */ +@@ -2042,6 +2113,7 @@ cupsdUpdateDNSSDName(void) + else + strlcpy(webif, "CUPS Web Interface", sizeof(webif)); + ++#ifdef HAVE_DNSSD + if (WebIFRef) + DNSServiceRefDeallocate(WebIFRef); + +@@ -2054,9 +2126,45 @@ cupsdUpdateDNSSDName(void) + NULL)) != kDNSServiceErr_NoError) + cupsdLogMessage(CUPSD_LOG_ERROR, + "DNS-SD web interface registration failed: %d", error); ++#endif /* HAVE_DNSSD */ ++ ++#ifdef HAVE_AVAHI ++ if (!AvahiCupsClient) ++ /* ++ * Client not yet running. ++ */ ++ return; ++ ++ if (AvahiWebIFGroup) ++ avahi_entry_group_reset (AvahiWebIFGroup); ++ else ++ AvahiWebIFGroup = avahi_entry_group_new (AvahiCupsClient, ++ avahi_entry_group_cb, ++ NULL); ++ ++ if (AvahiWebIFGroup) ++ { ++ ret = avahi_entry_group_add_service (AvahiWebIFGroup, ++ AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ 0, /* flags */ ++ webif, /* name */ ++ "_http._tcp", /* type */ ++ NULL, /* domain */ ++ NULL, /* host */ ++ DNSSDPort, /* port */ ++ "path=/", NULL); ++ if (ret == 0) ++ ret = avahi_entry_group_commit (AvahiWebIFGroup); ++ ++ if (ret != 0) ++ cupsdLogMessage (CUPSD_LOG_ERROR, ++ "Avahi web interface registration failed: %d", ret); ++ } ++#endif /* HAVE_AVAHI */ + } + } +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + + #ifdef HAVE_LDAP +@@ -2334,13 +2442,15 @@ dnssdAddAlias(const void *key, /* I - K + "Bad Back to My Mac domain in dynamic store!"); + } + # endif /* HAVE_COREFOUNDATION */ ++#endif /* HAVE_DNSSD */ + + ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + /* + * 'dnssdBuildTxtRecord()' - Build a TXT record from printer info. + */ + +-static char * /* O - TXT record */ ++static cupsd_txt_record_t /* O - TXT record */ + dnssdBuildTxtRecord( + int *txt_len, /* O - TXT record length */ + cupsd_printer_t *p, /* I - Printer information */ +@@ -2379,7 +2489,12 @@ dnssdBuildTxtRecord( + keyvalue[i ][0] = "ty"; + keyvalue[i++][1] = p->make_model ? p->make_model : "Unknown"; + +- snprintf(admin_hostname, sizeof(admin_hostname), "%s.local.", DNSSDHostName); ++ snprintf(admin_hostname, sizeof(admin_hostname), ++ "%s.local" ++#ifdef HAVE_DNSSD ++ "." /* terminating dot no good for Avahi */ ++#endif /* HAVE_DNSSD */ ++ , DNSSDHostName); + httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str), + "http", NULL, admin_hostname, DNSSDPort, "/%s/%s", + (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers", +@@ -2462,19 +2577,12 @@ dnssdBuildTxtRecord( + * Then pack them into a proper txt record... + */ + ++#ifdef HAVE_DNSSD + return (dnssdPackTxtRecord(txt_len, keyvalue, i)); +-} +- +- +-/* +- * 'dnssdComparePrinters()' - Compare the registered names of two printers. +- */ +- +-static int /* O - Result of comparison */ +-dnssdComparePrinters(cupsd_printer_t *a,/* I - First printer */ +- cupsd_printer_t *b)/* I - Second printer */ +-{ +- return (_cups_strcasecmp(a->reg_name, b->reg_name)); ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ return (avahiPackTxtRecord(keyvalue, i)); ++#endif /* HAVE_AVAHI */ + } + + +@@ -2489,6 +2597,10 @@ dnssdDeregisterPrinter( + { + cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdDeregisterPrinter(%s)", p->name); + ++#ifdef HAVE_DNSSD ++ if (!DNSSDRef) ++ return; ++ + /* + * Closing the socket deregisters the service + */ +@@ -2524,6 +2636,24 @@ dnssdDeregisterPrinter( + free(p->printer_txt); + p->printer_txt = NULL; + } ++#endif /* HAVE_DNSSD */ ++ ++#ifdef HAVE_AVAHI ++ if (p->avahi_group) ++ { ++ avahi_entry_group_reset (p->avahi_group); ++ avahi_entry_group_free (p->avahi_group); ++ p->avahi_group = NULL; ++ ++ if (p->ipp_txt) ++ avahi_string_list_free (p->ipp_txt); ++ ++ if (p->printer_txt) ++ avahi_string_list_free (p->printer_txt); ++ ++ p->ipp_txt = p->printer_txt = NULL; ++ } ++#endif /* HAVE_AVAHI */ + + /* + * Remove the printer from the array of DNS-SD printers, then clear the +@@ -2533,8 +2663,10 @@ dnssdDeregisterPrinter( + cupsArrayRemove(DNSSDPrinters, p); + cupsdClearString(&p->reg_name); + } ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + ++#ifdef HAVE_DNSSD + /* + * 'dnssdPackTxtRecord()' - Pack an array of key/value pairs into the + * TXT record format. +@@ -2644,8 +2776,10 @@ dnssdRegisterCallback( + LastEvent |= CUPSD_EVENT_PRINTER_MODIFIED; + } + } ++#endif /* HAVE_DNSSD */ + + ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + /* + * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer + * or update the broadcast contents. +@@ -2654,20 +2788,40 @@ dnssdRegisterCallback( + static void + dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */ + { ++#ifdef HAVE_DNSSD + DNSServiceErrorType se; /* dnssd errors */ + char *ipp_txt, /* IPP TXT record buffer */ + *printer_txt, /* LPD TXT record buffer */ +- name[1024], /* Service name */ +- *nameptr; /* Pointer into name */ ++ name[1024]; /* Service name */ + int ipp_len, /* IPP TXT record length */ + printer_len, /* LPD TXT record length */ + printer_port; /* LPD port number */ ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ int ret; /* Error code */ ++ AvahiStringList *ipp_txt, /* IPP TXT record */ ++ *printer_txt; /* LPD TXT record */ ++ char name[AVAHI_LABEL_MAX], /* Service name */ ++ fullsubtype[AVAHI_LABEL_MAX]; /* Full subtype */ ++ char *regtype_copy, /* Writeable copy of reg type */ ++ *subtype, /* Current service sub type */ ++ *nextsubtype; /* Next service sub type */ ++#endif /* HAVE_AVAHI */ ++ char *nameptr; /* Pointer into name */ + const char *regtype; /* Registration type */ + + ++#ifdef HAVE_DNSSD ++ if (!DNSSDRef) ++ return; ++ + cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name, + !p->ipp_ref ? "new" : "update"); +- ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name, ++ !p->avahi_group ? "new" : "update"); ++#endif /* HAVE_AVAHI */ + /* + * If per-printer sharing was just disabled make sure we're not + * registered before returning. +@@ -2686,12 +2840,36 @@ dnssdRegisterPrinter(cupsd_printer_t *p) + if (p->info && strlen(p->info) > 0) + { + if (DNSSDComputerName) +- snprintf(name, sizeof(name), "%s @ %s", p->info, DNSSDComputerName); ++ { ++ /* ++ * Make sure there is room for at least 15 characters of ++ * DNSSDComputerName. ++ */ ++ ++ assert(sizeof(name) >= 15 + 4); ++ nameptr = name + strlcpy(name, p->info, ++ sizeof(name) - 4 - ++ strnlen(DNSSDComputerName, 15)); ++ nameptr += strlcpy(nameptr, " @ ", sizeof(name) - (nameptr - name)); ++ strlcpy(nameptr, DNSSDComputerName, sizeof(name) - (nameptr - name)); ++ } + else + strlcpy(name, p->info, sizeof(name)); + } + else if (DNSSDComputerName) +- snprintf(name, sizeof(name), "%s @ %s", p->name, DNSSDComputerName); ++ { ++ /* ++ * Make sure there is room for at least 15 characters of ++ * DNSSDComputerName. ++ */ ++ ++ assert(sizeof(name) >= 15 + 4); ++ nameptr = name + strlcpy(name, p->info, ++ sizeof(name) - 4 - ++ strnlen(DNSSDComputerName, 15)); ++ nameptr += strlcpy(nameptr, " @ ", sizeof(name) - (nameptr - name)); ++ strlcpy(nameptr, DNSSDComputerName, sizeof(name) - (nameptr - name)); ++ } + else + strlcpy(name, p->name, sizeof(name)); + +@@ -2712,6 +2890,7 @@ dnssdRegisterPrinter(cupsd_printer_t *p) + * Register IPP and (optionally) LPD... + */ + ++#ifdef HAVE_DNSSD + ipp_len = 0; /* anti-compiler-warning-code */ + ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0); + +@@ -2884,6 +3063,209 @@ dnssdRegisterPrinter(cupsd_printer_t *p) + + if (printer_txt) + free(printer_txt); ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ if (!AvahiCupsClient) ++ /* ++ * Client not running yet. The client callback will call us again later. ++ */ ++ return; ++ ++ ipp_txt = dnssdBuildTxtRecord(NULL, p, 0); ++ printer_txt = dnssdBuildTxtRecord(NULL, p, 1); ++ regtype = (p->type & CUPS_PRINTER_FAX) ? "_fax-ipp._tcp" : DNSSDRegType; ++ ++ if (p->avahi_group && p->ipp_txt && ipp_txt && ++ !avahi_string_list_equal (p->ipp_txt, ipp_txt)) ++ { ++ /* ++ * Update the existing registration... ++ */ ++ ++ avahi_string_list_free (p->ipp_txt); ++ ++ if (p->printer_txt) ++ avahi_string_list_free (p->printer_txt); ++ ++ /* ++ * Update the service group entry. ++ */ ++ ++ regtype_copy = strdup (regtype); ++ subtype = strchr (regtype_copy, ','); ++ if (subtype) ++ *subtype = '\0'; ++ ++ cupsdLogMessage (CUPSD_LOG_DEBUG, ++ "Updating TXT record for %s (%s)", name, regtype_copy); ++ ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group, ++ AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ 0, name, ++ regtype_copy, ++ NULL, ipp_txt); ++ free (regtype_copy); ++ ++ if (ret < 0) ++ goto update_failed; ++ ++ p->ipp_txt = ipp_txt; ++ ipp_txt = NULL; ++ ++ if (BrowseLocalProtocols & BROWSE_LPD) ++ { ++ ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group, ++ AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ 0, name, ++ "_printer._tcp", NULL, ++ printer_txt); ++ if (ret < 0) ++ goto update_failed; ++ ++ p->printer_txt = printer_txt; ++ printer_txt = NULL; ++ } ++ ++ ret = avahi_entry_group_commit (p->avahi_group); ++ if (ret < 0) ++ { ++ update_failed: ++ cupsdLogMessage (CUPSD_LOG_ERROR, ++ "Failed to update TXT record for %s: %d", ++ name, ret); ++ avahi_entry_group_reset (p->avahi_group); ++ avahi_entry_group_free (p->avahi_group); ++ p->avahi_group = NULL; ++ ipp_txt = p->ipp_txt; ++ p->ipp_txt = NULL; ++ } ++ } ++ ++ if (!p->avahi_group) ++ { ++ /* ++ * Initial registration. Use the _fax subtype for fax queues... ++ */ ++ ++ p->avahi_group = avahi_entry_group_new (AvahiCupsClient, ++ avahi_entry_group_cb, ++ p); ++ ++ cupsdLogMessage(CUPSD_LOG_DEBUG, ++ "Registering Avahi printer %s with name \"%s\" and " ++ "type \"%s\"", p->name, name, regtype); ++ ++ if (!p->avahi_group) ++ { ++ ret = 0; ++ goto add_failed; ++ } ++ ++ /* ++ * Add each service type (DNSSDRegType may contain several, ++ * separated by commas). ++ */ ++ ++ subtype = regtype_copy = strdup (regtype); ++ while (subtype && *subtype) ++ { ++ nextsubtype = strchr (subtype, ','); ++ if (nextsubtype) ++ *nextsubtype++ = '\0'; ++ ++ if (subtype == regtype_copy) ++ { ++ /* ++ * Main type entry. ++ */ ++ ++ cupsdLogMessage (CUPSD_LOG_DEBUG, ++ "Adding TXT record for %s (%s)", name, regtype_copy); ++ ret = avahi_entry_group_add_service_strlst (p->avahi_group, ++ AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ 0, name, regtype_copy, ++ NULL, NULL, ++ DNSSDPort, ++ ipp_txt); ++ } ++ else ++ { ++ /* ++ * Sub-type entry. ++ */ ++ ++ snprintf (fullsubtype, sizeof(fullsubtype), ++ "%s._sub.%s", subtype, regtype_copy); ++ cupsdLogMessage (CUPSD_LOG_DEBUG, ++ "Adding TXT record for %s (%s)", name, fullsubtype); ++ ret = avahi_entry_group_add_service_subtype (p->avahi_group, ++ AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ 0, name, ++ regtype_copy, ++ NULL, fullsubtype); ++ } ++ ++ if (ret < 0) ++ { ++ free (regtype_copy); ++ goto add_failed; ++ } ++ ++ subtype = nextsubtype; ++ } ++ ++ free (regtype_copy); ++ p->ipp_txt = ipp_txt; ++ ipp_txt = NULL; ++ ++ if (BrowseLocalProtocols & BROWSE_LPD) ++ { ++ cupsdLogMessage(CUPSD_LOG_DEBUG, ++ "Registering Avahi printer %s with name \"%s\" and " ++ "type \"_printer._tcp\"", p->name, name); ++ ++ ret = avahi_entry_group_add_service_strlst (p->avahi_group, ++ AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ 0, name, ++ "_printer._tcp", NULL, NULL, ++ 515, ++ printer_txt); ++ if (ret < 0) ++ goto add_failed; ++ ++ p->printer_txt = printer_txt; ++ printer_txt = NULL; ++ } ++ ++ ret = avahi_entry_group_commit (p->avahi_group); ++ ++ if (ret < 0) ++ { ++ add_failed: ++ cupsdLogMessage (CUPSD_LOG_ERROR, ++ "Failed to add Avahi entry for %s: %d", ++ name, ret); ++ if (p->avahi_group) ++ { ++ avahi_entry_group_reset (p->avahi_group); ++ avahi_entry_group_free (p->avahi_group); ++ p->avahi_group = NULL; ++ } ++ ipp_txt = p->ipp_txt; ++ p->ipp_txt = NULL; ++ } ++ } ++ ++ if (ipp_txt) ++ avahi_string_list_free (ipp_txt); ++ ++ if (printer_txt) ++ avahi_string_list_free (printer_txt); ++#endif /* HAVE_AVAHI */ + } + + +@@ -2896,6 +3278,10 @@ dnssdStop(void) + { + cupsd_printer_t *p; /* Current printer */ + ++#ifdef HAVE_DNSSD ++ if (!DNSSDRef) ++ return; ++#endif /* HAVE_DNSSD */ + + /* + * De-register the individual printers +@@ -2910,12 +3296,23 @@ dnssdStop(void) + * Shutdown the rest of the service refs... + */ + ++#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; ++#endif /* HAVE_DNSSD */ + + cupsArrayDelete(DNSSDPrinters); + DNSSDPrinters = NULL; + + DNSSDPort = 0; + } ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + ++#ifdef HAVE_DNSSD + /* + * 'dnssdUpdate()' - Handle DNS-SD queries. + */ +@@ -2955,6 +3355,153 @@ dnssdUpdate(void) + #endif /* HAVE_DNSSD */ + + ++#ifdef HAVE_AVAHI ++/* ++ * 'avahiPackTxtRecord()' - Pack an array of key/value pairs into an ++ * AvahiStringList. ++ */ ++ ++static AvahiStringList * /* O - new string list */ ++avahiPackTxtRecord(char *keyvalue[][2], /* I - Table of key value pairs */ ++ int count) /* I - Number of items in table */ ++{ ++ AvahiStringList *strlst = NULL; ++ char **elements; ++ size_t len; ++ int i = 0; ++ ++ elements = malloc ((1 + count) * sizeof (char *)); ++ if (!elements) ++ goto cleanup; ++ ++ for (i = 0; i < count; i++) ++ { ++ len = (1 + strlen (keyvalue[i][0]) + ++ (keyvalue[i][1] ? 1 + strlen (keyvalue[i][1]) : 1)); ++ elements[i] = malloc (len * sizeof (char)); ++ if (!elements[i]) ++ goto cleanup; ++ ++ snprintf (elements[i], len, "%s=%s", keyvalue[i][0], keyvalue[i][1]); ++ } ++ ++ strlst = avahi_string_list_new_from_array ((const char **) elements, count); ++ ++cleanup: ++ while (--i >= 0) ++ free (elements[i]); ++ ++ free (elements); ++ return (strlst); ++} ++ ++ ++/* ++ * 'avahi_entry_group_cb()' - Avahi entry group callback function. ++ */ ++static void ++avahi_entry_group_cb (AvahiEntryGroup *group, ++ AvahiEntryGroupState state, ++ void *userdata) ++{ ++ char *name; ++ ++ if (userdata) ++ name = ((cupsd_printer_t *) userdata)->reg_name; ++ else ++ name = "CUPS web interface"; ++ ++ switch (state) ++ { ++ case AVAHI_ENTRY_GROUP_UNCOMMITED: ++ case AVAHI_ENTRY_GROUP_REGISTERING: ++ break; ++ ++ case AVAHI_ENTRY_GROUP_ESTABLISHED: ++ cupsdLogMessage (CUPSD_LOG_DEBUG, ++ "Avahi entry group established for %s", name); ++ break; ++ ++ default: ++ cupsdLogMessage (CUPSD_LOG_DEBUG, ++ "Avahi entry group %s has state %d", ++ name, state); ++ break; ++ } ++} ++ ++ ++/* ++ * 'avahi_client_cb()' - Avahi client callback function. ++ */ ++static void ++avahi_client_cb (AvahiClient *client, ++ AvahiClientState state, ++ void *userdata) ++{ ++ cupsd_printer_t *printer; ++ switch (state) ++ { ++ case AVAHI_CLIENT_S_RUNNING: ++ /* ++ * Avahi client started successfully. ++ */ ++ AvahiCupsClient = client; ++ AvahiCupsClientConnecting = 0; ++ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client started"); ++ ++ cupsdUpdateDNSSDName (); ++ ++ for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers); ++ printer; ++ printer = (cupsd_printer_t *)cupsArrayNext(Printers)) ++ if (Browsing && (BrowseLocalProtocols & BROWSE_DNSSD) && ++ (!(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT | ++ CUPS_PRINTER_SCANNER))) && printer->shared) ++ dnssdRegisterPrinter (printer); ++ ++ break; ++ ++ case AVAHI_CLIENT_CONNECTING: ++ /* ++ * No Avahi daemon, client is waiting. ++ */ ++ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client connecting"); ++ break; ++ ++ case AVAHI_CLIENT_S_REGISTERING: ++ /* ++ * Not yet registered. ++ */ ++ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client registering"); ++ break; ++ ++ case AVAHI_CLIENT_FAILURE: ++ /* ++ * Avahi client failed, close it to allow a clean restart. ++ */ ++ cupsdLogMessage (CUPSD_LOG_ERROR, ++ "Avahi client failed, " ++ "closing client to allow a clean restart"); ++ ++ for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers); ++ printer; ++ printer = (cupsd_printer_t *)cupsArrayNext(Printers)) ++ dnssdDeregisterPrinter (printer); ++ ++ avahi_client_free(client); ++ AvahiCupsClientConnecting = 0; ++ AvahiCupsClient = NULL; ++ ++ break; ++ ++ default: ++ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client state: %d", state); ++ } ++} ++#endif /* HAVE_AVAHI */ ++ ++ + /* + * 'get_auth_info_required()' - Get the auth-info-required value to advertise. + */ +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 */ + ++#ifdef HAVE_AVAHI ++# include ++#endif /* HAVE_AVAHI */ ++ + /* + * Browse protocols... + */ +@@ -131,19 +135,22 @@ VAR int PollPipe VALUE(0); + VAR cupsd_statbuf_t *PollStatusBuffer VALUE(NULL); + /* Status buffer for pollers */ + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + VAR char *DNSSDComputerName VALUE(NULL), + /* Computer/server name */ + *DNSSDHostName VALUE(NULL), + /* Hostname */ + *DNSSDRegType VALUE(NULL); + /* Bonjour registration type */ +-VAR cups_array_t *DNSSDAlias VALUE(NULL); +- /* List of dynamic ServerAlias's */ + VAR int DNSSDPort VALUE(0); + /* Port number to register */ + VAR cups_array_t *DNSSDPrinters VALUE(NULL); + /* Printers we have registered */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ ++ ++#ifdef HAVE_DNSSD ++VAR cups_array_t *DNSSDAlias VALUE(NULL); ++ /* List of dynamic ServerAlias's */ + VAR DNSServiceRef DNSSDRef VALUE(NULL), + /* Master DNS-SD service reference */ + WebIFRef VALUE(NULL), +@@ -152,6 +159,17 @@ VAR DNSServiceRef DNSSDRef VALUE(NULL), + /* Remote printer browse reference */ + #endif /* HAVE_DNSSD */ + ++#ifdef HAVE_AVAHI ++VAR AvahiCupsPoll *AvahiCupsPollHandle VALUE(NULL); ++ /* AvahiCupsPoll object */ ++VAR AvahiClient *AvahiCupsClient VALUE(NULL); ++ /* AvahiClient object */ ++VAR int AvahiCupsClientConnecting VALUE(0); ++ /* Is AvahiClient object connecting? */ ++VAR AvahiEntryGroup *AvahiWebIFGroup VALUE(NULL); ++ /* Web interface entry group */ ++#endif /* HAVE_AVAHI */ ++ + #ifdef HAVE_LIBSLP + VAR SLPHandle BrowseSLPHandle VALUE(NULL); + /* SLP API handle */ +@@ -195,13 +213,14 @@ extern void cupsdRegisterPrinter(cupsd_p + extern void cupsdRestartPolling(void); + extern void cupsdSaveRemoteCache(void); + extern void cupsdSendBrowseList(void); ++extern void cupsdStartAvahiClient(void); + extern void cupsdStartBrowsing(void); + extern void cupsdStartPolling(void); + extern void cupsdStopBrowsing(void); + extern void cupsdStopPolling(void); +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + extern void cupsdUpdateDNSSDName(void); +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + #ifdef HAVE_LDAP + extern void cupsdUpdateLDAPBrowse(void); + #endif /* HAVE_LDAP */ +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)); + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + if (!ra || cupsArrayFind(ra, "printer-dns-sd-name")) + { + if (printer->reg_name) +@@ -6109,7 +6109,7 @@ copy_printer_attrs( + ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE, + "printer-dns-sd-name", 0); + } +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + if (!ra || cupsArrayFind(ra, "printer-error-policy")) + ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME, +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 */ + activity, /* Client activity timer */ ++#ifdef HAVE_AVAHI ++ avahi_client_time, /* Time for next Avahi client ++ check */ ++#endif /* HAVE_AVAHI */ + browse_time, /* Next browse send time */ + senddoc_time, /* Send-Document time */ + expire_time, /* Subscription expire time */ +@@ -672,6 +676,9 @@ main(int argc, /* I - Number of comm + */ + + current_time = time(NULL); ++#ifdef HAVE_AVAHI ++ avahi_client_time = current_time; ++#endif /* HAVE_AVAHI */ + browse_time = current_time; + event_time = current_time; + expire_time = current_time; +@@ -894,6 +901,16 @@ main(int argc, /* I - Number of comm + tmo = cupsdNextTimeout (&tmo_delay); + if (tmo && tmo_delay == 0) + cupsdRunTimeout (tmo); ++ ++ /* ++ * Try to restart the Avahi client every 10 seconds if needed... ++ */ ++ ++ if ((current_time - avahi_client_time) >= 10) ++ { ++ avahi_client_time = current_time; ++ cupsdStartAvahiClient(); ++ } + #endif /* HAVE_AVAHI */ + + #ifndef __APPLE__ +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); + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + cupsdClearString(&p->pdl); +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + + cupsArrayDelete(p->filetypes); + +@@ -3787,7 +3787,7 @@ add_printer_formats(cupsd_printer_t *p) + attr->values[i].string.text = _cupsStrAlloc(mimetype); + } + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + { + char pdl[1024]; /* Buffer to build pdl list */ + mime_filter_t *filter; /* MIME filter looping var */ +@@ -3843,7 +3843,7 @@ add_printer_formats(cupsd_printer_t *p) + + cupsdSetString(&p->pdl, pdl); + } +-#endif /* HAVE_DNSSD */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ + } + + +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 + #endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++# include "avahi.h" ++#endif /* HAVE_AVAHI */ + #include + + +@@ -95,16 +98,23 @@ struct cupsd_printer_s + time_t marker_time; /* Last time marker attributes were updated */ + _ppd_cache_t *pc; /* PPD cache and mapping data */ + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + char *reg_name, /* Name used for service registration */ +- *pdl, /* pdl value for TXT record */ +- *ipp_txt, /* IPP TXT record contents */ ++ *pdl; /* pdl value for TXT record */ ++#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ ++#ifdef HAVE_DNSSD ++ char *ipp_txt, /* IPP TXT record contents */ + *printer_txt; /* LPD TXT record contents */ + int ipp_len, /* IPP TXT record length */ + printer_len; /* LPD TXT record length */ + DNSServiceRef ipp_ref, /* Reference for _ipp._tcp,_cups */ + printer_ref; /* Reference for _printer._tcp */ + #endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ AvahiStringList *ipp_txt, /* IPP TXT record */ ++ *printer_txt; /* LPD TXT record */ ++ AvahiEntryGroup *avahi_group; /* Avahi entry group */ ++#endif /* HAVE_AVAHI */ + }; + + diff --git a/extra/cups/cups-no-export-ssllibs.patch b/extra/cups/cups-no-export-ssllibs.patch new file mode 100644 index 000000000..9be3c819b --- /dev/null +++ b/extra/cups/cups-no-export-ssllibs.patch @@ -0,0 +1,12 @@ +diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/config-scripts/cups-ssl.m4 +--- cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200 ++++ cups-1.5b1/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200 +@@ -164,7 +164,7 @@ AC_SUBST(IPPALIASES) + AC_SUBST(SSLFLAGS) + AC_SUBST(SSLLIBS) + +-EXPORT_SSLLIBS="$SSLLIBS" ++EXPORT_SSLLIBS="" + AC_SUBST(EXPORT_SSLLIBS) + + diff --git a/extra/cups/cups-no-gcrypt.patch b/extra/cups/cups-no-gcrypt.patch new file mode 100644 index 000000000..42f71d0d4 --- /dev/null +++ b/extra/cups/cups-no-gcrypt.patch @@ -0,0 +1,38 @@ +diff -ruN cups-1.4.7.orig//config-scripts/cups-ssl.m4 cups-1.4.7/config-scripts/cups-ssl.m4 +--- cups-1.5.0.orig//config-scripts/cups-ssl.m4 2011-01-11 08:05:58.000000000 +0100 ++++ cups-1.5.0/config-scripts/cups-ssl.m4 2011-08-02 10:44:26.011047900 +0200 +@@ -96,7 +96,6 @@ + dnl Then look for GNU TLS... + if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then + AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config) +- AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config) + if $PKGCONFIG --exists gnutls; then + have_ssl=1 + SSLLIBS=`$PKGCONFIG --libs gnutls` +@@ -110,16 +109,6 @@ + AC_DEFINE(HAVE_SSL) + AC_DEFINE(HAVE_GNUTLS) + fi +- +- if test $have_ssl = 1; then +- if $PKGCONFIG --exists gcrypt; then +- SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`" +- SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`" +- elif test "x$LIBGCRYPTCONFIG" != x; then +- SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`" +- SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`" +- fi +- fi + fi + + dnl Check for the OpenSSL library last... +--- cups-1.5.0.orig//cups/http-private.h 2011-01-22 01:07:22.000000000 +0100 ++++ cups-1.5.0/cups/http-private.h 2011-08-02 10:42:43.341604107 +0200 +@@ -93,7 +93,6 @@ + # elif defined HAVE_GNUTLS + # include + # include +-# include + # elif defined(HAVE_CDSASSL) + # include + # include diff --git a/extra/cups/cups-no-gzip-man.patch b/extra/cups/cups-no-gzip-man.patch new file mode 100644 index 000000000..6786c4430 --- /dev/null +++ b/extra/cups/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/extra/cups/cups-no-gzip-man.patch.16 b/extra/cups/cups-no-gzip-man.patch.16 new file mode 100644 index 000000000..69899b9cb --- /dev/null +++ b/extra/cups/cups-no-gzip-man.patch.16 @@ -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 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/extra/cups/cups.install b/extra/cups/cups.install new file mode 100644 index 000000000..47c3d9b82 --- /dev/null +++ b/extra/cups/cups.install @@ -0,0 +1,26 @@ +post_install() { + if [ -x usr/bin/xdg-icon-resource ]; then + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + fi + echo ">> If you use an HTTPS connection to CUPS, the first time you access" + echo ">> the interface it may take a very long time before the site comes up." + echo ">> This is because the first request triggers the generation of the CUPS" + echo ">> SSL certificates which can be a very time-consuming job." +} + +post_upgrade() { + if [ -x usr/bin/xdg-icon-resource ]; then + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + fi + if [ "`vercmp $2 1.4.7-2`" -lt 0 ]; then + # important upgrade notice + echo "daemon script has been renamed to /etc/rc.d/cupsd" + echo "change your entry in /etc/rc.conf" + fi +} + +post_remove() { + if [ -x usr/bin/xdg-icon-resource ]; then + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + fi +} diff --git a/extra/cups/cups.logrotate b/extra/cups/cups.logrotate new file mode 100644 index 000000000..9c49bbdaf --- /dev/null +++ b/extra/cups/cups.logrotate @@ -0,0 +1,8 @@ +/var/log/cups/*log { + missingok + notifempty + delaycompress + postrotate + /bin/kill -HUP `cat /var/run/cups.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/extra/cups/cups.pam b/extra/cups/cups.pam new file mode 100644 index 000000000..53724d1f8 --- /dev/null +++ b/extra/cups/cups.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/extra/fping/PKGBUILD b/extra/fping/PKGBUILD index 7422baf3b..d451776c2 100644 --- a/extra/fping/PKGBUILD +++ b/extra/fping/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 157363 2012-04-28 03:29:31Z giovanni $ +# $Id: PKGBUILD 160147 2012-05-29 23:00:04Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: Tom Newsom pkgname=fping -pkgver=3.1 +pkgver=3.2 pkgrel=1 pkgdesc="A utility to ping multiple hosts at once" arch=('i686' 'x86_64') @@ -11,7 +11,7 @@ url="http://www.fping.org/" license=('custom') depends=('glibc') source=("http://www.fping.org/dist/${pkgname}-${pkgver}.tar.gz") -md5sums=('a2bbf3316da8c7b47a1a0ffe959d5d9e') +md5sums=('efc86557e9b54e5c3becb598a50684a0') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/icewm/PKGBUILD b/extra/icewm/PKGBUILD index 1a0b1fc72..4bd344e42 100644 --- a/extra/icewm/PKGBUILD +++ b/extra/icewm/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 160012 2012-05-28 00:49:21Z eric $ +# $Id: PKGBUILD 160075 2012-05-29 22:01:31Z eric $ # Maintainer: Eric Bélanger pkgname=icewm pkgver=1.3.7 -pkgrel=2 +pkgrel=3 pkgdesc="A Window Manager designed for speed, usability, and consistency" arch=('i686' 'x86_64') url="http://www.icewm.org/" @@ -11,12 +11,14 @@ license=('LGPL') depends=('libxrandr' 'libxft' 'libsm' 'libxinerama' 'gdk-pixbuf2') makedepends=('xorg-mkfontdir') source=(http://downloads.sourceforge.net/sourceforge/icewm/${pkgname}-${pkgver}.tar.gz - use_ICEWM_deprecated.patch ignore_workarea_hints.patch no_proc_acpi.patch wmclient.patch) + use_ICEWM_deprecated.patch ignore_workarea_hints.patch no_proc_acpi.patch + wmclient.patch icewm-cpustatus.patch) sha1sums=('ce8d86190e275dc7db2d8c28472a579264120803' 'ac8f352ba5ee33e19ce75fdeed890361550e125a' '49ca37ae41290f17a71a177b1f774235f91d79f1' 'a47fb4191f30b8f42a6bd90ca5d7941bb3d65338' - 'd16b4b3ab269a657e735e343833973d000c0b35b') + 'd16b4b3ab269a657e735e343833973d000c0b35b' + '0f4a02153496dadd26742f6bd3bdc166d7eafaed') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -24,6 +26,7 @@ build() { patch -p1 -i "${srcdir}/ignore_workarea_hints.patch" patch -p1 -i "${srcdir}/no_proc_acpi.patch" patch -p1 -i "${srcdir}/wmclient.patch" + patch -p2 -i "${srcdir}/icewm-cpustatus.patch" LIBS+="-lfontconfig" ./configure --prefix=/usr --sysconfdir=/etc \ --enable-shaped-decorations --enable-gradients make diff --git a/extra/icewm/icewm-cpustatus.patch b/extra/icewm/icewm-cpustatus.patch new file mode 100644 index 000000000..9bb9241f0 --- /dev/null +++ b/extra/icewm/icewm-cpustatus.patch @@ -0,0 +1,45 @@ + icewm/src/acpustatus.cc | 31 +++++++++++++++++++++++++++++++ + 1 files changed, 31 insertions(+), 0 deletions(-) + +diff --git a/icewm/src/acpustatus.cc b/icewm/src/acpustatus.cc +index 5e959d6..b9e5450 100644 +--- a/icewm/src/acpustatus.cc ++++ b/icewm/src/acpustatus.cc +@@ -315,6 +315,37 @@ int CPUStatus::getAcpiTemp(char *tempbuf, int buflen) { + } + closedir(dir); + } ++ else if ((dir = opendir("/sys/class/thermal")) != NULL) { ++ struct dirent *de; ++ ++ while ((de = readdir(dir)) != NULL) { ++ ++ int fd, seglen; ++ ++ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) ++ continue; ++ ++ sprintf(namebuf, "/sys/class/thermal/%s/temp", de->d_name); ++ fd = open(namebuf, O_RDONLY); ++ if (fd != -1) { ++ int len = read(fd, buf, sizeof(buf) - 1); ++ buf[len - 4] = '\0'; ++ seglen = strlen(buf) + 4; ++ if (retbuflen + seglen >= buflen) { ++ retbuflen = -retbuflen; ++ close(fd); ++ closedir(dir); ++ break; ++ } ++ retbuflen += seglen; ++ strcat(tempbuf, " "); ++ strncat(tempbuf, buf, seglen); ++ strcat(tempbuf, " C"); ++ close(fd); ++ } ++ } ++ closedir(dir); ++ } + return retbuflen; + } + diff --git a/extra/lame/PKGBUILD b/extra/lame/PKGBUILD new file mode 100644 index 000000000..7a090e7b4 --- /dev/null +++ b/extra/lame/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 151868 2012-03-03 15:54:16Z schiv $ +# Maintainer: Ray Rashif +# Contributor: Ionut Biru +# Contributor: Hugo Doria + +pkgname=lame +pkgver=3.99.5 +pkgrel=1 +pkgdesc="A high quality MPEG Audio Layer III (MP3) encoder" +arch=('i686' 'x86_64') +url="http://lame.sourceforge.net/" +depends=('ncurses') +makedepends=('nasm') +license=('LGPL') +options=('!libtool') +source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz") +md5sums=('84835b313d4a8b68f5349816d33e07ce') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --enable-nasm \ + --enable-shared + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD index 66f6216c4..4dc5d797b 100644 --- a/extra/libreoffice/PKGBUILD +++ b/extra/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 159710 2012-05-26 07:54:26Z andyrtr $ +# $Id: PKGBUILD 160068 2012-05-29 19:23:15Z andyrtr $ # Maintainer: AndyRTR pkgbase="libreoffice" @@ -22,9 +22,9 @@ pkgname=('libreoffice-common' 'libreoffice-scripting-beanshell' 'libreoffice-scripting-javascript' 'libreoffice-extension-scripting-python') # svn up -r 142692 (last one with all extensions built -_LOver=3.5.3.2 -pkgver=3.5.3 -pkgrel=3 +_LOver=3.5.4.2 +pkgver=3.5.4 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -78,9 +78,7 @@ source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll gmake_install.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=1048d8fa4abd3e55a45dfb6884db808da1d72c9e smp_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=cf23f57ae6bb7af689a45e0a850c3c2f67a8f810 - poppler_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=ac68934592ec7d838cf5c22744be8d97aa4a1a47 fix_broken_hebrew_wordwrapping.diff - buildfix_icu49.diff libreoffice-common.sh libreoffice-common.csh) noextract=(2fa6028324347860e684e75310818d43-libvisio-0.0.16.tar.bz2 18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz @@ -110,9 +108,9 @@ noextract=(2fa6028324347860e684e75310818d43-libvisio-0.0.16.tar.bz2 ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip) -md5sums=('d22cd79e7463ac4caf0a4b47d78a82ac' - '3455f3f523d739aa391b5a5bf04ff958' - '945fbf7888c464f4e1cf7282d370b257' +md5sums=('61afc900785dd7d071b96d9ab0af46f3' + 'd2e7414a60eacafef45fbc4bc1a8ccb3' + '545d1608da2cc736be5c8bf941adbbfb' '18f577b374d60b3c760a3a3350407632' '2fa6028324347860e684e75310818d43' '1f24ab1d39f4a51faf22244c94a6203f' @@ -143,9 +141,7 @@ md5sums=('d22cd79e7463ac4caf0a4b47d78a82ac' '185d60944ea767075d27247c3162b3bc' '60ce5dc9bd098f95c2e621a930c98dd9' '661a52a02a31b3afbe4b3b3146061afd' - '72ba8d57cefdc25a6f1bc845edfd4d78' '025d9b17d9eb90dc282c5c1289a666aa' - '9734ea20c9f67e1b6e1c5a1247fbd3ff' 'f0e72d0e1bc93a50a3aa9d31350b156c' '867c682b45f477f916786e00c45d7ab7') @@ -171,8 +167,6 @@ build() { # one late fix to solve make distro-pack-install issue patch -Np1 -i ${srcdir}/gmake_install.diff patch -Np1 -i ${srcdir}/smp_buildfix.diff - #patch -Np0 -i ${srcdir}/buildfix_icu49.diff - patch -Np1 -i ${srcdir}/poppler_buildfix.diff # https://bugs.archlinux.org/task/29854 based on 3.6/master patch http://cgit.freedesktop.org/libreoffice/core/patch/?id=20c24114143d6d38774b56a142fd4ae05094308e patch -Np1 -i ${srcdir}/fix_broken_hebrew_wordwrapping.diff @@ -347,7 +341,7 @@ package_libreoffice-common() { # set python-uno PYTHON path install -dm755 ${pkgdir}/etc/profile.d - install -m644 ${srcdir}/libreoffice-common.{sh,csh} ${pkgdir}/etc/profile.d/ + install -m755 ${srcdir}/libreoffice-common.{sh,csh} ${pkgdir}/etc/profile.d/ # move bash-completion files to its new place install -dm755 ${pkgdir}/usr/share/bash-completion/completions diff --git a/extra/trayer/PKGBUILD b/extra/trayer/PKGBUILD index b125c6445..3e3a6aaf4 100644 --- a/extra/trayer/PKGBUILD +++ b/extra/trayer/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 138436 2011-09-23 04:20:09Z eric $ +# $Id: PKGBUILD 160179 2012-05-30 03:39:36Z eric $ # Maintainer: Eric Bélanger pkgname=trayer pkgver=1.0 -pkgrel=6 +pkgrel=7 pkgdesc="A lightweight GTK2-based systray" arch=('i686' 'x86_64') url="https://gna.org/projects/fvwm-crystal/" @@ -13,15 +13,15 @@ makedepends=('libxmu') options=('!makeflags') source=(http://download.gna.org/fvwm-crystal/trayer/${pkgver}/${pkgname}-${pkgver}.tar.gz trayer.diff manpage.diff) -md5sums=('e1b0b6464f991f2c296561e377585867' - '7f66eee885563871f9f76646bca6b14d' - '3f1c92bbe275f186b613c04a47e8e977') +sha1sums=('f2657693d196578e3776b0812952dfa1c25878cc' + '63459c5f74b8cc137d8a16ab997200025225215c' + 'eb919fd4a6223034e59e7c9fd0de298d40c91242') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -p0 -i ../trayer.diff patch -p1 -i ../manpage.diff - sed -i 's/$(LIBS) $(OBJ) $(SYSTRAYOBJ)/$(OBJ) $(SYSTRAYOBJ) $(LIBS)/' Makefile + sed -i 's/$(LIBS) $(OBJ) $(SYSTRAYOBJ)/$(OBJ) $(SYSTRAYOBJ) $(LIBS) -lX11/' Makefile make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" } diff --git a/extra/trayer/manpage.diff b/extra/trayer/manpage.diff index c99fc71af..f4ea9394e 100644 --- a/extra/trayer/manpage.diff +++ b/extra/trayer/manpage.diff @@ -4,7 +4,7 @@ Index: trayer/trayer.1 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ trayer/trayer.1 2011-05-08 21:38:37.000000000 +0200 -@@ -0,0 +1,197 @@ +@@ -0,0 +1,190 @@ +.TH TRAYER 1 "Feb 14, 2005" "FVWM\-Crystal" +.SH NAME +trayer \- a lightweight GTK2\-based systray for UNIX desktop @@ -55,9 +55,6 @@ Index: trayer/trayer.1 +.RB [\| \-\-distance +.RI \| \|] +.\" -+.RB [\| \-\-distancefrom -+.RI \| left \||\| right \||\| top \||\| bottom \||\| none \|] -+.\" +.RB [\| \-\-expand +.RI \| true \||\| false \|] +.\" @@ -176,10 +173,6 @@ Index: trayer/trayer.1 +Specifies distance between trayer's window and screen edge (in pixels) + +.TP -+\fB\-\-distancefrom\fP \fI\fP -+Specifies which edge to calculate distance from, see above. -+ -+.TP +\fB\-\-expand\fP \fItrue\fP\||\|\fIfalse\fP +Specifies whether trayer may accommodate extra space when there is too much +icons. diff --git a/kde-unstable/kactivities/PKGBUILD b/kde-unstable/kactivities/PKGBUILD new file mode 100644 index 000000000..576f83981 --- /dev/null +++ b/kde-unstable/kactivities/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 160080 2012-05-29 22:12:47Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kactivities +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='API for using and interacting with the Activity Manager' +url='https://projects.kde.org/projects/kde/kdelibs/kactivities' +license=('GPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") +sha1sums=('e98929eff9d8c4102bc643cf44a06d28646ff8ce') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-jovie/PKGBUILD b/kde-unstable/kdeaccessibility-jovie/PKGBUILD new file mode 100644 index 000000000..b736ffae5 --- /dev/null +++ b/kde-unstable/kdeaccessibility-jovie/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 160105 2012-05-29 22:33:36Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeaccessibility-jovie +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='A text to speech application' +url='http://kde.org/applications/utilities/jovie/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdebase-runtime' 'speech-dispatcher') +makedepends=('cmake' 'automoc4') +replaces=('kdeaccessibility-kttsd') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/jovie-${pkgver}.tar.xz") +sha1sums=('5b1f25ece3e8b0bcb40b72be493c9b7524880b26') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../jovie-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-jovie/kdeaccessibility-jovie.install b/kde-unstable/kdeaccessibility-jovie/kdeaccessibility-jovie.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeaccessibility-jovie/kdeaccessibility-jovie.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD b/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD new file mode 100644 index 000000000..eb829ddfb --- /dev/null +++ b/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 160106 2012-05-29 22:34:02Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeaccessibility-kaccessible +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Provides accessibility services like focus tracking and a screenreader' +url='http://accessibility.kde.org/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdelibs' 'speech-dispatcher') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/kaccessible-${pkgver}.tar.xz") +sha1sums=('b38912943052b797b5568bae7bb2a2ff31839d84') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kaccessible-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-kmag/PKGBUILD b/kde-unstable/kdeaccessibility-kmag/PKGBUILD new file mode 100644 index 000000000..a3118d209 --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmag/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 160107 2012-05-29 22:34:25Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeaccessibility-kmag +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Screen Magnifier' +url='http://kde.org/applications/utilities/kmag/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kmag-${pkgver}.tar.xz") +sha1sums=('8e4251fc8cf61a18816d5674ce4e353f5ab70560') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmag-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-kmag/kdeaccessibility-kmag.install b/kde-unstable/kdeaccessibility-kmag/kdeaccessibility-kmag.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmag/kdeaccessibility-kmag.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD b/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD new file mode 100644 index 000000000..dfe9ffefb --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 160108 2012-05-29 22:34:48Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeaccessibility-kmousetool +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Clicks the mouse for you, reducing the effects of RSI' +url='http://kde.org/applications/utilities/kmousetool/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kmousetool-${pkgver}.tar.xz") +sha1sums=('8f7a55b3cb32ffe4cd098f5c66c8d6327d97e027') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmousetool-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-kmousetool/kdeaccessibility-kmousetool.install b/kde-unstable/kdeaccessibility-kmousetool/kdeaccessibility-kmousetool.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmousetool/kdeaccessibility-kmousetool.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeaccessibility-kmouth/PKGBUILD b/kde-unstable/kdeaccessibility-kmouth/PKGBUILD new file mode 100644 index 000000000..a261d76ce --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmouth/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 160109 2012-05-29 22:35:14Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeaccessibility-kmouth +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Speech Synthesizer Frontend' +url='http://kde.org/applications/utilities/kmouth/' +license=('GPL' 'FDL') +groups=('kde' 'kdeaccessibility') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kmouth-${pkgver}.tar.xz") +sha1sums=('6f11f249f3b2fb314a2536c23da2ccea9f491762') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmouth-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeaccessibility-kmouth/kdeaccessibility-kmouth.install b/kde-unstable/kdeaccessibility-kmouth/kdeaccessibility-kmouth.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeaccessibility-kmouth/kdeaccessibility-kmouth.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeadmin/PKGBUILD b/kde-unstable/kdeadmin/PKGBUILD new file mode 100644 index 000000000..a9813985e --- /dev/null +++ b/kde-unstable/kdeadmin/PKGBUILD @@ -0,0 +1,80 @@ +# $Id: PKGBUILD 160110 2012-05-29 22:35:44Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgbase=kdeadmin +pkgname=('kdeadmin-kcron' + 'kdeadmin-ksystemlog' + 'kdeadmin-kuser' + 'kdeadmin-system-config-printer-kde') +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeadmin') +makedepends=('cmake' 'automoc4' 'kdebindings-python2' 'system-config-printer-common') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz" + 'syslog-path.patch') +sha1sums=('3c9016b7ec0e174c9744dd340d237086d90aa345' + '20095ce6e0f3e5b6800a7c6e52de6fddba62c031') + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + patch -p1 -i ${srcdir}/syslog-path.patch + + cd ${srcdir} + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_strigi-analyzer=OFF \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package_kdeadmin-kcron() { + pkgdesc='Configure and schedule tasks' + depends=('kdelibs') + cd $srcdir/build/kcron + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kcron + make DESTDIR=$pkgdir install +} + +package_kdeadmin-ksystemlog() { + pkgdesc='System log viewer tool' + depends=('kdebase-runtime') + url="http://kde.org/applications/system/ksystemlog/" + cd $srcdir/build/ksystemlog + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ksystemlog + make DESTDIR=$pkgdir install +} + +package_kdeadmin-kuser() { + pkgdesc='User Manager' + depends=('kdebase-runtime' 'kdepimlibs') + url="http://kde.org/applications/system/kuser/" + install='kdeadmin.install' + cd $srcdir/build/kuser + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kuser + make DESTDIR=$pkgdir install +} + +package_kdeadmin-system-config-printer-kde() { + pkgdesc='Configure local and remote Printers' + depends=('kdebindings-python2' 'system-config-printer-common' 'cups' 'python2-gobject2') + url="http://kde.org/applications/system/printerapplet/" + cd $srcdir/build/system-config-printer-kde + make DESTDIR=$pkgdir install + + # Use the python2 executable + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \ + "${pkgdir}"/usr/share/apps/system-config-printer-kde/{system-config-printer-kde,authconn}.py + sed -i 's|#!/usr/bin/python|#!/usr/bin/python2|' \ + "${pkgdir}"/usr/share/apps/system-config-printer-kde/pysmb.py +} diff --git a/kde-unstable/kdeadmin/kdeadmin.install b/kde-unstable/kdeadmin/kdeadmin.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeadmin/kdeadmin.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeadmin/syslog-path.patch b/kde-unstable/kdeadmin/syslog-path.patch new file mode 100644 index 000000000..8a9142bf6 --- /dev/null +++ b/kde-unstable/kdeadmin/syslog-path.patch @@ -0,0 +1,11 @@ +--- kdeadmin-4.6.0/ksystemlog/src/modes/system/systemConfiguration.h~ 2011-01-27 14:24:29.840000005 +0100 ++++ kdeadmin-4.6.0/ksystemlog/src/modes/system/systemConfiguration.h 2011-01-27 14:24:53.803333335 +0100 +@@ -39,7 +39,7 @@ + SystemConfiguration() : + GenericLogModeConfiguration( + QLatin1String( SYSTEM_LOG_MODE_ID ), +- QStringList() << QLatin1String( "/var/log/syslog" ), ++ QStringList() << QLatin1String( "/var/log/messages.log" ), + QList() << INFORMATION_LOG_LEVEL_ID + ) { + diff --git a/kde-unstable/kdeartwork/PKGBUILD b/kde-unstable/kdeartwork/PKGBUILD new file mode 100644 index 000000000..ccf21da8c --- /dev/null +++ b/kde-unstable/kdeartwork/PKGBUILD @@ -0,0 +1,104 @@ +# $Id: PKGBUILD 160111 2012-05-29 22:36:16Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgbase=kdeartwork +pkgname=('kdeartwork-aurorae' + 'kdeartwork-colorschemes' + 'kdeartwork-desktopthemes' + 'kdeartwork-emoticons' + 'kdeartwork-iconthemes' + 'kdeartwork-kscreensaver' + 'kdeartwork-sounds' + 'kdeartwork-styles' + 'kdeartwork-wallpapers' + 'kdeartwork-weatherwallpapers') +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeartwork') +makedepends=('cmake' 'automoc4' 'xscreensaver' 'eigen' 'kdebase-workspace' + 'libkexiv2') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") +sha1sums=('0a021b7c4b8595936c6721061b9590bbaecd642e') + +build() { + cd $srcdir + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdeartwork-aurorae() { + pkgdesc='An Aurorae theme based on the Oxygen plasma theme' + cd $srcdir/build/aurorae + make DESTDIR=$pkgdir install +} + +package_kdeartwork-colorschemes() { + pkgdesc='KDE color schemes' + replaces=('kdeaccessibility-colorschemes') + cd $srcdir/build/ColorSchemes + make DESTDIR=$pkgdir install +} + +package_kdeartwork-desktopthemes() { + pkgdesc='KDE desktop themes' + cd $srcdir/build/desktopthemes + make DESTDIR=$pkgdir install +} + +package_kdeartwork-emoticons() { + pkgdesc='KDE emoticons' + cd $srcdir/build/emoticons + make DESTDIR=$pkgdir install +} + +package_kdeartwork-iconthemes() { + pkgdesc='KDE icon themes' + replaces=('kdeaccessibility-iconthemes') + cd $srcdir/build/IconThemes + make DESTDIR=$pkgdir install +} + +package_kdeartwork-kscreensaver() { + pkgdesc='KDE screensaver' + depends=('kdebase-workspace' 'libkexiv2') + cd $srcdir/build/kscreensaver + make DESTDIR=$pkgdir install +} + +package_kdeartwork-sounds() { + pkgdesc='KDE sounds' + cd $srcdir/build/sounds + make DESTDIR=$pkgdir install +} + +package_kdeartwork-styles() { + pkgdesc='KDE styles' + depends=('kdebase-workspace') + cd $srcdir/build/styles + make DESTDIR=$pkgdir install + cd $srcdir/build/kwin-styles + make DESTDIR=$pkgdir install +} + +package_kdeartwork-wallpapers() { + pkgdesc='KDE wallpapers' + cd $srcdir/build/wallpapers + make DESTDIR=$pkgdir install + cd $srcdir/build/HighResolutionWallpapers + make DESTDIR=$pkgdir install +} + +package_kdeartwork-weatherwallpapers() { + pkgdesc='KDE weather wallpapers' + cd $srcdir/build/WeatherWallpapers + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdebase-konsole/PKGBUILD b/kde-unstable/kdebase-konsole/PKGBUILD new file mode 100644 index 000000000..5493f2076 --- /dev/null +++ b/kde-unstable/kdebase-konsole/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 160112 2012-05-29 22:41:16Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdebase-konsole +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://kde.org/applications/system/konsole/' +pkgdesc="Terminal" +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdebase') +depends=('kdebase-runtime' 'kdebase-lib') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/konsole-${pkgver}.tar.xz") +sha1sums=('e7c471637fd052261521716882f0d543161692c4') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../konsole-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebase-runtime/PKGBUILD b/kde-unstable/kdebase-runtime/PKGBUILD new file mode 100644 index 000000000..a05f08eda --- /dev/null +++ b/kde-unstable/kdebase-runtime/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 160082 2012-05-29 22:21:05Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgname=kdebase-runtime +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Plugins and applications necessary for the running of KDE applications" +arch=('i686' 'x86_64') +url='https://projects.kde.org/projects/kde/kde-runtime' +license=('GPL' 'LGPL') +depends=('kdepimlibs' 'nepomuk-core' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons' +'xorg-xauth' 'kactivities') +makedepends=('pkg-config' 'cmake' 'automoc4' 'openslp' 'doxygen' 'networkmanager') +optdepends=('htdig: to build the search index in khelpcenter' + 'rarian: needed by khelpcenter' + 'gdb: drkonq crash handler') +install="${pkgname}.install" +source=("http://download.kde.org/unstable/${pkgver}/src/kde-runtime-${pkgver}.tar.xz") +sha1sums=('2ef106862e33a8fc2b936a875ab87e581d25d2ee') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kde-runtime-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_QNtrack=OFF \ + -DWITH_Xine=OFF + make +} + +package() { + cd "$srcdir/build" + make DESTDIR="$pkgdir" install + rm -f "${pkgdir}/usr/share/icons/hicolor/index.theme" + + ln -sf /usr/lib/kde4/libexec/kdesu "${pkgdir}/usr/bin/" + + # Fix conflict + rm "${pkgdir}"/usr/lib/libnepomukcommon.so +} diff --git a/kde-unstable/kdebase-runtime/kdebase-runtime.install b/kde-unstable/kdebase-runtime/kdebase-runtime.install new file mode 100644 index 000000000..c77e68041 --- /dev/null +++ b/kde-unstable/kdebase-runtime/kdebase-runtime.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdebase-workspace/PKGBUILD b/kde-unstable/kdebase-workspace/PKGBUILD new file mode 100644 index 000000000..9b138a0a1 --- /dev/null +++ b/kde-unstable/kdebase-workspace/PKGBUILD @@ -0,0 +1,77 @@ +# $Id: PKGBUILD 160094 2012-05-29 22:27:42Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgname=kdebase-workspace +_pkgname=kde-workspace +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Provides the interface and basic tools for the KDE workspace" +arch=('i686' 'x86_64') +url='https://projects.kde.org/projects/kde/kde-workspace' +license=('GPL' 'LGPL' 'FDL') +groups=('kde') +# note on libxdamage: +# not detected by namcap because libgl depends on it +# but nvidia providing libgl does not depend on libxdamage +depends=('kdepim-runtime' 'lm_sensors' 'libraw1394' 'libqalculate' + 'qimageblitz' 'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage' + 'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama' + 'xorg-xrdb' 'libgles' 'libegl' 'libxres' 'xorg-xrandr' + 'xorg-xmessage' 'libusb-compat' 'kde-base-artwork') +makedepends=('cmake' 'automoc4' 'boost' 'kdebindings-python2' 'networkmanager') +optdepends=('kde-wallpapers: wallpapers for KDE Plasma Workspaces') +install="${pkgname}.install" +backup=('usr/share/config/kdm/kdmrc' + 'etc/pam.d/kde' + 'etc/pam.d/kde-np' + 'etc/pam.d/kscreensaver') +options=('emptydirs') +source=("http://download.kde.org/unstable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz" + 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' + 'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch') +sha1sums=('4d07acfeddf522d6354bb4ee9330cdf0be8d06de' + '5db3a245201bd4a50e65aa2ef583cf5490e4f646' + '712a90999bd429883dcef5dcaf288aace332ced8' + 'b321b5e613b60231330e606fdf1e124646148388' + '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8' + 'd7b5883f7e65c6839b1f65f94d58026673dd0226' + 'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee' + 'd509dac592bd8b310df27991b208c95b6d907514') + +build() { + cd "${srcdir}"/${_pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/kdm-xinitrd.patch + patch -p0 -i "${srcdir}"/fixpath.patch + patch -p0 -i "${srcdir}"/terminate-server.patch + + cd "${srcdir}" + mkdir build + cd build + cmake ../${_pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Xmms=OFF \ + -DWITH_Googlegadgets=OFF \ + -DWITH_libgps=OFF \ + -DWITH_OpenGLES=ON \ + -DKWIN_BUILD_WITH_OPENGLES=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + install -D -m755 "${srcdir}"/kdm "${pkgdir}"/etc/rc.d/kdm + install -D -m644 "${srcdir}"/kde.pam "${pkgdir}"/etc/pam.d/kde + install -D -m644 "${srcdir}"/kde-np.pam "${pkgdir}"/etc/pam.d/kde-np + install -D -m644 "${srcdir}"/kscreensaver.pam "${pkgdir}"/etc/pam.d/kscreensaver + install -d -m755 "${pkgdir}"/usr/share/xsessions/ + ln -sf /usr/share/apps/kdm/sessions/kde-plasma{,-safe}.desktop "${pkgdir}"/usr/share/xsessions/ + install -d -m755 "${pkgdir}"/etc/kde/{env,shutdown} + + install -d -g 135 -o 135 "${pkgdir}"/var/lib/kdm +} diff --git a/kde-unstable/kdebase-workspace/fixpath.patch b/kde-unstable/kdebase-workspace/fixpath.patch new file mode 100644 index 000000000..be2b8383e --- /dev/null +++ b/kde-unstable/kdebase-workspace/fixpath.patch @@ -0,0 +1,34 @@ +--- startkde.cmake.orig 2009-01-15 14:24:44.000000000 +0100 ++++ startkde.cmake 2009-01-15 14:33:08.000000000 +0100 +@@ -34,22 +34,6 @@ + MALLOC_CHECK_=2 + export MALLOC_CHECK_ + +-# in case we have been started with full pathname spec without being in PATH +-bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'` +-if [ -n "$bindir" ]; then +- qbindir=`$bindir/kde4-config --qt-binaries` +- if [ -n "$qbindir" ]; then +- case $PATH in +- $qbindir|$qbindir:*|*:$qbindir|*:$qbindir:*) ;; +- *) PATH=$qbindir:$PATH; export PATH;; +- esac +- fi +- case $PATH in +- $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;; +- *) PATH=$bindir:$PATH; export PATH;; +- esac +-fi +- + # Boot sequence: + # + # kdeinit is used to fork off processes which improves memory usage +@@ -206,7 +190,7 @@ + # For anything else (that doesn't set env vars, or that needs a window manager), + # better use the Autostart folder. + +-libpath=`kde4-config --path lib | tr : '\n'` ++libpath=`kde4-config --path lib | tr : '\n'`$(echo -e '\n/etc/kde/lib/') + + for prefix in `echo "$libpath" | sed -n -e 's,/lib[^/]*/,/env/,p'`; do + for file in "$prefix"*.sh; do diff --git a/kde-unstable/kdebase-workspace/kde-np.pam b/kde-unstable/kdebase-workspace/kde-np.pam new file mode 100644 index 000000000..7d60cc35c --- /dev/null +++ b/kde-unstable/kdebase-workspace/kde-np.pam @@ -0,0 +1,9 @@ +#%PAM-1.0 +auth required pam_nologin.so +auth required pam_permit.so +auth required pam_env.so +account required pam_unix.so +password required pam_unix.so +session required pam_unix.so +session required pam_limits.so +-session optional pam_systemd.so diff --git a/kde-unstable/kdebase-workspace/kde.pam b/kde-unstable/kdebase-workspace/kde.pam new file mode 100644 index 000000000..ec1d8277f --- /dev/null +++ b/kde-unstable/kdebase-workspace/kde.pam @@ -0,0 +1,9 @@ +#%PAM-1.0 +auth required pam_unix.so +auth required pam_nologin.so +auth required pam_env.so +account required pam_unix.so +password required pam_unix.so +session required pam_unix.so +session required pam_limits.so +-session optional pam_systemd.so diff --git a/kde-unstable/kdebase-workspace/kdebase-workspace.install b/kde-unstable/kdebase-workspace/kdebase-workspace.install new file mode 100644 index 000000000..f7d6d305b --- /dev/null +++ b/kde-unstable/kdebase-workspace/kdebase-workspace.install @@ -0,0 +1,25 @@ +post_install() { + groupadd -g 135 kdm &>/dev/null + useradd -u 135 -g kdm -d /var/lib/kdm -s /bin/false -r -M kdm &>/dev/null + chown -R 135:135 var/lib/kdm &>/dev/null + xdg-icon-resource forceupdate --theme hicolor &>/dev/null + update-desktop-database -q +} + +post_upgrade() { + getent group kdm >/dev/null 2>&1 || groupadd -g 135 kdm &>/dev/null + getent passwd kdm >/dev/null 2>&1 || useradd -u 135 -g kdm -d /var/lib/kdm -s /bin/false -r -M kdm &>/dev/null + chown -R 135:135 var/lib/kdm &>/dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_remove() { + if getent passwd kdm >/dev/null 2>&1; then + userdel kdm + fi + if getent group kdm >/dev/null 2>&1; then + groupdel kdm + fi + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} diff --git a/kde-unstable/kdebase-workspace/kdm b/kde-unstable/kdebase-workspace/kdm new file mode 100644 index 000000000..799d58f4b --- /dev/null +++ b/kde-unstable/kdebase-workspace/kdm @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=$(pidof -o %PPID /usr/bin/kdm) +case "$1" in + start) + stat_busy "Starting KDE Desktop Manager" + [ -z "$PID" ] && /usr/bin/kdm &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon kdm + stat_done + fi + ;; + stop) + stat_busy "Stopping KDE Desktop Manager" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon kdm + stat_done + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/kde-unstable/kdebase-workspace/kdm-xinitrd.patch b/kde-unstable/kdebase-workspace/kdm-xinitrd.patch new file mode 100644 index 000000000..f5fc0e571 --- /dev/null +++ b/kde-unstable/kdebase-workspace/kdm-xinitrd.patch @@ -0,0 +1,18 @@ +--- kde-workspace-4.7.2/kdm/kfrontend/genkdmconf.c~ 2011-10-04 22:11:24.787771512 +0000 ++++ kde-workspace-4.7.2/kdm/kfrontend/genkdmconf.c 2011-10-04 22:13:58.612702824 +0000 +@@ -742,6 +742,15 @@ + "[ -f /etc/xprofile ] && . /etc/xprofile\n" + "[ -f $HOME/.xprofile ] && . $HOME/.xprofile\n" + "\n" ++"# run all system xinitrc shell scripts.\n" ++"if [ -d /etc/X11/xinit/xinitrc.d ]; then\n" ++" for i in /etc/X11/xinit/xinitrc.d/* ; do\n" ++" if [ -x \"$i\" ]; then\n" ++" . \"$i\"\n" ++" fi\n" ++" done\n" ++"fi\n" ++"\n" + "if [ -d /etc/X11/Xresources ]; then\n" + " for i in /etc/X11/Xresources/*; do\n" + " [ -f $i ] && xrdb -merge $i\n" diff --git a/kde-unstable/kdebase-workspace/kscreensaver.pam b/kde-unstable/kdebase-workspace/kscreensaver.pam new file mode 100644 index 000000000..b4d80c21f --- /dev/null +++ b/kde-unstable/kdebase-workspace/kscreensaver.pam @@ -0,0 +1 @@ +auth required pam_unix_auth.so diff --git a/kde-unstable/kdebase-workspace/terminate-server.patch b/kde-unstable/kdebase-workspace/terminate-server.patch new file mode 100644 index 000000000..094591317 --- /dev/null +++ b/kde-unstable/kdebase-workspace/terminate-server.patch @@ -0,0 +1,11 @@ +--- kdm/config.def 2009-08-27 10:17:39.000000000 +0200 ++++ kdm/config.def 2009-10-31 00:40:21.000000000 +0100 +@@ -1448,7 +1448,7 @@ + + Key: TerminateServer + Type: bool +-Default: false ++Default: true + User: core + Instance: #:*/! + Merge: xdm diff --git a/kde-unstable/kdebase/PKGBUILD b/kde-unstable/kdebase/PKGBUILD new file mode 100644 index 000000000..5a2078269 --- /dev/null +++ b/kde-unstable/kdebase/PKGBUILD @@ -0,0 +1,120 @@ +# $Id: PKGBUILD 160096 2012-05-29 22:29:11Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgbase=kdebase +pkgname=('kdebase-dolphin' + 'kdebase-kdepasswd' + 'kdebase-kdialog' + 'kdebase-keditbookmarks' + 'kdebase-kfind' + 'kdebase-konq-plugins' + 'kdebase-konqueror' + 'kdebase-lib' + 'kdebase-plasma') +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdebase') +makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml') +source=("http://download.kde.org/unstable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz") +sha1sums=('7057f83087295391c2bbbd1d75a79cf1ec696a20') + +build() { + cd ${srcdir} + mkdir build + cd build + cmake ../kde-baseapps-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdebase-dolphin() { + pkgdesc='File Manager' + depends=('kdebase-runtime' 'kdebase-lib') + optdepends=('kdegraphics-svgpart: thumbailers for SVG files' + 'kdegraphics-thumbnailers: thumbnailers for graphics file' + 'ruby: servicemenu installation') + url="http://kde.org/applications/system/dolphin/" + install=kdebase-dolphin.install + cd $srcdir/build/dolphin + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/dolphin + make DESTDIR=$pkgdir install +} + +package_kdebase-kdepasswd() { + pkgdesc='Change Password' + depends=('kdebase-runtime' 'kdebase-lib') + cd $srcdir/build/kdepasswd + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kdepasswd + make DESTDIR=$pkgdir install +} + +package_kdebase-kdialog() { + pkgdesc='A utility for displaying dialog boxes from shell scripts' + depends=('kdebase-runtime') + cd $srcdir/build/kdialog + make DESTDIR=$pkgdir install +} + +package_kdebase-keditbookmarks() { + pkgdesc='Bookmark Organizer and Editor' + depends=('kdebase-runtime') + cd $srcdir/build/keditbookmarks + make DESTDIR=$pkgdir install +} + +package_kdebase-kfind() { + pkgdesc='Find Files/Folders' + depends=('kdebase-runtime' 'kdebase-lib') + url="http://kde.org/applications/utilities/kfind/" + install='kdebase.install' + cd $srcdir/build/kfind + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kfind + make DESTDIR=$pkgdir install +} + +package_kdebase-konq-plugins() { + pkgdesc='Extra plugins for Konqueror' + depends=('kdebase-konqueror' 'tidyhtml') + replaces=('konq-plugins') + install='kdebase.install' + cd $srcdir/build/konq-plugins + make DESTDIR=$pkgdir install +} + +package_kdebase-konqueror() { + pkgdesc='KDE File Manager & Web Browser' + depends=('kdebase-dolphin' 'kdebase-keditbookmarks') + optdepends=('kwebkitpart: to enable webkit engine') + url="http://kde.org/applications/internet/konqueror/" + install='kdebase-konqueror.install' + conflicts=('kdebase-nsplugins') + replaces=('kdebase-nsplugins') + for i in konqueror doc/konqueror nsplugins; do + cd $srcdir/build/${i} + make DESTDIR=$pkgdir install + done +} + +package_kdebase-lib() { + pkgdesc='KDE libraries for the basic desktop applications' + groups=() + depends=('kdelibs') + cd $srcdir/build/lib + make DESTDIR=$pkgdir install +} + +package_kdebase-plasma() { + pkgdesc='Display the contents of folders (User´s home folder as default)' + depends=('kdebase-workspace' 'kdebase-lib') + cd $srcdir/build/plasma + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdebase/kdebase-dolphin.install b/kde-unstable/kdebase/kdebase-dolphin.install new file mode 100644 index 000000000..660593cf5 --- /dev/null +++ b/kde-unstable/kdebase/kdebase-dolphin.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdebase/kdebase-konqueror.install b/kde-unstable/kdebase/kdebase-konqueror.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdebase/kdebase-konqueror.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdebase/kdebase.install b/kde-unstable/kdebase/kdebase.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdebase/kdebase.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdebindings-kimono/PKGBUILD b/kde-unstable/kdebindings-kimono/PKGBUILD new file mode 100644 index 000000000..cfc7ee060 --- /dev/null +++ b/kde-unstable/kdebindings-kimono/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 160113 2012-05-29 22:41:43Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdebindings-kimono +pkgver=4.8.80 +pkgrel=1 +pkgdesc=".NET/Mono bindings for the KDE libraries" +url="https://projects.kde.org/projects/kde/kdebindings/csharp/kimono" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-qyoto' 'kdebindings-smokekde') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' 'kdepimlibs') +conflicts=('kdebindings-csharp') +source=("http://download.kde.org/unstable/${pkgver}/src/kimono-${pkgver}.tar.xz") +sha1sums=('348529351170cba46ea3bb071416f54cedd05f9c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kimono-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Soprano=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-kross/PKGBUILD b/kde-unstable/kdebindings-kross/PKGBUILD new file mode 100644 index 000000000..f9eb6df19 --- /dev/null +++ b/kde-unstable/kdebindings-kross/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD 160114 2012-05-29 22:42:09Z andrea $ +# Maintainer: Andrea Scarpino + +pkgbase=kdebindings-kross +pkgname=('kdebindings-kross-python' +# 'kdebindings-kross-ruby' + 'kdebindings-kross-java') +pkgver=4.8.80 +pkgrel=1 +url="https://projects.kde.org/projects/kde/kdebindings/kross-interpreters" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +makedepends=('kdelibs' 'cmake' 'automoc4' 'python2' 'java-environment') +source=("http://download.kde.org/unstable/${pkgver}/src/kross-interpreters-${pkgver}.tar.xz") +sha1sums=('829814ae8753ffe4c7dc44a733c022b5447d7fa5') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kross-interpreters-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_ruby=OFF \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package_kdebindings-kross-python() { + pkgdesc="Python2 language interpreters to enable in-process scripting with Kross" + depends=('kdelibs' 'python2') + + cd "${srcdir}"/build/python + make DESTDIR="${pkgdir}" install +} + +package_kdebindings-kross-java() { + pkgdesc="Java language interpreters to enable in-process scripting with Kross" + depends=('kdelibs' 'java-environment') + + cd "${srcdir}"/build/java + make DESTDIR="${pkgdir}" install +} + +package_kdebindings-kross-ruby() { + pkgdesc="Ruby language interpreters to enable in-process scripting with Kross" + depends=('kdelibs' 'ruby') + + cd "${srcdir}"/build/ruby + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-perlqt/PKGBUILD b/kde-unstable/kdebindings-perlqt/PKGBUILD new file mode 100644 index 000000000..3d046b873 --- /dev/null +++ b/kde-unstable/kdebindings-perlqt/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160089 2012-05-29 22:24:58Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdebindings-perlqt +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Perl bindings for the Qt libraries" +url="https://projects.kde.org/projects/kde/kdebindings/perl/perlqt" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokeqt' 'perl-list-moreutils') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') +source=("http://download.kde.org/unstable/${pkgver}/src/perlqt-${pkgver}.tar.xz") +sha1sums=('a0e7bbb60978c43dc6f888c3ee0e757d0eb14be0') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../perlqt-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-python/PKGBUILD b/kde-unstable/kdebindings-python/PKGBUILD new file mode 100644 index 000000000..f1b22222f --- /dev/null +++ b/kde-unstable/kdebindings-python/PKGBUILD @@ -0,0 +1,70 @@ +# $Id: PKGBUILD 160090 2012-05-29 22:25:25Z andrea $ +# Maintainer: Andrea Scarpino + +pkgbase=kdebindings-python +pkgname=('kdebindings-python' + 'kdebindings-python2') +pkgver=4.8.80 +pkgrel=1 +url='https://projects.kde.org/projects/kde/kdebindings/pykde4' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'python2-pyqt' 'qscintilla') +source=("http://download.kde.org/unstable/${pkgver}/src/pykde4-${pkgver}.tar.xz") +sha1sums=('72bd95baeaf8ab71a66de6da8bba09e978e59bd2') + +build() { + export PYTHONDONTWRITEBYTECODE="TRUE" + + cd "${srcdir}" + mkdir build + cd build + cmake ../pykde4-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_LIBRARY=/usr/lib/libpython3.2mu.so.1.0 \ + -DWITH_Soprano=OFF + make + cd .. + + mkdir build-python2 + cd build-python2 + cmake ../pykde4-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 \ + -DWITH_Soprano=OFF + make +} + +package_kdebindings-python() { + pkgdesc="A set of Python 3.x bindings for KDE" + depends=('kdepim-runtime' 'pyqt' 'qscintilla') + + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} + +package_kdebindings-python2() { + pkgdesc="A set of Python 2.x bindings for KDE" + depends=('kdepim-runtime' 'python2-pyqt' 'qscintilla') + conflicts=('kdebindings-python<4.8.1-2') + + cd "${srcdir}"/build-python2 + make DESTDIR="${pkgdir}" install + + # Fix conflicts + rm "${pkgdir}"/usr/bin/pykdeuic4 + ln -sf /usr/lib/python2.7/site-packages/PyQt4/uic/pykdeuic4.py \ + "${pkgdir}"/usr/bin/python2-pykdeuic4 + + mv "${pkgdir}"/usr/share/apps/pykde4/examples \ + "${pkgdir}"/usr/share/apps/pykde4/python2-examples + + mv "${pkgdir}"/usr/share/sip/PyKDE4 \ + "${pkgdir}"/usr/share/sip/python2-PyKDE4 + + # Use the python2 executable + find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' +} diff --git a/kde-unstable/kdebindings-qtruby/PKGBUILD b/kde-unstable/kdebindings-qtruby/PKGBUILD new file mode 100644 index 000000000..a3965d5e4 --- /dev/null +++ b/kde-unstable/kdebindings-qtruby/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 160092 2012-05-29 22:26:37Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdebindings-qtruby +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Ruby bindings for the Qt libraries" +url="https://projects.kde.org/projects/kde/kdebindings/ruby/qtruby" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokeqt' 'ruby') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') +conflicts=('kdebindings-ruby') +source=("http://download.kde.org/unstable/${pkgver}/src/qtruby-${pkgver}.tar.xz") +sha1sums=('8cf9bc95f95f72c00f32e0a867e20e5029b8bcbb') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../qtruby-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCUSTOM_RUBY_SITE_LIB_DIR=$(ruby -e 'puts RbConfig::CONFIG["vendorlibdir"]') \ + -DCUSTOM_RUBY_SITE_ARCH_DIR=$(ruby -e 'puts RbConfig::CONFIG["vendorarchdir"]') + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-qyoto/PKGBUILD b/kde-unstable/kdebindings-qyoto/PKGBUILD new file mode 100644 index 000000000..2ba17465a --- /dev/null +++ b/kde-unstable/kdebindings-qyoto/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160091 2012-05-29 22:26:09Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdebindings-qyoto +pkgver=4.8.80 +pkgrel=1 +pkgdesc=".NET/Mono bindings for the Qt libraries" +url="https://projects.kde.org/projects/kde/kdebindings/csharp/qyoto" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokeqt' 'mono') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') +conflicts=('kdebindings-csharp') +source=("http://download.kde.org/unstable/${pkgver}/src/qyoto-${pkgver}.tar.xz") +sha1sums=('70b384fdc5509fcde8870e5aa1a08b285ef9d35f') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../qyoto-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-smokegen/PKGBUILD b/kde-unstable/kdebindings-smokegen/PKGBUILD new file mode 100644 index 000000000..6c47db7fc --- /dev/null +++ b/kde-unstable/kdebindings-smokegen/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 160084 2012-05-29 22:22:13Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdebindings-smokegen +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A general purpose C++ parser with a plugin infrastructure" +url="https://projects.kde.org/projects/kde/kdebindings/smoke/smokegen" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +conflicts=('kdebindings-smoke') +source=("http://download.kde.org/unstable/${pkgver}/src/smokegen-${pkgver}.tar.xz") +sha1sums=('3f98d0a97db5604a924fdf2e654640b0f257486a') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../smokegen-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-smokekde/PKGBUILD b/kde-unstable/kdebindings-smokekde/PKGBUILD new file mode 100644 index 000000000..4c28d7f8b --- /dev/null +++ b/kde-unstable/kdebindings-smokekde/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 160088 2012-05-29 22:24:27Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdebindings-smokekde +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Language independent library for KDE bindings" +url="https://projects.kde.org/projects/kde/kdebindings/smoke/smokekde" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokeqt') +makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' + 'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate') +optdepends=('kdesdk-kate: Kate bindings' + 'kdegraphics-okular: Okular bindings') +conflicts=('kdebindings-smoke') +source=("http://download.kde.org/unstable/${pkgver}/src/smokekde-${pkgver}.tar.xz") +sha1sums=('d349b9fe6ef29c0717d3faa831d2f2d1f0281290') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../smokekde-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Soprano=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdebindings-smokeqt/PKGBUILD b/kde-unstable/kdebindings-smokeqt/PKGBUILD new file mode 100644 index 000000000..08600b411 --- /dev/null +++ b/kde-unstable/kdebindings-smokeqt/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 160085 2012-05-29 22:22:40Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdebindings-smokeqt +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Language independent library for Qt bindings" +url="https://projects.kde.org/projects/kde/kdebindings/smoke/smokeqt" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kdebindings') +depends=('kdebindings-smokegen' 'qimageblitz' 'qscintilla') +makedepends=('cmake' 'automoc4') +conflicts=('kdebindings-smoke') +source=("http://download.kde.org/unstable/${pkgver}/src/smokeqt-${pkgver}.tar.xz") +sha1sums=('8ecb3a8aa49a7095ae4c0b74949ba66cb4d63c2d') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../smokeqt-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Qwt5=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-analitza/PKGBUILD b/kde-unstable/kdeedu-analitza/PKGBUILD new file mode 100644 index 000000000..a6c1a1a30 --- /dev/null +++ b/kde-unstable/kdeedu-analitza/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 160103 2012-05-29 22:32:46Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-analitza +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A library to add mathematical features to your program" +url="https://projects.kde.org/projects/kde/kdeedu/analitza" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/analitza-${pkgver}.tar.xz") +sha1sums=('5ebeced5d8f4b2aa58e532d5c46511e01fe31f54') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../analitza-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-blinken/PKGBUILD b/kde-unstable/kdeedu-blinken/PKGBUILD new file mode 100644 index 000000000..bc8d1272d --- /dev/null +++ b/kde-unstable/kdeedu-blinken/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160115 2012-05-29 22:42:33Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-blinken +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Memory Enhancement Game" +url="http://kde.org/applications/education/blinken/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/blinken-${pkgver}.tar.xz") +sha1sums=('30070f8de37593ae25c764d269fc6dbcf688f82a') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../blinken-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-blinken/kdeedu-blinken.install b/kde-unstable/kdeedu-blinken/kdeedu-blinken.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-blinken/kdeedu-blinken.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-cantor/PKGBUILD b/kde-unstable/kdeedu-cantor/PKGBUILD new file mode 100644 index 000000000..f4fb2d591 --- /dev/null +++ b/kde-unstable/kdeedu-cantor/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 160116 2012-05-29 22:42:58Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-cantor +pkgver=4.8.80 +pkgrel=1 +pkgdesc="KDE Frontend to Mathematical Software" +url="http://kde.org/applications/education/cantor/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libspectre' 'kdeedu-analitza' 'libqalculate') +makedepends=('cmake' 'automoc4' 'r') +optdepends=('maxima: Maxima backend' + 'octave: Octave backend' + 'r: R backend') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/cantor-${pkgver}.tar.xz") +sha1sums=('cdb2842805d8a35f465101b5efe6906ecf9a6bfe') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../cantor-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-cantor/kdeedu-cantor.install b/kde-unstable/kdeedu-cantor/kdeedu-cantor.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-cantor/kdeedu-cantor.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdeedu-kalgebra/PKGBUILD b/kde-unstable/kdeedu-kalgebra/PKGBUILD new file mode 100644 index 000000000..dca3c6bee --- /dev/null +++ b/kde-unstable/kdeedu-kalgebra/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160117 2012-05-29 22:43:25Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kalgebra +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Graph Calculator" +url="http://kde.org/applications/education/kalgebra/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu' 'kdeedu-analitza') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kalgebra-${pkgver}.tar.xz") +sha1sums=('890a56c4f302019015fc3f85ef044a638f35d01e') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kalgebra-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install b/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdeedu-kalzium/PKGBUILD b/kde-unstable/kdeedu-kalzium/PKGBUILD new file mode 100644 index 000000000..cc4855602 --- /dev/null +++ b/kde-unstable/kdeedu-kalzium/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160118 2012-05-29 22:43:50Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kalzium +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Periodic Table of Elements" +url="http://kde.org/applications/education/kalzium/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdelibs' 'avogadro' 'ocaml' 'facile') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kalzium-${pkgver}.tar.xz") +sha1sums=('94f69274e86ffa5159bcb2e670be1d5560068057') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kalzium-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install b/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kanagram/PKGBUILD b/kde-unstable/kdeedu-kanagram/PKGBUILD new file mode 100644 index 000000000..999cc365f --- /dev/null +++ b/kde-unstable/kdeedu-kanagram/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160119 2012-05-29 22:44:26Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kanagram +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Letter Order Game" +url="http://kde.org/applications/education/kanagram/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kanagram-${pkgver}.tar.xz") +sha1sums=('311c23ac72fda6c425b4a74c687e41fb730ec3de') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kanagram-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install b/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kbruch/PKGBUILD b/kde-unstable/kdeedu-kbruch/PKGBUILD new file mode 100644 index 000000000..ed62bbe52 --- /dev/null +++ b/kde-unstable/kdeedu-kbruch/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160120 2012-05-29 22:44:52Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kbruch +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Exercise Fractions" +url="http://kde.org/applications/education/kbruch/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kbruch-${pkgver}.tar.xz") +sha1sums=('38277c19633c864fefbeb337eb27bdbbb851fdf8') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kbruch-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install b/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kgeography/PKGBUILD b/kde-unstable/kdeedu-kgeography/PKGBUILD new file mode 100644 index 000000000..ceb1278eb --- /dev/null +++ b/kde-unstable/kdeedu-kgeography/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160121 2012-05-29 22:45:22Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kgeography +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Geography Trainer" +url="http://kde.org/applications/education/kgeography/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kgeography-${pkgver}.tar.xz") +sha1sums=('5b2a17154fdce9d5bdd27124e8c51816d6679e93') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kgeography-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install b/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-khangman/PKGBUILD b/kde-unstable/kdeedu-khangman/PKGBUILD new file mode 100644 index 000000000..8c6ec0457 --- /dev/null +++ b/kde-unstable/kdeedu-khangman/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160122 2012-05-29 22:45:58Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-khangman +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Hangman Game" +url="http://kde.org/applications/education/khangman/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/khangman-${pkgver}.tar.xz") +sha1sums=('25a57b963e0ad130fcacd926316bd1237d93a573') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../khangman-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-khangman/kdeedu-khangman.install b/kde-unstable/kdeedu-khangman/kdeedu-khangman.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-khangman/kdeedu-khangman.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kig/PKGBUILD b/kde-unstable/kdeedu-kig/PKGBUILD new file mode 100644 index 000000000..3cff24139 --- /dev/null +++ b/kde-unstable/kdeedu-kig/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 160123 2012-05-29 22:46:26Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kig +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Interactive Geometry" +url="http://kde.org/applications/education/kig/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kig-${pkgver}.tar.xz") +sha1sums=('37c9801eb57c8bc774621f76c12eb7805bd895cd') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kig-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + # Use the python2 executable + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' "${pkgdir}"/usr/bin/pykig.py +} diff --git a/kde-unstable/kdeedu-kig/kdeedu-kig.install b/kde-unstable/kdeedu-kig/kdeedu-kig.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-kig/kdeedu-kig.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdeedu-kiten/PKGBUILD b/kde-unstable/kdeedu-kiten/PKGBUILD new file mode 100644 index 000000000..d03a6e4f9 --- /dev/null +++ b/kde-unstable/kdeedu-kiten/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160124 2012-05-29 22:46:56Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kiten +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Japanese Reference/Study Tool" +url="http://kde.org/applications/education/kiten/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kiten-${pkgver}.tar.xz") +sha1sums=('04502f5b20493ec396c31e844ceba4aff09d6b30') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kiten-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kiten/kdeedu-kiten.install b/kde-unstable/kdeedu-kiten/kdeedu-kiten.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kiten/kdeedu-kiten.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-klettres/PKGBUILD b/kde-unstable/kdeedu-klettres/PKGBUILD new file mode 100644 index 000000000..702a3b60a --- /dev/null +++ b/kde-unstable/kdeedu-klettres/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160125 2012-05-29 22:47:47Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-klettres +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Learn The Alphabet" +url="http://kde.org/applications/education/klettres/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/klettres-${pkgver}.tar.xz") +sha1sums=('7e13e0b73dfb7b99372c636f5d8ec52112869cb7') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../klettres-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-klettres/kdeedu-klettres.install b/kde-unstable/kdeedu-klettres/kdeedu-klettres.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-klettres/kdeedu-klettres.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kmplot/PKGBUILD b/kde-unstable/kdeedu-kmplot/PKGBUILD new file mode 100644 index 000000000..a752eef8a --- /dev/null +++ b/kde-unstable/kdeedu-kmplot/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160126 2012-05-29 22:48:16Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kmplot +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Mathematical Function Plotter" +url="http://kde.org/applications/education/kmplot/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kmplot-${pkgver}.tar.xz") +sha1sums=('0ccef544a8fcde8be41300d160253505bca41576') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmplot-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install b/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdeedu-kstars/PKGBUILD b/kde-unstable/kdeedu-kstars/PKGBUILD new file mode 100644 index 000000000..d64be6c06 --- /dev/null +++ b/kde-unstable/kdeedu-kstars/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 160127 2012-05-29 22:48:41Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kstars +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Desktop Planetarium" +url="http://kde.org/applications/education/kstars/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libindi') +makedepends=('cmake' 'automoc4' 'eigen') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kstars-${pkgver}.tar.xz") +sha1sums=('8e869413470abc4b984ae878ebcc34646cfaafe5') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kstars-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Xplanet=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kstars/kdeedu-kstars.install b/kde-unstable/kdeedu-kstars/kdeedu-kstars.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kstars/kdeedu-kstars.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-ktouch/PKGBUILD b/kde-unstable/kdeedu-ktouch/PKGBUILD new file mode 100644 index 000000000..222ea6d74 --- /dev/null +++ b/kde-unstable/kdeedu-ktouch/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160128 2012-05-29 22:49:33Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-ktouch +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Touch Typing Tutor" +url="http://kde.org/applications/education/ktouch/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/ktouch-${pkgver}.tar.xz") +sha1sums=('5d046796b78e506ef451c70a2ee68b8b337dc4de') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ktouch-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install b/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kturtle/PKGBUILD b/kde-unstable/kdeedu-kturtle/PKGBUILD new file mode 100644 index 000000000..dcd5afd29 --- /dev/null +++ b/kde-unstable/kdeedu-kturtle/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160129 2012-05-29 22:50:00Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kturtle +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Educational Programming Environment" +url="http://kde.org/applications/education/kturtle/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kturtle-${pkgver}.tar.xz") +sha1sums=('b5c3705ac91c0ab3e5781f0fb764da113a427673') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kturtle-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install b/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdeedu-kwordquiz/PKGBUILD b/kde-unstable/kdeedu-kwordquiz/PKGBUILD new file mode 100644 index 000000000..5769e6566 --- /dev/null +++ b/kde-unstable/kdeedu-kwordquiz/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160130 2012-05-29 22:50:23Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-kwordquiz +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Flash Card Trainer" +url="http://kde.org/applications/education/kwordquiz/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kwordquiz-${pkgver}.tar.xz") +sha1sums=('3a0e782456430e878118256e8058518d981433d2') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kwordquiz-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install b/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdeedu-marble/PKGBUILD b/kde-unstable/kdeedu-marble/PKGBUILD new file mode 100644 index 000000000..95184c315 --- /dev/null +++ b/kde-unstable/kdeedu-marble/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 160098 2012-05-29 22:30:07Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-marble +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Desktop Globe" +url="http://kde.org/applications/education/marble/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4' 'gpsd') +optdepends=('gpsd: gps support') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/marble-${pkgver}.tar.xz") +sha1sums=('d3f6b27cda2710d48dfa2873dc09f4b0bccbcb09') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../marble-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-marble/kdeedu-marble.install b/kde-unstable/kdeedu-marble/kdeedu-marble.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-marble/kdeedu-marble.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdeedu-pairs/PKGBUILD b/kde-unstable/kdeedu-pairs/PKGBUILD new file mode 100644 index 000000000..8cf2bee76 --- /dev/null +++ b/kde-unstable/kdeedu-pairs/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160131 2012-05-29 22:50:49Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-pairs +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A memory and pairs game for KDE" +url="https://projects.kde.org/projects/kde/kdeedu/pairs" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/pairs-${pkgver}.tar.xz") +sha1sums=('349954ee22080f49025d997047d2b2ce88f00c9c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../pairs-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-pairs/kdeedu-pairs.install b/kde-unstable/kdeedu-pairs/kdeedu-pairs.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-pairs/kdeedu-pairs.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdeedu-parley/PKGBUILD b/kde-unstable/kdeedu-parley/PKGBUILD new file mode 100644 index 000000000..6a442172b --- /dev/null +++ b/kde-unstable/kdeedu-parley/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160132 2012-05-29 22:51:20Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-parley +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Vocabulary Trainer" +url="http://kde.org/applications/education/parley/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libkdeedu') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/parley-${pkgver}.tar.xz") +sha1sums=('0ea1f3fbe0ab321d347e0d961c0bc335b8babf63') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../parley-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-parley/kdeedu-parley.install b/kde-unstable/kdeedu-parley/kdeedu-parley.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdeedu-parley/kdeedu-parley.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdeedu-rocs/PKGBUILD b/kde-unstable/kdeedu-rocs/PKGBUILD new file mode 100644 index 000000000..70aba2913 --- /dev/null +++ b/kde-unstable/kdeedu-rocs/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160133 2012-05-29 22:51:56Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-rocs +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Rocs Graph Theory" +url="http://kde.org/applications/education/rocs/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4' 'boost') +source=("http://download.kde.org/unstable/${pkgver}/src/rocs-${pkgver}.tar.xz") +sha1sums=('58722f1cd841e417ac0b3a3074b03e509f34e8e2') +options=('!makeflags') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../rocs-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-step/PKGBUILD b/kde-unstable/kdeedu-step/PKGBUILD new file mode 100644 index 000000000..56e097e21 --- /dev/null +++ b/kde-unstable/kdeedu-step/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160134 2012-05-29 22:52:22Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdeedu-step +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Interactive Physical Simulator" +url="http://kde.org/applications/education/step/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeedu') +depends=('kdebase-runtime' 'libqalculate' 'gsl') +makedepends=('cmake' 'automoc4' 'eigen') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/step-${pkgver}.tar.xz") +sha1sums=('7136e43cb22feb501aee4a3a5efbf96892148198') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../step-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdeedu-step/kdeedu-step.install b/kde-unstable/kdeedu-step/kdeedu-step.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdeedu-step/kdeedu-step.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/PKGBUILD b/kde-unstable/kdegames/PKGBUILD new file mode 100644 index 000000000..e3a82756c --- /dev/null +++ b/kde-unstable/kdegames/PKGBUILD @@ -0,0 +1,510 @@ +# $Id: PKGBUILD 160135 2012-05-29 22:53:39Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgbase=kdegames +pkgname=('kdegames-bomber' + 'kdegames-bovo' + 'kdegames-granatier' + 'kdegames-kajongg' + 'kdegames-kapman' + 'kdegames-katomic' + 'kdegames-kbattleship' + 'kdegames-kblackbox' + 'kdegames-kblocks' + 'kdegames-kbounce' + 'kdegames-kbreakout' + 'kdegames-kdiamond' + 'kdegames-kfourinline' + 'kdegames-kgoldrunner' + 'kdegames-kigo' + 'kdegames-killbots' + 'kdegames-kiriki' + 'kdegames-kjumpingcube' + 'kdegames-klines' + 'kdegames-klickety' + 'kdegames-kmahjongg' + 'kdegames-kmines' + 'kdegames-knetwalk' + 'kdegames-kolf' + 'kdegames-kollision' + 'kdegames-konquest' + 'kdegames-kpatience' + 'kdegames-kreversi' + 'kdegames-kshisen' + 'kdegames-ksirk' + 'kdegames-kspaceduel' + 'kdegames-ksquares' + 'kdegames-ksudoku' + 'kdegames-ktron' + 'kdegames-ktuberling' + 'kdegames-kubrick' + 'kdegames-libkdegames' + 'kdegames-libkmahjongg' + 'kdegames-lskat' + 'kdegames-palapeli') +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegames') +makedepends=('cmake' 'automoc4' 'twisted' 'kdebindings-python2' + 'openal') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") +sha1sums=('7bdb73030e4db5431f7a6babcd8b06f49185680f') + +build() { + cd $srcdir + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package_kdegames-bomber() { + pkgdesc='Arcade Bombing Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/bomber/" + install='kdegames.install' + cd $srcdir/build/bomber + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/bomber + make DESTDIR=$pkgdir install +} + +package_kdegames-bovo() { + pkgdesc='Five-in-a-row Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/bovo/" + install='kdegames.install' + cd $srcdir/build/bovo + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/bovo + make DESTDIR=$pkgdir install +} + +package_kdegames-granatier() { + pkgdesc='Granatier' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'openal') + url="http://kde.org/applications/games/granatier/" + install='kdegames.install' + cd $srcdir/build/granatier + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/granatier + make DESTDIR=$pkgdir install +} + +package_kdegames-kajongg() { + pkgdesc='The ancient Chinese board game for 4 players' + depends=('kdegames-libkdegames' 'kdegames-libkmahjongg' 'kdebindings-python2' 'twisted') + url="http://www.kde.org/applications/games/kajongg/" + install='kdegames.install' + cd $srcdir/build/kajongg + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kajongg + make DESTDIR=$pkgdir install + + # Use the python2 executable + find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' +} + +package_kdegames-kapman() { + pkgdesc='Eat pills escaping ghosts' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kapman/" + install='kdegames.install' + cd $srcdir/build/kapman + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kapman + make DESTDIR=$pkgdir install +} + +package_kdegames-katomic() { + pkgdesc='Sokoban-like Logic Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/katomic/" + install='kdegames.install' + cd $srcdir/build/katomic + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/katomic + make DESTDIR=$pkgdir install +} + +package_kdegames-kbattleship() { + pkgdesc='Battleship Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kbattleship/" + install='kdegames-kbattleship.install' + cd $srcdir/build/kbattleship + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kbattleship + make DESTDIR=$pkgdir install +} + +package_kdegames-kblackbox() { + pkgdesc='Blackbox Logic Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kblackbox/" + install='kdegames.install' + cd $srcdir/build/kblackbox + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kblackbox + make DESTDIR=$pkgdir install +} + +package_kdegames-kblocks() { + pkgdesc='Falling Blocks Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kblocks/" + install='kdegames.install' + cd $srcdir/build/kblocks + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kblocks + make DESTDIR=$pkgdir install +} + +package_kdegames-kbounce() { + pkgdesc='Ball Bouncing Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kbounce/" + install='kdegames.install' + cd $srcdir/build/kbounce + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kbounce + make DESTDIR=$pkgdir install +} + +package_kdegames-kbreakout() { + pkgdesc='Breakout-like Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kbreakout/" + install='kdegames.install' + cd $srcdir/build/kbreakout + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kbreakout + make DESTDIR=$pkgdir install +} + +package_kdegames-kdiamond() { + pkgdesc='Three-in-a-row game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kdiamond/" + install='kdegames.install' + cd $srcdir/build/kdiamond + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kdiamond + make DESTDIR=$pkgdir install +} + +package_kdegames-kfourinline() { + pkgdesc='Four-in-a-row Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kfourinline/" + install='kdegames-kfourinline.install' + cd $srcdir/build/kfourinline + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kfourinline + make DESTDIR=$pkgdir install +} + +package_kdegames-kgoldrunner() { + pkgdesc='A game of action and puzzle-solving' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'openal') + url="http://kde.org/applications/games/kgoldrunner/" + install='kdegames.install' + cd $srcdir/build/kgoldrunner + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kgoldrunner + make DESTDIR=$pkgdir install +} + +package_kdegames-kigo() { + pkgdesc='Go Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'gnugo') + url="http://kde.org/applications/games/kigo/" + install='kdegames-kigo.install' + cd $srcdir/build/kigo + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kigo + make DESTDIR=$pkgdir install +} + +package_kdegames-killbots() { + pkgdesc='Killbots' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/killbots/" + install='kdegames.install' + cd $srcdir/build/killbots + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/killbots + make DESTDIR=$pkgdir install +} + +package_kdegames-kiriki() { + pkgdesc='Yahtzee-like Dice Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kiriki/" + install='kdegames.install' + cd $srcdir/build/kiriki + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kiriki + make DESTDIR=$pkgdir install +} + +package_kdegames-kjumpingcube() { + pkgdesc='Territory Capture Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kjumpingcube/" + install='kdegames.install' + cd $srcdir/build/kjumpingcube + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kjumpingcube + make DESTDIR=$pkgdir install +} + +package_kdegames-klickety() { + pkgdesc='Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + replaces=('kdegames-ksame') + conflicts=('kdegames-ksame') + url="http://kde.org/applications/games/ksame/" + install='kdegames.install' + cd $srcdir/build/klickety + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/klickety + make DESTDIR=$pkgdir install +} + +package_kdegames-klines() { + pkgdesc='Tactical Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/klines/" + install='kdegames.install' + cd $srcdir/build/klines + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/klines + make DESTDIR=$pkgdir install +} + +package_kdegames-kmahjongg() { + pkgdesc='Mahjongg Solitaire' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'kdegames-libkmahjongg') + url="http://kde.org/applications/games/kmahjongg/" + install='kdegames.install' + cd $srcdir/build/kmahjongg + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kmahjongg + make DESTDIR=$pkgdir install +} + +package_kdegames-kmines() { + pkgdesc='Minesweeper-like Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kmines/" + install='kdegames.install' + cd $srcdir/build/kmines + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kmines + make DESTDIR=$pkgdir install +} + +package_kdegames-knetwalk() { + pkgdesc='Network Construction Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/knetwalk/" + install='kdegames.install' + cd $srcdir/build/knetwalk + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/knetwalk + make DESTDIR=$pkgdir install +} + +package_kdegames-kolf() { + pkgdesc='Miniature Golf' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kolf/" + install='kdegames-kolf.install' + cd $srcdir/build/kolf + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kolf + make DESTDIR=$pkgdir install +} + +package_kdegames-kollision() { + pkgdesc='A simple ball dodging game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kollision/" + install='kdegames.install' + cd $srcdir/build/kollision + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kollision + make DESTDIR=$pkgdir install +} + +package_kdegames-konquest() { + pkgdesc='Galactic Strategy Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/konquest/" + install='kdegames.install' + cd $srcdir/build/konquest + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/konquest + make DESTDIR=$pkgdir install +} + +package_kdegames-kpatience() { + pkgdesc='Patience Card Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kpatience/" + install='kdegames-kpatience.install' + replaces=('kdegames-kpat') + cd $srcdir/build/kpat + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kpat + make DESTDIR=$pkgdir install +} + +package_kdegames-kreversi() { + pkgdesc='Reversi Board Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kreversi/" + install='kdegames.install' + cd $srcdir/build/kreversi + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kreversi + make DESTDIR=$pkgdir install +} + +package_kdegames-kshisen() { + pkgdesc='Shisen-Sho Mahjongg-like Tile Game' + depends=('kdebase-runtime' 'kdegames-libkdegames' 'kdegames-libkmahjongg') + url="http://kde.org/applications/games/kshisen/" + install='kdegames.install' + cd $srcdir/build/kshisen + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kshisen + make DESTDIR=$pkgdir install +} + +package_kdegames-ksirk() { + pkgdesc='World Domination Strategy Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ksirk/" + install='kdegames.install' + cd $srcdir/build/ksirk + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ksirk + make DESTDIR=$pkgdir install +} + +package_kdegames-kspaceduel() { + pkgdesc='Space Arcade Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kspaceduel/" + install='kdegames-kspaceduel.install' + cd $srcdir/build/kspaceduel + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kspaceduel + make DESTDIR=$pkgdir install +} + +package_kdegames-ksquares() { + pkgdesc='Connect the dots to create squares' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ksquares/" + install='kdegames.install' + cd $srcdir/build/ksquares + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ksquares + make DESTDIR=$pkgdir install +} + +package_kdegames-ksudoku() { + pkgdesc='KSudoku, Sudoku game & more for KDE' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ksudoku/" + install='kdegames.install' + cd $srcdir/build/ksudoku + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ksudoku + make DESTDIR=$pkgdir install +} + +package_kdegames-ktron() { + pkgdesc='Tron-like Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ktron/" + install='kdegames.install' + cd $srcdir/build/ktron + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ktron + make DESTDIR=$pkgdir install +} + +package_kdegames-ktuberling() { + pkgdesc='Picture Game for Children' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/ktuberling/" + install='kdegames-ktuberling.install' + cd $srcdir/build/ktuberling + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/ktuberling + make DESTDIR=$pkgdir install +} + +package_kdegames-kubrick() { + pkgdesc='A 3-D game based on Rubik´s Cube' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/kubrick/" + install='kdegames.install' + cd $srcdir/build/kubrick + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kubrick + make DESTDIR=$pkgdir install +} + +package_kdegames-libkdegames() { + pkgdesc='KDE game library' + groups=() + depends=('kdelibs' 'openal') + cd $srcdir/build/libkdegames + make DESTDIR=$pkgdir install + for i in $srcdir/${pkgbase}-${pkgver}/cmake/modules/*.cmake; do + install -D -m644 $i $pkgdir/usr/share/apps/cmake/modules/$(basename $i) + done +} + +package_kdegames-libkmahjongg() { + pkgdesc='Library used for loading and rendering of Mahjongg tilesets' + groups=() + depends=('kdelibs') + cd $srcdir/build/libkmahjongg + make DESTDIR=$pkgdir install +} + +package_kdegames-lskat() { + pkgdesc='Card Game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/lskat/" + install='kdegames-lskat.install' + cd $srcdir/build/lskat + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/lskat + make DESTDIR=$pkgdir install +} + +package_kdegames-palapeli() { + pkgdesc='Jigsaw puzzle game' + depends=('kdebase-runtime' 'kdegames-libkdegames') + url="http://kde.org/applications/games/palapeli/" + install='kdegames-palapeli.install' + cd $srcdir/build/palapeli + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/palapeli + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdegames/kdegames-kbattleship.install b/kde-unstable/kdegames/kdegames-kbattleship.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kbattleship.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegames/kdegames-kfourinline.install b/kde-unstable/kdegames/kdegames-kfourinline.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kfourinline.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegames/kdegames-kigo.install b/kde-unstable/kdegames/kdegames-kigo.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kigo.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegames/kdegames-kolf.install b/kde-unstable/kdegames/kdegames-kolf.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kolf.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegames/kdegames-kpatience.install b/kde-unstable/kdegames/kdegames-kpatience.install new file mode 100644 index 000000000..3af34a012 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kpatience.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames-kspaceduel.install b/kde-unstable/kdegames/kdegames-kspaceduel.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-kspaceduel.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegames/kdegames-ktuberling.install b/kde-unstable/kdegames/kdegames-ktuberling.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-ktuberling.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegames/kdegames-lskat.install b/kde-unstable/kdegames/kdegames-lskat.install new file mode 100644 index 000000000..9b20edb30 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-lskat.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegames/kdegames-palapeli.install b/kde-unstable/kdegames/kdegames-palapeli.install new file mode 100644 index 000000000..c77e68041 --- /dev/null +++ b/kde-unstable/kdegames/kdegames-palapeli.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegames/kdegames.install b/kde-unstable/kdegames/kdegames.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdegames/kdegames.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-gwenview/PKGBUILD b/kde-unstable/kdegraphics-gwenview/PKGBUILD new file mode 100644 index 000000000..023c7183e --- /dev/null +++ b/kde-unstable/kdegraphics-gwenview/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 160136 2012-05-29 22:55:47Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-gwenview +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A fast and easy to use image viewer for KDE" +url="http://kde.org/applications/graphics/gwenview/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-lib' 'libkipi') +makedepends=('cmake' 'automoc4') +optdepends=('kipi-plugins: extra plugins to share photos') +install=$pkgname.install +source=("http://download.kde.org/unstable/${pkgver}/src/gwenview-${pkgver}.tar.xz") +sha1sums=('aaebf6f6772cda045b8f322e4bd2fabb8253e3e7') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../gwenview-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install b/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegraphics-kamera/PKGBUILD b/kde-unstable/kdegraphics-kamera/PKGBUILD new file mode 100644 index 000000000..ea75e6e63 --- /dev/null +++ b/kde-unstable/kdegraphics-kamera/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 160137 2012-05-29 22:56:20Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-kamera +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Configure Kamera" +url="http://kde.org/applications/graphics/kamera/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime' 'gphoto2') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/kamera-${pkgver}.tar.xz") +sha1sums=('4b9da61bee650aefe85e46183dd720fcf89e5240') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kamera-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD b/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD new file mode 100644 index 000000000..7511b88f9 --- /dev/null +++ b/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160138 2012-05-29 22:56:44Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-kcolorchooser +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Color Chooser" +url="http://kde.org/applications/graphics/kcolorchooser/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kcolorchooser-${pkgver}.tar.xz") +sha1sums=('dd76ff7e8a906dd2010aff6ba674dfe9494ffc21') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kcolorchooser-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install b/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-kgamma/PKGBUILD b/kde-unstable/kdegraphics-kgamma/PKGBUILD new file mode 100644 index 000000000..4104c6674 --- /dev/null +++ b/kde-unstable/kdegraphics-kgamma/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 160139 2012-05-29 22:57:16Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-kgamma +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A monitor calibration tool" +url="http://kde.org/applications/graphics/kgamma/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +# note on libxxf86vm: +# not detected by namcap because libgl depends on it +# but nvidia providing libgl does not depend on libxxf86vm +depends=('kdebase-runtime' 'libxxf86vm') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/kgamma-${pkgver}.tar.xz") +sha1sums=('65abd0f994448a9a92048145af3e4b5121be59ed') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kgamma-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kolourpaint/PKGBUILD b/kde-unstable/kdegraphics-kolourpaint/PKGBUILD new file mode 100644 index 000000000..8ed7fb0a0 --- /dev/null +++ b/kde-unstable/kdegraphics-kolourpaint/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160140 2012-05-29 22:57:38Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-kolourpaint +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Paint Program" +url="http://kde.org/applications/graphics/kolourpaint/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime' 'qimageblitz') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kolourpaint-${pkgver}.tar.xz") +sha1sums=('d755e72558fd333697028fdc14bcb8a1db7f8256') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kolourpaint-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install b/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegraphics-kruler/PKGBUILD b/kde-unstable/kdegraphics-kruler/PKGBUILD new file mode 100644 index 000000000..037b4913a --- /dev/null +++ b/kde-unstable/kdegraphics-kruler/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160141 2012-05-29 22:58:03Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-kruler +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Screen Ruler" +url="http://kde.org/applications/graphics/kruler/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/kruler-${pkgver}.tar.xz") +sha1sums=('ccaa5c48bd2a64f9d428729edb6b6dbdbbface3a') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kruler-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install b/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD b/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD new file mode 100644 index 000000000..21e8f51c7 --- /dev/null +++ b/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160142 2012-05-29 22:58:29Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-ksaneplugin +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A scan plugin that implements the scanning" +url="https://projects.kde.org/projects/kde/kdegraphics/ksaneplugin" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('libksane') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/ksaneplugin-${pkgver}.tar.xz") +sha1sums=('9327ce8c88ec2b425717538f9dc3a0ce4fc0c50c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ksaneplugin-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-ksnapshot/PKGBUILD b/kde-unstable/kdegraphics-ksnapshot/PKGBUILD new file mode 100644 index 000000000..6c9dc11c3 --- /dev/null +++ b/kde-unstable/kdegraphics-ksnapshot/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 160143 2012-05-29 22:58:52Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-ksnapshot +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Screen Capture Program" +url="http://kde.org/applications/graphics/ksnapshot/" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdelibs' 'libkipi') +makedepends=('cmake' 'automoc4') +optdepends=('kipi-plugins') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/ksnapshot-${pkgver}.tar.xz") +sha1sums=('8b19cf73a9a0ad34de612167bf7be6a47babfe8d') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ksnapshot-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install b/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegraphics-mobipocket/PKGBUILD b/kde-unstable/kdegraphics-mobipocket/PKGBUILD new file mode 100644 index 000000000..0efa8ae2a --- /dev/null +++ b/kde-unstable/kdegraphics-mobipocket/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 160144 2012-05-29 22:59:17Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-mobipocket +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A collection of plugins to handle mobipocket files" +url="https://projects.kde.org/projects/kde/kdegraphics/kdegraphics-mobipocket" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4' 'kdegraphics-okular') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") +sha1sums=('38772a3e115d27945727c2d5d0c6b0e5ba055ac0') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-mobipocket/kdegraphics-mobipocket.install b/kde-unstable/kdegraphics-mobipocket/kdegraphics-mobipocket.install new file mode 100644 index 000000000..660593cf5 --- /dev/null +++ b/kde-unstable/kdegraphics-mobipocket/kdegraphics-mobipocket.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdegraphics-okular/PKGBUILD b/kde-unstable/kdegraphics-okular/PKGBUILD new file mode 100644 index 000000000..35d1f3293 --- /dev/null +++ b/kde-unstable/kdegraphics-okular/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 160086 2012-05-29 22:23:12Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-okular +pkgver=4.8.80 +pkgrel=1 +pkgdesc='Document Viewer' +arch=('i686' 'x86_64') +url="http://kde.org/applications/graphics/okular/" +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdegraphics') +depends=('kdebase-runtime' 'qimageblitz' 'poppler-qt' 'chmlib' 'djvulibre' + 'ebook-tools' 'libspectre') +makedepends=('cmake' 'automoc4') +optdepends=('kdegraphics-mobipocket: mobipocket support') +install=${pkgname}.install +source=("http://download.kde.org/unstable/${pkgver}/src/okular-${pkgver}.tar.xz") +sha1sums=('01f5bccc92a12847d975ff39f5ae0861fbcefe7c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../okular-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-okular/kdegraphics-okular.install b/kde-unstable/kdegraphics-okular/kdegraphics-okular.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdegraphics-okular/kdegraphics-okular.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD b/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD new file mode 100644 index 000000000..616426eaa --- /dev/null +++ b/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160146 2012-05-29 22:59:43Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-strigi-analyzer +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Strigi analyzers for various graphics file formats" +url="https://projects.kde.org/projects/kde/kdegraphics/kdegraphics-strigi-analyzer" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") +sha1sums=('82afc822ac42d8128f6181c24a84ef8734ec67e8') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-svgpart/PKGBUILD b/kde-unstable/kdegraphics-svgpart/PKGBUILD new file mode 100644 index 000000000..91e5f74ba --- /dev/null +++ b/kde-unstable/kdegraphics-svgpart/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160148 2012-05-29 23:00:09Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-svgpart +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A KPart for viewving SVGs" +url="https://projects.kde.org/projects/kde/kdegraphics/svgpart" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/svgpart-${pkgver}.tar.xz") +sha1sums=('812a5b8972137d3edb9cd0c922f4e5630374500f') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../svgpart-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdegraphics-thumbnailers/PKGBUILD b/kde-unstable/kdegraphics-thumbnailers/PKGBUILD new file mode 100644 index 000000000..fec3c1c29 --- /dev/null +++ b/kde-unstable/kdegraphics-thumbnailers/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160149 2012-05-29 23:00:36Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdegraphics-thumbnailers +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Thumbnailers for various graphics file formats" +url="https://projects.kde.org/projects/kde/kdegraphics/kdegraphics-thumbnailers" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('libkexiv2' 'libkdcraw') +makedepends=('cmake' 'automoc4') +replaces=('kdegraphics-libs') +conflicts=('kdegraphics-libs') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") +sha1sums=('fcaa45c94ff6809722548449deb96149b7e35ba1') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD b/kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD new file mode 100644 index 000000000..0be5b4124 --- /dev/null +++ b/kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 160150 2012-05-29 23:01:01Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdemultimedia-audiocd-kio +pkgver=4.8.80 +pkgrel=1 +pkgdesc="Kioslave for accessing audio CDs" +url='https://projects.kde.org/projects/kde/kdemultimedia/audiocd-kio' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('libkcddb' 'libkcompactdisc' 'lame') +makedepends=('cmake' 'automoc4') +groups=('kdemultimedia') +replaces=('kdemultimedia-kioslave') +conflicts=('kdemultimedia-kioslave') +source=("http://download.kde.org/unstable/${pkgver}/src/audiocd-kio-${pkgver}.tar.xz") +sha1sums=('eb4d8c065a77c43eb4492c75085ddf9a1be0d1c8') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../audiocd-kio-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdemultimedia-dragonplayer/PKGBUILD b/kde-unstable/kdemultimedia-dragonplayer/PKGBUILD new file mode 100644 index 000000000..2cb1481f2 --- /dev/null +++ b/kde-unstable/kdemultimedia-dragonplayer/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160151 2012-05-29 23:01:24Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdemultimedia-dragonplayer +pkgver=4.8.80 +pkgrel=1 +pkgdesc="A multimedia player where the focus is on simplicity, instead of +features" +url='http://kde.org/applications/multimedia/dragonplayer/' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install="${pkgname}.install" +source=("http://download.kde.org/unstable/${pkgver}/src/dragon-${pkgver}.tar.xz") +sha1sums=('2bf02ca31e2dac65bc621a89e09cc8e5885593d8') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../dragon-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdemultimedia-dragonplayer/kdemultimedia-dragonplayer.install b/kde-unstable/kdemultimedia-dragonplayer/kdemultimedia-dragonplayer.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdemultimedia-dragonplayer/kdemultimedia-dragonplayer.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD b/kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD new file mode 100644 index 000000000..de2684a8b --- /dev/null +++ b/kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 160152 2012-05-29 23:01:50Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdemultimedia-ffmpegthumbs +pkgver=4.8.80 +pkgrel=1 +pkgdesc='FFmpeg-based thumbnail creator for video files' +url='https://projects.kde.org/projects/kde/kdemultimedia/ffmpegthumbs' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdelibs' 'ffmpeg') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/ffmpegthumbs-${pkgver}.tar.xz") +sha1sums=('092060cc8ab89612a5fd1955f2d9c39521c67daa') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ffmpegthumbs-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdemultimedia-juk/PKGBUILD b/kde-unstable/kdemultimedia-juk/PKGBUILD new file mode 100644 index 000000000..78a75b39a --- /dev/null +++ b/kde-unstable/kdemultimedia-juk/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160153 2012-05-29 23:02:12Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdemultimedia-juk +pkgver=4.8.80 +pkgrel=1 +pkgdesc='A jukebox, tagger and music collection manager' +url='http://kde.org/applications/multimedia/juk/' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime' 'taglib') +makedepends=('cmake' 'automoc4') +install="${pkgname}.install" +source=("http://download.kde.org/unstable/${pkgver}/src/juk-${pkgver}.tar.xz") +sha1sums=('07cf74206540294e4a942482708182e4d2578b37') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../juk-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_TunePimp=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdemultimedia-juk/kdemultimedia-juk.install b/kde-unstable/kdemultimedia-juk/kdemultimedia-juk.install new file mode 100644 index 000000000..c0797237a --- /dev/null +++ b/kde-unstable/kdemultimedia-juk/kdemultimedia-juk.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdemultimedia-kmix/PKGBUILD b/kde-unstable/kdemultimedia-kmix/PKGBUILD new file mode 100644 index 000000000..88336c1c7 --- /dev/null +++ b/kde-unstable/kdemultimedia-kmix/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 160154 2012-05-29 23:02:35Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdemultimedia-kmix +pkgver=4.8.80 +pkgrel=1 +pkgdesc="KDE volume control program" +url='http://kde.org/applications/multimedia/kmix/' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime') +makedepends=('cmake' 'automoc4') +install="${pkgname}.install" +source=("http://download.kde.org/unstable/${pkgver}/src/kmix-${pkgver}.tar.xz") +sha1sums=('e6e7ffc05b800d17b8b32600410a6ecbce773f8c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kmix-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdemultimedia-kmix/kdemultimedia-kmix.install b/kde-unstable/kdemultimedia-kmix/kdemultimedia-kmix.install new file mode 100644 index 000000000..c0797237a --- /dev/null +++ b/kde-unstable/kdemultimedia-kmix/kdemultimedia-kmix.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdemultimedia-kscd/PKGBUILD b/kde-unstable/kdemultimedia-kscd/PKGBUILD new file mode 100644 index 000000000..5a759b1f0 --- /dev/null +++ b/kde-unstable/kdemultimedia-kscd/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 160155 2012-05-29 23:02:58Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdemultimedia-kscd +pkgver=4.8.80 +pkgrel=1 +pkgdesc="KDE CD player" +url='http://kde.org/applications/multimedia/kscd/' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime' 'libkcddb' 'libkcompactdisc' 'libmusicbrainz3') +makedepends=('cmake' 'automoc4') +install="${pkgname}.install" +source=("http://download.kde.org/unstable/${pkgver}/src/kscd-${pkgver}.tar.xz") +sha1sums=('2352ef7a8b85ce6a4610563b2be0a37c0c1dfe41') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../kscd-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdemultimedia-kscd/kdemultimedia-kscd.install b/kde-unstable/kdemultimedia-kscd/kdemultimedia-kscd.install new file mode 100644 index 000000000..c0797237a --- /dev/null +++ b/kde-unstable/kdemultimedia-kscd/kdemultimedia-kscd.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD b/kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD new file mode 100644 index 000000000..32fed8740 --- /dev/null +++ b/kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 160156 2012-05-29 23:03:24Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=kdemultimedia-mplayerthumbs +pkgver=4.8.80 +pkgrel=1 +pkgdesc="MPlayer based thumbnail generator for video files" +url='https://projects.kde.org/projects/kde/kdemultimedia/mplayerthumbs' +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime' 'mplayer') +makedepends=('cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/mplayerthumbs-${pkgver}.tar.xz") +sha1sums=('44f530ac94b1b5b4051579e407dd6a98636be1eb') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../mplayerthumbs-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdenetwork/PKGBUILD b/kde-unstable/kdenetwork/PKGBUILD new file mode 100644 index 000000000..53d94acb4 --- /dev/null +++ b/kde-unstable/kdenetwork/PKGBUILD @@ -0,0 +1,113 @@ +# $Id: PKGBUILD 160157 2012-05-29 23:04:03Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgbase=kdenetwork +pkgname=('kdenetwork-filesharing' + 'kdenetwork-kdnssd' + 'kdenetwork-kget' + 'kdenetwork-kopete' + 'kdenetwork-kppp' + 'kdenetwork-krdc' + 'kdenetwork-krfb') +pkgver=4.8.80 +pkgrel=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' + 'v4l-utils' 'libidn' 'qimageblitz' 'libxdamage' 'libgadu' 'libmsn' + 'libktorrent' 'libmms' 'mediastreamer' 'telepathy-qt') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") +sha1sums=('66a50bb88660c85fb6a94c3411b9387f8c885544') + +build() { + cd "${srcdir}" + 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-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() { + pkgdesc='Instant Messenger' + depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn' + 'libidn' 'qimageblitz' 'libgadu' 'mediastreamer') + 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' 'telepathy-qt') + optdepends=('libvncserver: VNC support' + 'rdesktop: RDP support' + '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' 'telepathy-qt') + cd $srcdir/build/krfb + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/krfb + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdenetwork/kdenetwork-kget.install b/kde-unstable/kdenetwork/kdenetwork-kget.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdenetwork/kdenetwork-kget.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdenetwork/kdenetwork-kopete.install b/kde-unstable/kdenetwork/kdenetwork-kopete.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdenetwork/kdenetwork-kopete.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdenetwork/kdenetwork-kppp.install b/kde-unstable/kdenetwork/kdenetwork-kppp.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/kde-unstable/kdenetwork/kdenetwork-kppp.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdenetwork/kdenetwork.install b/kde-unstable/kdenetwork/kdenetwork.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdenetwork/kdenetwork.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdepim-runtime/PKGBUILD b/kde-unstable/kdepim-runtime/PKGBUILD new file mode 100644 index 000000000..5734ab542 --- /dev/null +++ b/kde-unstable/kdepim-runtime/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160083 2012-05-29 22:21:42Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgname=kdepim-runtime +pkgver=4.8.80 +pkgrel=1 +pkgdesc='Extends the functionality of kdepim' +arch=('i686' 'x86_64') +url='https://projects.kde.org/projects/kde/kdepim-runtime' +license=('GPL' 'LGPL' 'FDL') +depends=('kdebase-runtime' 'libkgoogle') +makedepends=('cmake' 'automoc4' 'boost') +install="${pkgname}.install" +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") +sha1sums=('1c9b97f2e562edeebda926b16f8b97a257b000d0') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdepim-runtime/kdepim-runtime.install b/kde-unstable/kdepim-runtime/kdepim-runtime.install new file mode 100644 index 000000000..c77e68041 --- /dev/null +++ b/kde-unstable/kdepim-runtime/kdepim-runtime.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdepim/PKGBUILD b/kde-unstable/kdepim/PKGBUILD new file mode 100644 index 000000000..bb01a34be --- /dev/null +++ b/kde-unstable/kdepim/PKGBUILD @@ -0,0 +1,244 @@ +# $Id: PKGBUILD 160158 2012-05-29 23:05:07Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgbase=kdepim +pkgname=('kdepim-akonadiconsole' + 'kdepim-akregator' + 'kdepim-blogilo' + 'kdepim-console' + 'kdepim-kaddressbook' + 'kdepim-kalarm' + 'kdepim-kjots' + 'kdepim-kleopatra' + 'kdepim-kmail' + 'kdepim-knode' + 'kdepim-knotes' + 'kdepim-kontact' + 'kdepim-korganizer' + 'kdepim-kresources' + 'kdepim-ktimetracker' + 'kdepim-libkdepim') +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://pim.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdepim') +makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss' 'pilot-link' + 'kde-agent') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") +sha1sums=('c563279f8ae207ee3a4aa01534f38bfadee92cff') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DKDEPIM_BUILD_MOBILE=OFF + make +} + +package_kdepim-akonadiconsole() { + pkgdesc='Akonadi Management and Debugging Console' + depends=('kdepim-libkdepim') + url='http://pim.kde.org' + install='kdepim.install' + cd "${srcdir}"/build/akonadiconsole + make DESTDIR="${pkgdir}" install +} + +package_kdepim-akregator() { + pkgdesc='A Feed Reader for KDE' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/internet/akregator/" + install='kdepim.install' + cd "${srcdir}"/build/akregator + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/akregator + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/akregator + make DESTDIR="${pkgdir}" install +} + +package_kdepim-blogilo() { + pkgdesc='A KDE Blogging Client' + depends=('kdepim-runtime') + url="http://kde.org/applications/internet/blogilo/" + replaces=('blogilo') + conflicts=('blogilo') + install='kdepim.install' + cd "${srcdir}"/build/blogilo + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/blogilo + make DESTDIR="${pkgdir}" install +} + +package_kdepim-console() { + pkgdesc='Command line tool for accessing calendar files' + depends=('kdepim-runtime') + url='http://pim.kde.org' + install='kdepim.install' + cd "${srcdir}"/build/console + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kaddressbook() { + pkgdesc='Contact Manager' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/office/kaddressbook/" + install='kdepim.install' + cd "${srcdir}"/build/kaddressbook + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/kaddressbook + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/plugins/kaddressbook + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kalarm() { + pkgdesc='Personal Alarm Scheduler' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/utilities/kalarm/" + install='kdepim.install' + cd "${srcdir}"/build/kalarm + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kalarm + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kjots() { + pkgdesc='Note Taker' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/utilities/kjots/" + install='kdepim.install' + cd "${srcdir}"/build/kjots + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kjots + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/kjots + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kleopatra() { + pkgdesc='Certificate Manager and Unified Crypto GUI' + depends=('kdepim-libkdepim') + install=kdepim-kleopatra.install + url="http://kde.org/applications/utilities/kleopatra/" + cd "${srcdir}"/build/kleopatra + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kleopatra + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kmail() { + pkgdesc='Mail Client' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/internet/kmail/" + install='kdepim-kmail.install' + conflicts=('kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve' + 'kdepim-mimelib' 'kdepim-plugins') + replaces=('kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve' + 'kdepim-mimelib' 'kdepim-plugins') + for i in kmail doc/kmail kmailcvt ksendemail libksieve mailcommon \ + mailfilteragent ontologies kontact/plugins/kmail; do + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install + done +} + +package_kdepim-knode() { + pkgdesc='News Reader' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/internet/knode/" + install='kdepim.install' + cd "${srcdir}"/build/knode + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/knode + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/knode + make DESTDIR="${pkgdir}" install +} + +package_kdepim-knotes() { + pkgdesc='Popup Notes' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/utilities/knotes/" + install='kdepim.install' + cd "${srcdir}"/build/knotes + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/knotes + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/knotes + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kontact() { + pkgdesc='Personal Information Manager' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/office/kontact/" + install='kdepim.install' + conflcits=('kdepim-kontactinterfaces') + replaces=('kdepim-kontactinterfaces') + for i in kontact/src doc/kontact \ + kontact/plugins/summary kontact/plugins/specialdates; do + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install + done +} + +package_kdepim-korganizer() { + pkgdesc='Calendar and Scheduling Program' + depends=('kdepim-libkdepim') + url="http://kde.org/applications/office/korganizer" + install='kdepim-korganizer.install' + cd "${srcdir}"/build/korganizer + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/korganizer + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/korganizer + make DESTDIR="${pkgdir}" install +} + +package_kdepim-kresources() { + pkgdesc='KDE PIM resources' + depends=('kdepim-libkdepim') + url='http://pim.kde.org' + cd "${srcdir}"/build/kresources + make DESTDIR="${pkgdir}" install +} + +package_kdepim-ktimetracker() { + pkgdesc='Personal Time Tracker' + depends=('kdepim-kresources') + url="http://kde.org/applications/utilities/ktimetracker/" + install='kdepim.install' + cd "${srcdir}"/build/ktimetracker + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/ktimetracker + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/ktimetracker + make DESTDIR="${pkgdir}" install +} + +package_kdepim-libkdepim() { + pkgdesc='Library for KDE PIM' + groups=() + depends=('kde-agent' 'kdepim-runtime') + url='http://pim.kde.org' + conflicts=('kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp' + 'kdepim-strigi-analyzer' 'kdepim-akonadi') + replaces=('kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp' + 'kdepim-strigi-analyzer' 'kdepim-akonadi') + for i in akonadi_next calendarsupport calendarviews incidenceeditor-ng \ + kdgantt2 libkdepim libkdepimdbusinterfaces libkleo libkpgp \ + messagecomposer messagecore messagelist messageviewer icons \ + strigi-analyzer templateparser plugins/messageviewer \ + plugins/ktexteditor; do + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install + done +} diff --git a/kde-unstable/kdepim/kdepim-kleopatra.install b/kde-unstable/kdepim/kdepim-kleopatra.install new file mode 100644 index 000000000..5787df72f --- /dev/null +++ b/kde-unstable/kdepim/kdepim-kleopatra.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdepim/kdepim-kmail.install b/kde-unstable/kdepim/kdepim-kmail.install new file mode 100644 index 000000000..5787df72f --- /dev/null +++ b/kde-unstable/kdepim/kdepim-kmail.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdepim/kdepim-korganizer.install b/kde-unstable/kdepim/kdepim-korganizer.install new file mode 100644 index 000000000..5787df72f --- /dev/null +++ b/kde-unstable/kdepim/kdepim-korganizer.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdepim/kdepim.install b/kde-unstable/kdepim/kdepim.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdepim/kdepim.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdepimlibs/PKGBUILD b/kde-unstable/kdepimlibs/PKGBUILD new file mode 100644 index 000000000..e82ec55d3 --- /dev/null +++ b/kde-unstable/kdepimlibs/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 160077 2012-05-29 22:07:02Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgname=kdepimlibs +pkgver=4.8.80 +pkgrel=1 +pkgdesc="KDE PIM Libraries" +arch=('i686' 'x86_64') +url='https://projects.kde.org/projects/kde/kdepimlibs' +license=('GPL' 'LGPL') +depends=('kdelibs' 'gpgme' 'akonadi' 'libical' 'prison') +makedepends=('cmake' 'automoc4' 'boost' 'cyrus-sasl') +install='kdepimlibs.install' +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") +sha1sums=('ae808daa00e5d8a5fa3f62777e311391d2412c7c') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdepimlibs/kdepimlibs.install b/kde-unstable/kdepimlibs/kdepimlibs.install new file mode 100644 index 000000000..99262607c --- /dev/null +++ b/kde-unstable/kdepimlibs/kdepimlibs.install @@ -0,0 +1,11 @@ +post_install() { + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} \ No newline at end of file diff --git a/kde-unstable/kdeplasma-addons/PKGBUILD b/kde-unstable/kdeplasma-addons/PKGBUILD new file mode 100644 index 000000000..be384b5f3 --- /dev/null +++ b/kde-unstable/kdeplasma-addons/PKGBUILD @@ -0,0 +1,619 @@ +# $Id: PKGBUILD 160159 2012-05-29 23:06:08Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgbase=kdeplasma-addons +pkgname=('kdeplasma-addons-applets-bball' + 'kdeplasma-addons-applets-binary-clock' + 'kdeplasma-addons-applets-blackboard' + 'kdeplasma-addons-applets-bookmarks' + 'kdeplasma-addons-applets-bubblemon' + 'kdeplasma-addons-applets-calculator' + 'kdeplasma-addons-applets-charselect' + 'kdeplasma-addons-applets-comic' + 'kdeplasma-addons-applets-community' + 'kdeplasma-addons-applets-dict' + 'kdeplasma-addons-applets-eyes' + 'kdeplasma-addons-applets-fifteenpuzzle' + 'kdeplasma-addons-applets-filewatcher' + 'kdeplasma-addons-applets-frame' + 'kdeplasma-addons-applets-fuzzy-clock' + 'kdeplasma-addons-applets-icontasks' + 'kdeplasma-addons-applets-incomingmsg' + 'kdeplasma-addons-applets-kdeobservatory' + 'kdeplasma-addons-applets-kimpanel' + 'kdeplasma-addons-applets-knowledgebase' + 'kdeplasma-addons-applets-kolourpicker' + 'kdeplasma-addons-applets-konqprofiles' + 'kdeplasma-addons-applets-konsoleprofiles' + 'kdeplasma-addons-applets-lancelot' + 'kdeplasma-addons-applets-leavenote' + 'kdeplasma-addons-applets-life' + 'kdeplasma-addons-applets-luna' + 'kdeplasma-addons-applets-magnifique' + 'kdeplasma-addons-applets-mediaplayer' + 'kdeplasma-addons-applets-microblog' + 'kdeplasma-addons-applets-news' + 'kdeplasma-addons-applets-notes' + 'kdeplasma-addons-applets-nowplaying' + 'kdeplasma-addons-applets-paste' + 'kdeplasma-addons-applets-pastebin' + 'kdeplasma-addons-applets-plasmaboard' + 'kdeplasma-addons-applets-previewer' + 'kdeplasma-addons-applets-qalculate' + 'kdeplasma-addons-applets-rememberthemilk' + 'kdeplasma-addons-applets-rssnow' + 'kdeplasma-addons-applets-showdashboard' + 'kdeplasma-addons-applets-showdesktop' + 'kdeplasma-addons-applets-social-news' + 'kdeplasma-addons-applets-spellcheck' + 'kdeplasma-addons-applets-systemloadviewer' + 'kdeplasma-addons-applets-timer' + 'kdeplasma-addons-applets-unitconverter' + 'kdeplasma-addons-applets-weather' + 'kdeplasma-addons-applets-weatherstation' + 'kdeplasma-addons-applets-webslice' + 'kdeplasma-addons-containments' + 'kdeplasma-addons-libs' + 'kdeplasma-addons-runners-audioplayercontrol' + 'kdeplasma-addons-runners-browserhistory' + 'kdeplasma-addons-runners-characters' + 'kdeplasma-addons-runners-contacts' + 'kdeplasma-addons-runners-converter' + 'kdeplasma-addons-runners-datetime' + 'kdeplasma-addons-runners-events' + 'kdeplasma-addons-runners-katesessions' + 'kdeplasma-addons-runners-konquerorsessions' + 'kdeplasma-addons-runners-konsolesessions' + 'kdeplasma-addons-runners-kopete' + 'kdeplasma-addons-runners-mediawiki' + 'kdeplasma-addons-runners-spellchecker' + 'kdeplasma-addons-wallpapers-mandelbrot' + 'kdeplasma-addons-wallpapers-marble' + 'kdeplasma-addons-wallpapers-pattern' + 'kdeplasma-addons-wallpapers-potd' + 'kdeplasma-addons-wallpapers-virus' + 'kdeplasma-addons-wallpapers-weather') +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL') +groups=('kde' 'kdeplasma-addons') +makedepends=('cmake' 'automoc4' 'kdebase-workspace' 'kdeedu-marble' 'eigen' + 'scim' 'qwt' 'boost' 'libkexiv2' 'ibus' 'qoauth') +source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") +sha1sums=('f29306ffbae3fab7eb4f3bd0a0e9a3cb6be88036') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdeplasma-addons-applets-bball() { + pkgdesc='A bouncy ball for plasma' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/bball + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-binary-clock() { + pkgdesc='Time displayed in binary format' + depends=('kdebase-workspace') + cd $srcdir/build/applets/binary-clock + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-blackboard() { + pkgdesc='Black Board' + depends=('kdebase-workspace') + cd $srcdir/build/applets/blackboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-bookmarks() { + pkgdesc='Quick Access to the Bookmarks' + depends=('kdebase-workspace') + cd $srcdir/build/applets/bookmarks + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-bubblemon() { + pkgdesc='A pretty bubble that monitors your system.' + depends=('kdebase-workspace') + cd $srcdir/build/applets/bubblemon + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-calculator() { + pkgdesc='Calculate simple sums' + depends=('kdebase-workspace') + cd $srcdir/build/applets/calculator + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-charselect() { + pkgdesc='View, select, and copy characters from a font collection' + depends=('kdebase-workspace') + cd $srcdir/build/applets/charselect + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-comic() { + pkgdesc='View comic strips from the Internet' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/comic + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-community() { + pkgdesc='Communicate using the Social Desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/community + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-dict() { + pkgdesc='Look up the meaning of words and their translation into different languages' + depends=('kdebase-workspace') + cd $srcdir/build/applets/dict + make DESTDIR=$pkgdir install + # FIXME + # /usr/share/icons/oxygen/scalable/apps/accessories-dictionary.svgz + rm -rf $pkgdir/usr/share/icons +} + +package_kdeplasma-addons-applets-eyes() { + pkgdesc='XEyes clone' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/eyes + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-fifteenpuzzle() { + pkgdesc='Put the pieces in order' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/fifteenPuzzle + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-filewatcher() { + pkgdesc='Watch for changes in specified files' + depends=('kdebase-workspace') + cd $srcdir/build/applets/fileWatcher + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-frame() { + pkgdesc='Display your favorite pictures' + depends=('kdebase-workspace' 'libkexiv2') + cd $srcdir/build/applets/frame + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-fuzzy-clock() { + pkgdesc='Time displayed in a less precise format' + depends=('kdebase-workspace') + cd $srcdir/build/applets/fuzzy-clock + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-icontasks() { + pkgdesc='Switch between running applications' + depends=('kdebase-workspace') + cd $srcdir/build/applets/icontasks + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-incomingmsg() { + pkgdesc='Notification of new messages' + depends=('kdebase-workspace') + cd $srcdir/build/applets/incomingmsg + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kdeobservatory() { + pkgdesc='Visualize the KDE ecosystem' + depends=('kdebase-workspace' 'kdeplasma-addons-libs' 'qwt') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/kdeobservatory + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kimpanel() { + pkgdesc='A generic input method panel for Oriental languages' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + optdepends=('scim: SCIM backend' + 'fcitx: FCITX backend' + 'ibus: IBUS backend') + cd $srcdir/build/applets/kimpanel + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-knowledgebase() { + pkgdesc='Opendesktop Knowledgebase' + depends=('kdebase-workspace') + cd $srcdir/build/applets/knowledgebase + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-kolourpicker() { + pkgdesc='Pick a color from the desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/kolourpicker + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-konqprofiles() { + pkgdesc='List and launch Konqueror profiles' + depends=('kdebase-workspace') + cd $srcdir/build/applets/konqprofiles + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-konsoleprofiles() { + pkgdesc='List and launch Konsole profiles' + depends=('kdebase-workspace') + cd $srcdir/build/applets/konsoleprofiles + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-lancelot() { + pkgdesc='Launcher to start applications' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + replaces=('lancelot') + provides=('lancelot') + conflicts=('lancelot') + install='kdeplasma-addons-applets-lancelot.install' + cd $srcdir/build/applets/lancelot + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-leavenote() { + pkgdesc='Leave notes for users while they are away' + depends=('kdebase-workspace') + cd $srcdir/build/applets/leavenote + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-life() { + pkgdesc='Life' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/life + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-luna() { + pkgdesc='Display moon phases for your location' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/luna + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-magnifique() { + pkgdesc='A magnification glass for the Plasma desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/magnifique + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-mediaplayer() { + pkgdesc='Widget that can play video and sound' + depends=('kdebase-workspace') + cd $srcdir/build/applets/mediaplayer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-microblog() { + pkgdesc='Update and view your microblog status.' + depends=('kdebase-workspace' 'kdeplasma-addons-libs' 'qoauth' 'qca-ossl') + cd $srcdir/build/applets/microblog + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-news() { + pkgdesc='Show news from various sources' + depends=('kdebase-workspace') + cd $srcdir/build/applets/news + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-notes() { + pkgdesc='Desktop sticky notes' + depends=('kdebase-workspace') + cd $srcdir/build/applets/notes + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-nowplaying() { + pkgdesc='Displays currently playing audio' + depends=('kdebase-workspace') + cd $srcdir/build/applets/nowplaying + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-paste() { + pkgdesc='Paste text snippets' + depends=('kdebase-workspace') + cd $srcdir/build/applets/paste + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-pastebin() { + pkgdesc='Paste text/images to a remote server' + depends=('kdebase-workspace') + cd $srcdir/build/applets/pastebin + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-plasmaboard() { + pkgdesc='A virtual, on-screen keyboard' + depends=('kdebase-workspace') + cd $srcdir/build/applets/plasmaboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-previewer() { + pkgdesc='Preview This File' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/previewer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-qalculate() { + pkgdesc='A powerful mathematical equation solver' + depends=('kdebase-workspace') + install='kdeplasma-addons-applets.install' + cd $srcdir/build/applets/qalculate + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-rememberthemilk() { + pkgdesc='Remember The Milk Todo list applet' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/rememberthemilk + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-rssnow() { + pkgdesc='Show news from various sources' + depends=('kdebase-workspace') + cd $srcdir/build/applets/rssnow + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-showdashboard() { + pkgdesc='Show the Plasma widget dashboard above other windows' + depends=('kdebase-workspace') + cd $srcdir/build/applets/showdashboard + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-showdesktop() { + pkgdesc='Show the Plasma desktop' + depends=('kdebase-workspace') + cd $srcdir/build/applets/showdesktop + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-social-news() { + pkgdesc='Stay informed with the Social Desktop' + replaces=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities') + conflicts=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities') + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/social-news + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-spellcheck() { + pkgdesc='Fast spell checking' + depends=('kdebase-workspace') + cd $srcdir/build/applets/spellcheck + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-systemloadviewer() { + pkgdesc='Tiny CPU/RAM/Swap monitor' + depends=('kdebase-workspace') + cd $srcdir/build/applets/systemloadviewer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-timer() { + pkgdesc='Countdown over a specified time period' + depends=('kdebase-workspace') + cd $srcdir/build/applets/timer + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-unitconverter() { + pkgdesc='Plasmoid for converting units' + depends=('kdebase-workspace') + cd $srcdir/build/applets/unitconverter + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-weather() { + pkgdesc='Displays Weather information' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/weather + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-weatherstation() { + pkgdesc='Weather reports with an LCD display style' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/applets/weatherstation + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-applets-webslice() { + pkgdesc='Show a part of a webpage' + depends=('kdebase-workspace') + cd $srcdir/build/applets/webslice + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-containments() { + pkgdesc='Activities types for Plasma shells' + depends=('kdebase-workspace') + cd $srcdir/build/containments + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-libs() { + pkgdesc='Plasma Addon Library' + depends=('kdebase-workspace') + groups=() + replaces=('kdeplasma-addons-dataengines') + provides=('kdeplasma-addons-dataengines') + conflicts=('kdeplasma-addons-dataengines') + cd $srcdir/build/libs + make DESTDIR=$pkgdir install + cd $srcdir/build/dataengines + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-audioplayercontrol() { + pkgdesc='Allows to control MPRIS audio players (it is able to search through Amarok´s collection, too)' + depends=('kdebase-workspace') + cd $srcdir/build/runners/audioplayercontrol + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-browserhistory() { + pkgdesc='Searches in Konqueror´s history' + depends=('kdebase-workspace') + cd $srcdir/build/runners/browserhistory + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-characters() { + pkgdesc='special Characters' + depends=('kdebase-workspace') + cd $srcdir/build/runners/characters + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-contacts() { + pkgdesc='Finds entries in your address book' + depends=('kdebase-workspace') + cd $srcdir/build/runners/contacts + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-converter() { + pkgdesc='Convert values to different units' + depends=('kdebase-workspace') + cd $srcdir/build/runners/converter + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-datetime() { + pkgdesc='The current date and time, locally or in any timezone' + depends=('kdebase-workspace') + cd $srcdir/build/runners/datetime + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-events() { + pkgdesc='Calendar Events runner' + depends=('kdebase-workspace') + cd $srcdir/build/runners/events + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-katesessions() { + pkgdesc='Matches Kate Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/katesessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-konquerorsessions() { + pkgdesc='Matches Konqueror Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/konquerorsessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-konsolesessions() { + pkgdesc='Matches Konsole Sessions' + depends=('kdebase-workspace') + cd $srcdir/build/runners/konsolesessions + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-kopete() { + pkgdesc='Kopete Contact runner' + depends=('kdebase-workspace') + cd $srcdir/build/runners/kopete + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-mediawiki() { + pkgdesc='Search on Wikitravel' + depends=('kdebase-workspace') + cd $srcdir/build/runners/mediawiki + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-runners-spellchecker() { + pkgdesc='Check the spelling of a word' + depends=('kdebase-workspace') + cd $srcdir/build/runners/spellchecker + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-mandelbrot() { + pkgdesc='Mandelbrot' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/mandelbrot + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-marble() { + pkgdesc='Globe' + depends=('kdebase-workspace' 'kdeedu-marble') + cd $srcdir/build/wallpapers/marble + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-pattern() { + pkgdesc='Pattern' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/pattern + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-potd() { + pkgdesc='Picture of the Day' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/wallpapers/potd + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-virus() { + pkgdesc='Virus' + depends=('kdebase-workspace') + cd $srcdir/build/wallpapers/virus + make DESTDIR=$pkgdir install +} + +package_kdeplasma-addons-wallpapers-weather() { + pkgdesc='Weather' + depends=('kdebase-workspace' 'kdeplasma-addons-libs') + cd $srcdir/build/wallpapers/weather + make DESTDIR=$pkgdir install +} diff --git a/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install new file mode 100644 index 000000000..ce5c32e1b --- /dev/null +++ b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} \ No newline at end of file diff --git a/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install new file mode 100644 index 000000000..c4ef46ba8 --- /dev/null +++ b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} \ No newline at end of file diff --git a/kde-unstable/kdesdk-kate/PKGBUILD b/kde-unstable/kdesdk-kate/PKGBUILD new file mode 100644 index 000000000..172a0e987 --- /dev/null +++ b/kde-unstable/kdesdk-kate/PKGBUILD @@ -0,0 +1,68 @@ +# $Id: PKGBUILD 160087 2012-05-29 22:23:54Z andrea $ +# Maintainer: Andrea Scarpino + +pkgbase=kdesdk-kate +pkgname=('kdebase-katepart' + 'kdebase-kwrite' + 'kdesdk-kate') +pkgver=4.8.80 +pkgrel=1 +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL') +makedepends=('kdelibs ''cmake' 'automoc4') +source=("http://download.kde.org/unstable/${pkgver}/src/kate-${pkgver}.tar.xz" + 'pkgbuild-syntax-highlight.patch') +sha1sums=('4f757fe5fd2a49a0119b8cafb072d8e742189029' + '0a928253bd2077f0264d96a6c8823c69c47b6a8d') + +build() { + cd "${srcdir}"/kate-${pkgver} + patch -p1 -i "${srcdir}"/pkgbuild-syntax-highlight.patch + + cd "${srcdir}" + mkdir build + cd build + cmake ../kate-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package_kdebase-katepart() { + pkgdesc="A fast and feature-rich text editor component" + depends=('kdelibs') + url="http://kate-editor.org/about-katepart/" + install='kdebase-katepart.install' + + cd "${srcdir}"/build/part + make DESTDIR="${pkgdir}" install +} + +package_kdebase-kwrite() { + pkgdesc="Text Editor" + depends=('kdebase-runtime' 'kdebase-katepart') + groups=('kde' 'kdebase') + url="http://www.kde.org/applications/utilities/kwrite/" + install='kdebase-kwrite.install' + + cd "${srcdir}"/build/kwrite + make DESTDIR="${pkgdir}" install + + cd "${srcdir}"/build/doc/kwrite + make DESTDIR="${pkgdir}" install +} + +package_kdesdk-kate() { + pkgdesc="Advanced Text Editor" + depends=('kdebase-runtime' 'kdebase-katepart') + groups=('kde' 'kdesdk') + url="http://www.kde.org/applications/utilities/kate/" + install='kdesdk-kate.install' + optdepends=('kdebase-konsole: open a terminal in Kate') + + cd "${srcdir}"/build/kate + make DESTDIR="${pkgdir}" install + + cd "${srcdir}"/build/doc/kate + make DESTDIR="${pkgdir}" install +} diff --git a/kde-unstable/kdesdk-kate/kdebase-katepart.install b/kde-unstable/kdesdk-kate/kdebase-katepart.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/kde-unstable/kdesdk-kate/kdebase-katepart.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk-kate/kdebase-kwrite.install b/kde-unstable/kdesdk-kate/kdebase-kwrite.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/kde-unstable/kdesdk-kate/kdebase-kwrite.install @@ -0,0 +1,12 @@ +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/kde-unstable/kdesdk-kate/kdesdk-kate.install b/kde-unstable/kdesdk-kate/kdesdk-kate.install new file mode 100644 index 000000000..0446d161b --- /dev/null +++ b/kde-unstable/kdesdk-kate/kdesdk-kate.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch b/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch new file mode 100644 index 000000000..27729d1ad --- /dev/null +++ b/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch @@ -0,0 +1,11 @@ +--- kate-4.7.80/part/syntax/data/bash.xml~ 2011-11-20 06:14:30.581097154 +0000 ++++ kate-4.7.80/part/syntax/data/bash.xml 2011-11-20 06:14:45.494553146 +0000 +@@ -8,7 +8,7 @@ + + + ]> +- ++ + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- image/svg+xml +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +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 + #include + +-#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(); +- +- 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(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 tasks_; + QMap remote_tasks_; +- QMap 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 + + 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()->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 +- +- 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 . +-*/ +- +-#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(); +- +- 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::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 ; iLoadImage(image_id); +-} +- +-void SpotifySearchProvider::ArtLoadedSlot(const QString& id, const QImage& image) { +- QMap::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::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 ; isongs << 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 +- +- 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 . +-*/ +- +-#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 queries_; +- QMap pending_art_; +- QMap 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 + #include +@@ -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 +- +- 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 . +-*/ +- +-#include "config.h" +-#include "spotifyblobdownloader.h" +-#include "spotifyservice.h" +-#include "core/logging.h" +-#include "core/network.h" +-#include "core/utilities.h" +- +-#include +-#include +-#include +-#include +- +-#ifdef HAVE_QCA +- #include +-#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(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 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 +- +- 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 . +-*/ +- +-#ifndef SPOTIFYBLOBDOWNLOADER_H +-#define SPOTIFYBLOBDOWNLOADER_H +- +-#include +- +-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 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 +- +- 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 . +-*/ +- +-#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 +- +- 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 . +-*/ +- +-#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 +- +- 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 . +-*/ +- +-#include "spotifyserver.h" +-#include "core/closure.h" +-#include "core/logging.h" +- +-#include "spotifyblob/common/spotifymessages.pb.h" +-#include "spotifyblob/common/spotifymessagehandler.h" +- +-#include +-#include +-#include +- +-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* 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 +- +- 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 . +-*/ +- +-#ifndef SPOTIFYSERVER_H +-#define SPOTIFYSERVER_H +- +-#include "spotifyblob/common/spotifymessages.pb.h" +- +-#include +-#include +- +-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 queued_login_messages_; +- QList 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 +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-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( +- 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 ; isetData(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 ; itext()) { +- 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 ; isetData(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 ; iset_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(); +- 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 ; iClear(); +- 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(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::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 +-#include +- +-#include +- +-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 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 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 +- +- 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 . +-*/ +- +-#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 +-#include +-#include +-#include +-#include +- +-SpotifySettingsPage::SpotifySettingsPage(SettingsDialog* dialog) +- : SettingsPage(dialog), +- network_(new NetworkAccessManager(this)), +- ui_(new Ui_SpotifySettingsPage), +- service_(InternetModel::Service()), +- 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 +- +- 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 . +-*/ +- +-#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 @@ +- +- +- SpotifySettingsPage +- +- +- +- 0 +- 0 +- 545 +- 458 +- +- +- +- Spotify +- +- +- +- +- +- +- +- +- Account details +- +- +- +- +- +- true +- +- +- +- 0 +- +- +- +- +- Username +- +- +- +- +- +- +- +- +- +- Password +- +- +- +- +- +- +- QLineEdit::Password +- +- +- +- +- +- +- Login +- +- +- +- +- +- +- +- +- +- +- +- +- Spotify plugin +- +- +- +- +- +- For licensing reasons Spotify support is in a separate plugin. +- +- +- +- +- +- +- +- +- Plugin status: +- +- +- +- +- +- +- +- +- +- Qt::Horizontal +- +- +- +- 40 +- 20 +- +- +- +- +- +- +- +- Download... +- +- +- +- +- +- +- +- +- +- +- +- Preferences +- +- +- +- +- +- Preferred bitrate +- +- +- +- +- +- +- +- +- +- Use volume normalisation +- +- +- +- +- +- +- +- +- +- Qt::Vertical +- +- +- +- 20 +- 30 +- +- +- +- +- +- +- +- +- +- Qt::Horizontal +- +- +- +- 40 +- 20 +- +- +- +- +- +- +- +- +- 64 +- 64 +- +- +- +- +- 64 +- 64 +- +- +- +- :/spotify-core-logo-128x128.png +- +- +- true +- +- +- +- +- +- +- +- +- +- LoginStateWidget +- QWidget +-
widgets/loginstatewidget.h
+- 1 +-
+-
+- +- +- +- +-
+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("
Scott Smitelli"); + ret += QString("
Allie Brosh

"); + +-#ifdef HAVE_SPOTIFY +- ret += "

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.

"; +-#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 + #include + #include +@@ -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 + #include +--- 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 bfb9c430b..2aa38fca6 100644 --- a/libre/crosstool-ng/PKGBUILD +++ b/libre/crosstool-ng/PKGBUILD @@ -2,13 +2,13 @@ # Maintainer (Parabola): fauno 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') 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 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 ? */ -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 + * +@@ -32,37 +32,40 @@ + * OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#include ++#ifndef _CUPS_AVAHI_H_ ++# define _CUPS_AVAHI_H_ + +-#ifdef HAVE_AVAHI +-# include +-# include +-#endif /* HAVE_AVAHI */ ++/* ++ * Include necessary headers... ++ */ + +-#ifdef HAVE_AUTHORIZATION_H +-# include +-#endif /* HAVE_AUTHORIZATION_H */ ++# include + ++# ifdef HAVE_AVAHI ++# include ++# include ++# 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 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 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 +# Contributor: Fredrik Hammar +# Maintainer (Parabola): Márcio Silva + +_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 c5c343265..3fe40c4a9 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) # Contributor: Jan de Groot _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') @@ -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 # Maintainer (Parabola): fauno # Contributor (Parabola): André Silva 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 +# Contributor (Parabola): André Silva + +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/ghostscript-libre/PKGBUILD b/libre/ghostscript-libre/PKGBUILD index 4462b7792..b89a3095b 100644 --- a/libre/ghostscript-libre/PKGBUILD +++ b/libre/ghostscript-libre/PKGBUILD @@ -1,13 +1,14 @@ -# $Id: PKGBUILD 146976 2012-01-19 20:56:52Z andyrtr $ +# $Id: PKGBUILD 149732 2012-02-09 20:34:33Z andyrtr $ # Maintainer: AndyRTR # Maintainer (Parabola): xihh +# Maintainer (Parabola): André Silva +_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') +arch=('i686' 'x86_64' 'mips64el') license=('GPL3') #non free files removed depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng>=1.5.7' 'libjpeg' 'libtiff>=4.0.0' 'lcms') # 'lcms2' won't get used) # move in libpaper from community? makedepends=('gtk2' 'gnutls') @@ -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/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 +# Contributor: André Silva 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 +# Maintainer (Parabola): André Silva + +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 +# Maintainer: André Silva +# Contributor: fauno +# Contributor: Figue +# 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 +# Contributor: fauno +# Contributor: Figue +# Contributor: André Silva +# 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 +# Maintainer : André Silva + +# 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 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 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 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, "
");
+                 PL_strcatn(newbody, newbodylen, body);
+-                PL_strcatn(newbody, newbodylen, "
"CRLF); ++ PL_strcatn(newbody, newbodylen, "" 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 + #endif + #include +-#if defined(ANDROID) ++#if defined(ANDROID) || defined(OS_POSIX) + #include + #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 ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + #include +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 + #include ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#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 + #endif + ++#include ++ + #include + + #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("

" + pluginsbundle.GetStringFromName("nopluginsareenabled_label") + "<\/h1>"); + +- document.writeln("
" + pluginsbundle.GetStringFromName("findmore_label") + " "); +- document.writeln("" + regionbundle.GetStringFromName("more_plugins_label") + "<\/a>."); +- document.writeln("<\/div>"); +- +- document.writeln("
" + pluginsbundle.GetStringFromName("findpluginupdates_label") + " "); +- document.writeln("" + regionbundle.GetStringFromName("pluginupdates_label") + "<\/a>."); +- document.writeln("<\/div>"); +- +- document.writeln("
" + pluginsbundle.GetStringFromName("installhelp_label") + " "); +- document.writeln("" + regionbundle.GetStringFromName("plugindoc_label") + "<\/a>."); +- document.writeln("<\/div>
"); +- + 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 @@ + + +- +- + + + +--- 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 @@ + +

Search the Web

+

+-

Google +-
Google Groups +-
Google News ++
DuckDuckGo +

+ + #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 @@ + + +- ++ + +--- 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 @@ +

+

@personal_toolbarfolder@

+

+-

@seamonkey@ +- @seamonkey_l10n@ +-
@mozilla_org@ +-
@mozillazine@ +-
@mozdev@ ++
Parabola GNU/Linux-libre ++
Free Software Foundation ++
LibrePlanet +

+-

@seamonkey_and_mozilla@

++

GNUzilla

+

+-

@seamonkey_long@ +- @seamonkey_l10n_long@ +-

@mozilla_org@

+-

+-

@mozilla_org_long@ +-
@mozilla_projects@ +-
@mozilla_about@ +-

+-

@extend_seamonkey@

+-

+-

@seamonkey_addons@ +-
@seamonkey_themes@ +-
@seamonkey_dictionaries@ +-
@seamonkey_plugins@ +-
@mozdev@ +-
@mozdev_seamonkey@ +-

+-

@community_support@

+-

+-

@seamonkey_community@ +-
@mozillazine@ +-
@seamonkey_support@ +-

++

GNUzilla and IceCat ++
Free addons +

+ #include bookmarks.extra +


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 +# Maintainer: André Silva + +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 +# Maintainer : André Silva + +# 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 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 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 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, "
");
+                 PL_strcatn(newbody, newbodylen, body);
+-                PL_strcatn(newbody, newbodylen, "
"CRLF); ++ PL_strcatn(newbody, newbodylen, "" 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 + #endif + #include +-#if defined(ANDROID) ++#if defined(ANDROID) || defined(OS_POSIX) + #include + #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 ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + #include +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 + #include ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#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 + #endif + ++#include ++ + #include + + #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/icedove-libre/icedove.install b/libre/icedove-libre/icedove.install new file mode 100644 index 000000000..4d4a283db --- /dev/null +++ b/libre/icedove-libre/icedove.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 +} + +post_remove() { + post_install +} 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ý +# 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 ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + #include + + #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 + #include ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#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 + #endif + #include + #ifdef ANDROID + #include + #else + #include + #endif ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + + #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 -# Maintainer: Aaron Griffin +# Contributor: Thomas Bächler +# Contributor: Aaron Griffin # Maintainer (Parabola): Nicolas Reynolds 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 # Contributor: Pierre Schmitz # Maintainer (Parabola): Michał Masłowski -# Contributor (Parabola): André Silva +# Maintainer (Parabola): André Silva _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 # Maintainer (Parabola): André Silva _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 +# Contributor: Pierre Schmitz +# Maintainer (Parabola): André Silva + +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 + #include + #include ++#include + #endif + + #include +--- 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 ++} ++#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 +-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 + 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 ++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-kopete-libre/kdenetwork-kopete.install b/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install @@ -0,0 +1,12 @@ +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/kdenetwork-kopete-libre/kdenetwork.install b/libre/kdenetwork-kopete-libre/kdenetwork.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/libre/kdenetwork-kopete-libre/kdenetwork.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +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 # Maintainer (Parabola): André Silva _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 -# $Id: PKGBUILD 147972 2012-01-29 10:07:14Z ronald $ +# $Id: PKGBUILD 159260 2012-05-19 19:37:30Z ronald $ # Maintainer: Ronald van Haren # Contributor: Damir Perisa +# Maintainer (Parabola): Michał Masłowski +# Contributor (Parabola): André Silva _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/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 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/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 + + * 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 * linux-libre-3.3.3-1 diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 47dfecba8..ae3f19ae1 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/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/mplayer-vaapi-libre/PKGBUILD b/libre/mplayer-vaapi-libre/PKGBUILD index b44c007a5..3ef5c65ee 100644 --- a/libre/mplayer-vaapi-libre/PKGBUILD +++ b/libre/mplayer-vaapi-libre/PKGBUILD @@ -1,20 +1,20 @@ # $Id$ # Maintainer (Parabola): fauno # Contributor (Parabola): André Silva -# Maintainer: Evangelos Foutras +# Maintainer: Evangelos Foutras # Contributor: Ionut Biru # Contributor: Hugo Doria _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') 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 +# Maintainer (Parabola): André Silva +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 + +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 +# Maintainer: C Anthony Risinger + +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 8acde2590..dd4bcd0a9 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 _pkgname=seamonkey pkgname=seamonkey-libre -pkgver=2.8 +pkgver=2.9 pkgrel=1 pkgdesc="SeaMonkey internet suite, with GNUZilla addons" arch=('i686' 'x86_64') 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 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 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 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, "
");
+                 PL_strcatn(newbody, newbodylen, body);
+-                PL_strcatn(newbody, newbodylen, "
"CRLF); ++ PL_strcatn(newbody, newbodylen, "" 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 ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + #include +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 + #include ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#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 + #endif ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + 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 +# Maintainer: Tobias Powalowski +# Maintainer (Parabola): André Silva + +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 + ++#ifdef __linux__ ++ + #define statfs _kernel_statfs /* HACK to deal with broken 2.4 distros */ + + #include /* Floppy geometry */ + #include /* Hard disk geometry */ + +-#include /* FIGETBSZ, FIBMAP, FS_IOC_FIEMAP */ +-#include /* FAT_IOCTL_SET_ATTRIBUTES */ ++#include /* FIGETBSZ, FIBMAP, FS_IOC_* */ + + #undef SECTOR_SIZE /* Defined in msdos_fs.h for no good reason */ + #undef SECTOR_BITS +-#include /* EXT2_IOC_* */ ++ ++#ifndef FS_IOC_GETFLAGS ++/* Old kernel headers, these were once ext2-specific... */ ++# include /* 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 ++ ++#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 + ++#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 +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 Binary files /dev/null and b/libre/syslinux/splash.png 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 +# +# 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 +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 +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 @@ + " \n" \ + " \n" \ + " \n" \ ++ " \n" \ ++ " \n" \ ++ " \n" \ + " \n" \ + " \n" \ + " \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 +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 +# Maintainer (Parabola): Nicolas Reynolds +# Maintainer (Parabola): André Silva + +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 +# Maintainer: André Silva +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 6aa88039e..31b440c9d 100644 --- a/libre/texlive-bin-libre/PKGBUILD +++ b/libre/texlive-bin-libre/PKGBUILD @@ -1,12 +1,13 @@ -# Parabola maintainer: Michał Masłowski -# $Id: PKGBUILD 154937 2012-03-31 10:46:09Z ronald $ +# $Id: PKGBUILD 159191 2012-05-17 14:36:30Z remy $ # Maintainer: Rémy Oudompheng # Contributor: francois +# Maintainer (Parabola): Michał Masłowski +# Contributor (Parabola): André Silva 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 ede2237fc..134f0efd0 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 # Contributor: Alexander Baldeck # Contributor: Dale Blount @@ -6,7 +6,7 @@ # Maintainer (Parabola): André Silva pkgname=thunderbird-libre -pkgver=12.0 +pkgver=12.0.1 pkgrel=1 pkgdesc="Standalone Mail/News reader" arch=('i686' 'x86_64') @@ -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/unarchiver/PKGBUILD b/libre/unarchiver/PKGBUILD index 3e2e316a9..a76fd4679 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') 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 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 +# Maintainer (Parabola): Márcio Silva +# Maintainer (Parabola): André Silva +# Maintainer (Parabola): Jorge López + +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 - #endif - #include --#if defined(ANDROID) -+#if defined(ANDROID) || defined(OS_POSIX) - #include - #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 - #include -+#include - - #include "eintr_wrapper.h" - #include "base/logging.h" +# HG changeset patch +# User Martin Stránský +# 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 ++#if defined(ANDROID) || defined(OS_POSIX) +#include ++#endif #include #include - ---- 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 + #include ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#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 #endif #include -+#include #ifdef ANDROID #include #else + #include + #endif ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + + #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') diff --git a/multilib/lib32-libx11/PKGBUILD b/multilib/lib32-libx11/PKGBUILD index 49c306479..fe73ec11e 100644 --- a/multilib/lib32-libx11/PKGBUILD +++ b/multilib/lib32-libx11/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 68117 2012-03-18 13:59:21Z lcarlier $ +# $Id: PKGBUILD 71602 2012-05-30 17:06:38Z lcarlier $ # Maintainer: Jan de Groot _pkgbasename=libx11 pkgname=lib32-$_pkgbasename -pkgver=1.4.99.901 -pkgrel=2 +pkgver=1.4.99.902 +pkgrel=1 pkgdesc="X11 client-side library (32-bit)" arch=(x86_64) url="http://xorg.freedesktop.org/" @@ -13,7 +13,7 @@ makedepends=('xorg-util-macros' 'xextproto' 'xtrans' 'inputproto' 'gcc-multilib' options=('!libtool') license=('custom:XFREE86') source=(${url}/releases/individual/lib/libX11-${pkgver}.tar.bz2) -sha1sums=('af10b064c1c64ee9e7daae0a7f1f9719eb7e965a') +sha1sums=('afe75b7c2c54e354f726fd36251bcfec1e1f833a') build() { export CC="gcc -m32" diff --git a/pcr/bsnes/PKGBUILD b/pcr/bsnes/PKGBUILD new file mode 100644 index 000000000..34a8031e9 --- /dev/null +++ b/pcr/bsnes/PKGBUILD @@ -0,0 +1,63 @@ +# Contributor: [vEX] +pkgname='bsnes' +pkgver=088 +pkgrel=1 +pkgdesc="Super Nintendo Entertainment System (SNES) emulator focused on accuracy." +arch=('i686' 'x86_64') +url="http://byuu.org/bsnes/" +license=('GPL3') +depends=('libao' 'libgl' 'libxv' 'openal' 'sdl' 'qt>=4.7.0') +makedepends=('pkgconfig' 'mesa') +install='bsnes.install' +changelog='bsnes.changelog' +source=('http://bsnes.googlecode.com/files/bsnes_v088-source.tar.xz' 'add-usr-share-fallback.patch') +md5sums=('a3b2e9ba28b752768bb9f777049b1239' '8fde2bb14f8dafbd5276f9a6092b7ffb') + + +# Build the accuracy profile (you can also choose 'performance' or 'compatibility') +__profile='accuracy' + +build() { + cd "${srcdir}/${pkgname}_v${pkgver}-source/${pkgname}" + + # Makefile hacks: + # Disable pulseaudio. + sed -e 's|audio.pulseaudio ||' \ + -e 's|audio.pulseaudiosimple ||' \ + -i 'target-ui/Makefile' + # Don't copy the cheat file. + sed -e '/mkdir -p ~\/.config\/$(name)/{N;d}' \ + -e '/cp data\/cheats.xml/{N;d}' \ + -i 'target-ui/Makefile' + # Don't use sudo + sed -e 's/sudo install/install/' \ + -i 'target-ui/Makefile' + + # Apply patch to make bsnes look in /usr/share/bsnes for filters/shaders. + patch -p0 < "${srcdir}/add-usr-share-fallback.patch" + + # Fix building with QT >= 4.8.0. + moc -i -Iphoenix/qt/ -o phoenix/qt/platform.moc phoenix/qt/platform.moc.hpp + + # Compile bsnes. + make flags="$CXXFLAGS -I. -DPROFILE_${__profile^^}" compiler=gcc platform=x profile=${__profile} phoenix=qt + + # Compile the filters. + cd "${srcdir}/${pkgname}_v${pkgver}-source/snesfilter" + make compiler=gcc platform=x +} + +package() { + cd "${srcdir}/${pkgname}_v${pkgver}-source/${pkgname}" + make install profile=${__profile} DESTDIR="${pkgdir}" prefix=/usr + + # Install the filters/shaders + install --directory "${pkgdir}/usr/share/${pkgname}/filters" + install -D --mode=644 "${srcdir}/${pkgname}_v${pkgver}-source"/snesfilter/out/*.filter "${pkgdir}/usr/share/${pkgname}/filters" + install --directory "${pkgdir}/usr/share/${pkgname}/shaders" + install -D --mode=644 "${srcdir}/${pkgname}_v${pkgver}-source"/snesshader/*.shader "${pkgdir}/usr/share/${pkgname}/shaders" + + # Install the user-profile into /usr/share/bsnes/profile. + install --directory "${pkgdir}/usr/share/${pkgname}/profile" + cp -R "${srcdir}/${pkgname}_v${pkgver}-source/${pkgname}"/profile/* "${pkgdir}/usr/share/${pkgname}/profile" +} diff --git a/pcr/bsnes/add-usr-share-fallback.patch b/pcr/bsnes/add-usr-share-fallback.patch new file mode 100644 index 000000000..4d2b5cf3c --- /dev/null +++ b/pcr/bsnes/add-usr-share-fallback.patch @@ -0,0 +1,24 @@ +--- target-ui/general/main-window.cpp 2012-02-03 23:33:00.000000000 +0100 ++++ target-ui/general/main-window.cpp 2012-02-13 18:02:04.988109569 +0100 +@@ -331,6 +331,10 @@ + path = { application->userpath, "filters/" }; + files = directory::files(path, "*.filter"); + } ++ if(files.size() == 0) { ++ path = { "/usr/share/bsnes/", "filters/" }; ++ files = directory::files(path, "*.filter"); ++ } + array group; + + settingsVideoFilterList = new RadioItem[files.size()]; +@@ -362,6 +366,10 @@ + path = { application->userpath, "shaders/" }; + files = directory::files(path, { "*.", config->video.driver, ".shader" }); + } ++ if(files.size() == 0) { ++ path = { "/usr/share/bsnes/", "shaders/" }; ++ files = directory::files(path, { "*.", config->video.driver, ".shader" }); ++ } + array group; + + settingsVideoShaderList = new RadioItem[files.size()]; diff --git a/pcr/bsnes/bsnes.changelog b/pcr/bsnes/bsnes.changelog new file mode 100644 index 000000000..589a929d2 --- /dev/null +++ b/pcr/bsnes/bsnes.changelog @@ -0,0 +1,474 @@ +2012-04-24 [vEX] + + * 088-1 : + New upstream release. + +2012-03-07 [vEX] + + * 087-1 : + New upstream release. + + * add-usr-share-fallback.patch : + Update patch against the new source. + +2012-02-13 [vEX] + + * 086-1 : + New upstream release. + + * add-usr-share-fallback.patch : + Update patch against the new source. + +2012-01-02 [vEX] + + * 085-1 : + New upstream release. + +2011-12-28 [vEX] + + * 084-3 : + Enable custom CXXFLAGS by default. + Fix build with QT 4.8.0. + +2011-11-08 [vEX] + + * 084-2 : + Update to reflect the silently updated source tarball. + +2011-11-07 [vEX] + + * 084-1 : + New upstream release. + Fixed PKGBUILD changelog line to work with pacman 4.0 (thanks jpike). + +2011-10-14 [vEX] + + * 083-1 : + New upstream release. + Dropped the leading '0.' from the version number. + Compile and package filters/shaders. + Added commented block for compiling bsnes with the makepkg specified + flags (thanks MaMuS). + + * add-usr-share-fallback.patch : + Add fallback path to /usr/share/bsnes/ for finding filters/shaders + unless found in the bsnes basepath/userpath. + +2011-08-21 [vEX] + + * 0.082-1 : + New upstream release. + +2011-08-12 [vEX] + + * 0.081-1 : + New upstream release. + +2011-06-26 [vEX] + + * 0.080-1 : + New upstream release. + + * gcc_4.6.0_build_fix.patch : + Removed as it's no longer needed. + +2011-06-18 [vEX] + + * 0.079-2 : + Update sed command for preventing installation of cheats.xml to user + home directory + + * gcc_4.6.0_build_fix.patch : + Fix build errors with newest gcc 4.6.0 prerelease. + +2011-06-04 [vEX] + + * 0.079-1 : + New upstream release. + +2011-04-30 [vEX] + + * 0.078-1 : + New upstream release. + +2011-03-17 [vEX] + + * 0.077-1 : + New upstream release. + +2011-02-27 [vEX] + + * 0.076-2 : + Correct the sed expression that removes the lines that copies the + cheats.xml file. + +2011-02-25 [vEX] + + * 0.076-1 : + New upstream release. + +2011-02-13 [vEX] + + * 0.075-1 : + Build and package snespurify. + +2011-01-26 [vEX] + + * 0.075-1 : + New upstream release. + As the launcher for selecting profile is removed the PKGBUILD will now + build just the accuracy profile. Edit the PKGBUILD if you want to build + another profile. + +2011-01-11 [vEX] + + * 0.074-1 : + New upstream release. + Switched to the phoenix ui as the qt port is now dead. + +2010-12-25 [vEX] + + * 0.073-1 : + New upstream release. + snesreader/snesfilter removed. + +2010-10-23 [vEX] + + * 0.072-1 : + New upstream release. + +2010-10-22 [vEX] + + * 0.071-1 : + New upstream release. + +2010-09-26 [vEX] + + * 0.070-1 : + New upstream release. + +2010-09-25 [vEX] + + * 0.069-1 : + New upstream release. + +2010-09-05 [vEX] + + * 0.068-3 : + Added 'mesa' to makedepends to satisfy "GL/gl.h" dependency. + +2010-08-22 [vEX] + + * 0.068-2 : + Forgot to build the launcher. + +2010-08-21 [vEX] + + * 0.068-1 : + New upstream release. + + * gcc45_build_fix.patch: + Removed as it's not needed anymore. + +2010-08-02 [vEX] + + * 0.067-1 : + New upstream release. + + * gcc45_build_fix.patch : + Workaround a bug in GCC 4.5.x. + +2010-06-27 [vEX] + + * 0.065-1 : + New upstream release. + +2010-04-14 [vEX] + + * 0.064-1 : + New upstream release. + +2010-03-29 [vEX] + + * 0.063-2 : + New snesreader (snesreader_20100329.tar.bz2) that fixes libjma on 64-bit + systems. + +2010-03-28 [vEX] + + * 0.063-1 : + New upstream release. + +2010-02-08 [vEX] + + * 0.060-1 : + New upstream release. + Removed the optdepends list as they are now part of the same source + tarball and have been integrated into the PKGBUILD. You may remove those + plugins you don't want. + +2010-01-07 [vEX] + + * 0.059-1 : + New upstream release. + +2009-12-09 [vEX] + + * 0.058-1 : + New upstream release. + +2009-11-23 [vEX] + + * 0.057-1 : + New upstream release. + +2009-11-22 [vEX] + + * 0.056-1 : + New upstream release. + +2009-11-01 [vEX] + + * 0.055-1 : + New upstream release. + +2009-10-19 [vEX] + + * 0.054-1 : + New upstream release. + +2009-09-29 [vEX] + + * 0.052-1 : + New upstream release. + +2009-09-27 [vEX] + + * 0.051-1 : + New upstream release. + +2009-08-25 [vEX] + + * 0.050-1 : + New upstream release. + +2009-08-22 [vEX] + + * 0.049-1 : + New upstream release. + + * fix_black_lines.patch : + Removed as it's not needed anymore. + +2009-07-14 [vEX] + + * 0.048-2 : + Apply patch to fix "black lines" issue. + + * fix_black_lines.patch : + Fixes "Linux X-video driver shows a lot of black lines" as per the + bsnes v0.048 errata. + +2009-07-12 [vEX] + + * 0.048-1 : + New upstream release. + +2009-06-08 [vEX] + + * 0.047-2 : + Added 'pkgconfig' to makedepends. + +2009-06-07 [vEX] + + * 0.047-1 : + New upstream release. + +2009-05-10 [vEX] + + * 0.046-1 : + New upstream release. + Moved 'libxtst' to optdepends. + Updated the name of the license to be correct. + +2009-04-19 [vEX] + + * 0.045-1 : + New upstream release. + Added 'libxtst' to the dependency list. + +2009-03-31 [vEX] + + * 0.042-1 : + New upstream release. + +2009-03-15 [vEX] + + * 0.041-1 : + New upstream release. + +2009-03-09 [vEX] + + * 0.040-1 : + New upstream release. + Replaced 'gtk2' dependency with 'qt' as the GUI has been rewritten. + Replaced 'freealut' dependency with 'openal' which is more correct. + Removed 'inputproto' from dependency list as namcap says it's not needed + anymore. + + * bsnes.desktop: + Removed in favor of the one shipped with bsnes. + +2009-01-18 [vEX] + + * 0.039-1 : + New upstream release. + +2008-12-17 [vEX] + + * 0.038-1 : + New upstream release. + New audio driver for PulseAudio is disabled. + +2008-10-27 [vEX] + + * 0.037a-1 : + New upstream release. + +2008-09-18 [vEX] + + * 0.036-2 : + Adapted to the ChangeLog.proto provided by Pacman. + Added missing dependency 'inputproto' (thanks cr7). + +2008-09-16 [vEX] + + * 0.036-1 : + New upstream release. + +2008-08-24 [vEX] + + * 0.035-1 : + New upstream release. + Made PKGBUILD autodetect GCC version and if greater than 4.2.0 enable + the -mtune=native optimizations + +2008-08-13 [vEX] + + * 0.034-1 : + New upstream release. + +2008-07-29 [vEX] + + * 0.033-1 : + New upstream release. + +2008-06-01 [vEX] + + * 0.032a-1 : + New upstream release. + +2008-04-17 [vEX] + + * 0.031-1 : + New upstream release. + +2008-03-24 [vEX] + + * 0.030-1 : + New upstream release. + +2008-03-17 [vEX] + + * 0.029-1 : + New upstream release. + + * bsnes-icon.patch : + Removed as it's not needed anymore. + +2008-02-06 [vEX] + + * 0.028.01-1 : + New upstream release. + +2008-02-04 [vEX] + + * 0.028-1 : + New upstream release. + Frmo now on JMA support will be compiled in. + + * bsnes-icon.patch : + Added a patch to make bsnes window use the bsnes icon. + +2007-12-22 [vEX] + + * 0.027-1 : + New upstream release. + From now on GZIP/ZIP support will be compiled in. + JMA support is broken with the latest GCC. + + * bsnes-makefile.patch : + Removed patch since it has been merged upstream. + +2007-11-24 [vEX] + + * 0.026-1 : + New upstream release. + + * bsnes-makefile.patch : + Enables the use of custom install path instead of a fixed one, taken + from http://board.zsnes.com/phpBB2/viewtopic.php?p=155591#155591 (lots + of kudos to belegdol). + + * bsnes_.png : + Removed the extracted icons introduced in 0.023-3 as bsnes now ships + with an icon. + +2007-10-15 [vEX] + + * 0.025-1 : + New upstream release. + Correct the license array, the quotation marks shouldn't be where they + were. + + * bsnes_.png : + Decreased filesizes using OptiPNG/advpng (~25% total reduction). + +2007-10-01 [vEX] + + * 0.024-1 : + New upstream release. + +2007-09-29 [vEX] + + * 0.023-3 : + New upstream release. + Added an optional possibly speed increase option to the Makefile, as it + requires GCC >= 4.2.0 it's not enabled by default. + + * bsnes_.png : + Added icons for the .desktop-file (extracted from bsnes resources). + +2007-09-25 [vEX] + + * 0.023-2 : + Added a .desktop file + Small (PKGBUILD inline) patch to prevent the emulator idle stage consume + 100% CPU usage. + +2007-09-17 [vEX] + + * 0.023-1 : + New upstream release. + +2007-08-15 [vEX] + + * 0.022-2 : + Added 'nasm' to makedepens for 'i686' and moved 'yasm' to makedepends + for 'x86_64' only. + +2007-08-04 [vEX] + + * 0.022-1 : + New upstream release. + Added ChangeLog diff --git a/pcr/bsnes/bsnes.install b/pcr/bsnes/bsnes.install new file mode 100644 index 000000000..f18765649 --- /dev/null +++ b/pcr/bsnes/bsnes.install @@ -0,0 +1,12 @@ +## arg 1: the new package version +post_install() { + post_upgrade +} + +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + echo 'You should copy the /usr/share/bsnes/profile/ data into your' + echo '~/.config/bsnes/ folder unless you have already done so. It contains' + echo 'files that the emulator needs to function properly.' +} diff --git a/social/mednafen-wip/PKGBUILD b/social/mednafen-wip/PKGBUILD index a405d2ceb..e7330795b 100755 --- a/social/mednafen-wip/PKGBUILD +++ b/social/mednafen-wip/PKGBUILD @@ -4,7 +4,7 @@ # Contributor (Parabola): André Silva pkgname=mednafen-wip -pkgver=0.9.21 +pkgver=0.9.22 pkgrel=1 pkgdesc="A command-line multi-system gaming emulator, WIP version" url="http://mednafen.sourceforge.net/" @@ -14,8 +14,8 @@ depends=('libcdio>=0.82' 'libsamplerate' 'libogg' 'libvorbis' 'sdl' 'sdl_net' 'l makedepends=('pkgconfig' 'mesa') conflicts=('mednafen') provides=('mednafen') -source=('http://forum.fobby.net/index.php?t=getfile&id=358&') -sha1sums=('983c349ca991190363b713ac8abf7ae78b081a21') +source=('http://forum.fobby.net/index.php?t=getfile&id=362&') +sha1sums=('609d3915f4b65f6a7e77441d26efd744f3149981') build() { diff --git a/social/seeks/PKGBUILD b/social/seeks/PKGBUILD index 53cc57471..cdc4a798d 100644 --- a/social/seeks/PKGBUILD +++ b/social/seeks/PKGBUILD @@ -3,7 +3,7 @@ pkgname=seeks pkgver=0.4.1 -pkgrel=2 +pkgrel=3 pkgdesc="A social decentralized internet overlay for collaborative searches" arch=('i686' 'x86_64' 'mips64el') url="http://www.seeks-project.info/site/" diff --git a/social/sipwitch/PKGBUILD b/social/sipwitch/PKGBUILD index 98191c8d5..8cb84fad5 100644 --- a/social/sipwitch/PKGBUILD +++ b/social/sipwitch/PKGBUILD @@ -1,18 +1,19 @@ # Maintainer: Dan Serban -# Contributor: Andrea Scarpino -# Contributor: David Zaragoza +# Contributors: David Zaragoza, Andrea Scarpino +# Maintainer (Parabola): André Silva pkgname=sipwitch -pkgver=1.1.2 +pkgver=1.2.4 pkgrel=1 pkgdesc="A call and registration server for the SIP protocol" -arch=(i686 x86_64) +arch=(i686 x86_64 mips64el) url=http://www.gnutelephony.org/index.php/GNU_SIP_Witch license=(GPL) depends=(libexosip2 ucommon) -makedepends=(pkg-config) +makedepends=(lynx) options=('!libtool') -source=("ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz") +source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz") +md5sums=('6119cecb062ba4d0af18b427b01c41e2') build() { @@ -28,4 +29,4 @@ package() mkdir -p "${pkgdir}"/etc/rc.d touch "${pkgdir}"/etc/rc.d/"${pkgname}" } -md5sums=('08a235ddc0f75238c3670e857a30ae0b') + diff --git a/testing/bluez/PKGBUILD b/testing/bluez/PKGBUILD index 9a4023150..5e5ffb7e5 100644 --- a/testing/bluez/PKGBUILD +++ b/testing/bluez/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 159960 2012-05-27 13:10:36Z dreisner $ +# $Id: PKGBUILD 160191 2012-05-30 15:34:29Z tomegun $ # Maintainer: Tom Gundersen # Contributor: Andrea Scarpino # Contributor: Geoffroy Carrier pkgname=bluez pkgver=4.99 -pkgrel=5 +pkgrel=6 pkgdesc="Libraries and tools for the Bluetooth protocol stack" url="http://www.bluez.org/" arch=('i686' 'x86_64') @@ -48,7 +48,8 @@ build() { --enable-dund \ --enable-cups \ --enable-wiimote \ - --disable-test + --disable-test \ + --with-systemdunitdir=/usr/lib/systemd/system patch -p1 -i ../0001-udev-remove-deprecated-function.patch diff --git a/testing/procps-ng/PKGBUILD b/testing/procps-ng/PKGBUILD new file mode 100644 index 000000000..1266a40ff --- /dev/null +++ b/testing/procps-ng/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 160218 2012-05-31 00:53:30Z eric $ +# Maintainer: Eric Bélanger + +pkgname=procps-ng +pkgver=3.3.3 +pkgrel=1 +pkgdesc="Utilities for monitoring your system and processes on your system" +arch=('i686' 'x86_64') +url="http://gitorious.org/procps" +license=('GPL' 'LGPL') +groups=('base') +depends=('ncurses') +conflicts=('procps') +provides=('procps') +replaces=('procps') +backup=('etc/sysctl.conf') +options=('!libtool') +source=(procps-ng-${pkgver}.tar.gz::http://gitorious.org/procps/procps/archive-tarball/v${pkgver} + sysctl.conf) +sha1sums=('e78a098f1a3c06722155800cc5cfa0c865af03c0' + 'ddf0dab2e3612d44903fc02f46316cabbec4651e') + +build() { + cd "${srcdir}/procps-procps" + echo ${pkgver} > .tarball-version + ./autogen.sh + ./configure --exec-prefix=/ --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib + make +} + +package() { + cd "${srcdir}/procps-procps" + make DESTDIR="${pkgdir}" install + install -D -m644 "${srcdir}/sysctl.conf" "${pkgdir}/etc/sysctl.conf" +} diff --git a/testing/procps-ng/sysctl.conf b/testing/procps-ng/sysctl.conf new file mode 100644 index 000000000..44906a21a --- /dev/null +++ b/testing/procps-ng/sysctl.conf @@ -0,0 +1,42 @@ +# /etc/sysctl.conf - Configuration file for setting system variables +# See sysctl.conf (5) for information. + +# you can have the CD-ROM close when you use it, and open +# when you are done. +#dev.cdrom.autoeject = 1 +#dev.cdrom.autoclose = 1 + +# protection from the SYN flood attack +net.ipv4.tcp_syncookies = 1 + +# see the evil packets in your log files +#net.ipv4.conf.all.log_martians = 1 + +# if not functioning as a router, there is no need to accept redirects or source routes +#net.ipv4.conf.all.accept_redirects = 0 +#net.ipv4.conf.all.accept_source_route = 0 +#net.ipv6.conf.all.accept_redirects = 0 +#net.ipv6.conf.all.accept_source_route = 0 + +# Disable packet forwarding +net.ipv4.ip_forward = 0 +net.ipv6.conf.all.forwarding = 0 + +# sets the port range used for outgoing connections +#net.ipv4.ip_local_port_range = 32768 61000 + +# Swapping too much or not enough? Disks spinning up when you'd +# rather they didn't? Tweak these. +#vm.vfs_cache_pressure = 100 +#vm.laptop_mode = 0 +#vm.swappiness = 60 + +#kernel.printk_ratelimit_burst = 10 +#kernel.printk_ratelimit = 5 +#kernel.panic_on_oops = 0 + +# Reboot 600 seconds after a panic +#kernel.panic = 600 + +# Disable SysRq key (note: console security issues) +kernel.sysrq = 0 diff --git a/testing/xorg-server/PKGBUILD b/testing/xorg-server/PKGBUILD index 4975aadaa..7914ec2cd 100644 --- a/testing/xorg-server/PKGBUILD +++ b/testing/xorg-server/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 159996 2012-05-27 13:11:29Z dreisner $ +# $Id: PKGBUILD 160206 2012-05-30 19:33:12Z andyrtr $ # Maintainer: Jan de Groot pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.12.1.902 -pkgrel=2 +pkgver=1.12.2 +pkgrel=1 arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org" @@ -21,7 +21,7 @@ source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 xvfb-run xvfb-run.1 10-quirks.conf) -sha256sums=('052efb01c47348b4138c89ad5654be022a4d952acc6129b2ad2659bc1ff4d509' +sha256sums=('ca9f9e22f432f1ccbf8e7a21e746e02be4081a0f3975eb7cff276483193cc5f5' '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162' 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' diff --git a/~coadde/mednafen-wip/PKGBUILD b/~coadde/mednafen-wip/PKGBUILD new file mode 100755 index 000000000..e7330795b --- /dev/null +++ b/~coadde/mednafen-wip/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Hans-Kristian Arntzen +# Contributor: Angel 'angvp' Velasquez +# Contributor: kagan +# Contributor (Parabola): André Silva + +pkgname=mednafen-wip +pkgver=0.9.22 +pkgrel=1 +pkgdesc="A command-line multi-system gaming emulator, WIP version" +url="http://mednafen.sourceforge.net/" +license=(GPL) +arch=('i686' 'x86_64') +depends=('libcdio>=0.82' 'libsamplerate' 'libogg' 'libvorbis' 'sdl' 'sdl_net' 'libsndfile' 'zlib') +makedepends=('pkgconfig' 'mesa') +conflicts=('mednafen') +provides=('mednafen') +source=('http://forum.fobby.net/index.php?t=getfile&id=362&') +sha1sums=('609d3915f4b65f6a7e77441d26efd744f3149981') + +build() +{ + cd $srcdir/mednafen + ./configure --prefix=/usr + make +} + +package() +{ + cd $srcdir/mednafen + make DESTDIR=$pkgdir install +} diff --git a/~emulatorman/timekpr/Initializes_lastNotified_before_it_is_used.patch b/~emulatorman/timekpr/Initializes_lastNotified_before_it_is_used.patch new file mode 100644 index 000000000..870a2670a --- /dev/null +++ b/~emulatorman/timekpr/Initializes_lastNotified_before_it_is_used.patch @@ -0,0 +1,10 @@ +--- a/timekpr-client.py 2011-04-15 13:17:59.000000000 +0200 ++++ b/timekpr-client.py 2011-04-15 13:19:06.000000000 +0200 +@@ -40,6 +40,7 @@ + self.conffile = self.VAR['TIMEKPRDIR'] + '/' + self.username + self.limits, self.bfrom, self.bto = readusersettings(self.username, self.conffile) + self.timer = None ++ self.lastNotified = datetime.datetime.fromtimestamp(0); + self.checkLimits() + #Add a gobject loop to check limits: + self.timer = gobject.timeout_add(self.checkInterval * 1000, self.checkLimits) diff --git a/~emulatorman/timekpr/PKGBUILD b/~emulatorman/timekpr/PKGBUILD new file mode 100644 index 000000000..2196dd275 --- /dev/null +++ b/~emulatorman/timekpr/PKGBUILD @@ -0,0 +1,74 @@ +# Contributor: SanskritFritz (gmail) + +pkgname=timekpr +pkgver=0.3.2 +pkgrel=8 +pkgdesc="Control the computer usage of your user accounts. You can limit their daily usage based on a timed access duration and configure periods of day when they can log in." +arch=('i686' 'x86_64') +url=https://launchpad.net/timekpr +license=('GPL') +depends=('python2') +source=(http://launchpad.net/$pkgname/trunk/$pkgver/+download/${pkgname}_${pkgver}~ppa1~ubuntu2.tar.gz + timekprd.sh + Initializes_lastNotified_before_it_is_used.patch) +install='timekpr.install' +md5sums=('0626ee6b6b6d218dfdd6e79331f789a2' + 'ab37e469034200c19b46a31d586bfe3e' + '23848ef2578571d7dc4871fbd15f41ed') + + +build() { + cd ${srcdir}/stable/gui/client + # https://bugs.launchpad.net/timekpr/+bug/761647 + patch -p1 < ${srcdir}/Initializes_lastNotified_before_it_is_used.patch +} + +package() { + install -dm755 $pkgdir/etc/{rc.d,timekpr,logrotate.d,xdg/autostart} + install -dm755 $pkgdir/usr/{bin,share/{doc/timekpr,timekpr,python-support/timekpr,pixmaps,applications,man/man8}} + install -dm755 $pkgdir/usr/share/locale/{da,de,fr,hu,nb,sv,fi}/LC_MESSAGES + install -dm755 $pkgdir/var/lib/timekpr + + cd $srcdir/stable + install -m644 etc/timekpr.conf $pkgdir/etc/ + install -m644 etc/logrotate.d/timekpr $pkgdir/etc/logrotate.d/ + sed -i "s/python/python2/" timekpr + install -m755 timekpr $pkgdir/usr/bin/ + sed -i "s/python/python2/" timekpr-gui + install -m755 timekpr-gui $pkgdir/usr/bin/ + sed -i "s/python/python2/" timekpr-client + install -m755 timekpr-client $pkgdir/usr/bin/ + install -m755 timekprpam.py $pkgdir/usr/share/python-support/timekpr/ + install -m755 timekpr.py $pkgdir/usr/share/python-support/timekpr/ + install -m755 timekpr-gui.py $pkgdir/usr/share/python-support/timekpr/ + install -m755 gui/client/timekpr-client.py $pkgdir/usr/share/python-support/timekpr/ + install -m755 timekprpam.py $pkgdir/usr/share/python-support/timekpr/ + install -m755 timekprcommon.py $pkgdir/usr/share/python-support/timekpr/ + install -m644 gui/padlock-green.png $pkgdir/usr/share/timekpr/ + install -m644 gui/padlock-red.png $pkgdir/usr/share/timekpr/ + install -m644 gui/timekpr.glade $pkgdir/usr/share/timekpr/ + install -m644 gui/timekpr100x100.png $pkgdir/usr/share/timekpr/ + install -m644 gui/timekpr32x32.png $pkgdir/usr/share/timekpr/ + install -m644 gui/timekpr.xpm $pkgdir/usr/share/pixmaps/ + install -m644 debian/timekpr.desktop $pkgdir/usr/share/applications/ + install -m644 debian/timekpr-client.desktop $pkgdir/etc/xdg/autostart + install -m644 locale/da/LC_MESSAGES/timekpr.mo $pkgdir/usr/share/locale/da/LC_MESSAGES/ + install -m644 locale/de/LC_MESSAGES/timekpr.mo $pkgdir/usr/share/locale/de/LC_MESSAGES/ + install -m644 locale/fr/LC_MESSAGES/timekpr.mo $pkgdir/usr/share/locale/fr/LC_MESSAGES/ + install -m644 locale/hu/LC_MESSAGES/timekpr.mo $pkgdir/usr/share/locale/hu/LC_MESSAGES/ + install -m644 locale/nb/LC_MESSAGES/timekpr.mo $pkgdir/usr/share/locale/nb/LC_MESSAGES/ + install -m644 locale/sv/LC_MESSAGES/timekpr.mo $pkgdir/usr/share/locale/sv/LC_MESSAGES/ + install -m644 locale/fi/LC_MESSAGES/timekpr.mo $pkgdir/usr/share/locale/fi/LC_MESSAGES/ + install -m644 TODO.txt $pkgdir/usr/share/doc/timekpr + install -m644 README.txt $pkgdir/usr/share/doc/timekpr + install -m644 COPYRIGHT.txt $pkgdir/usr/share/doc/timekpr + install -m644 CONTRIBUTORS.txt $pkgdir/usr/share/doc/timekpr + install -m644 debian/changelog $pkgdir/usr/share/doc/timekpr + install -m644 doc/timekpr.8 $pkgdir/usr/share/man/man8 + + install -m755 debian/timekpr.postrm $pkgdir/usr/bin/ + install -m755 debian/timekpr.postinst $pkgdir/usr/bin/ + + cd $srcdir + install -m755 timekprd.sh $pkgdir/etc/rc.d/timekprd +} diff --git a/~emulatorman/timekpr/timekpr.install b/~emulatorman/timekpr/timekpr.install new file mode 100644 index 000000000..b01769c48 --- /dev/null +++ b/~emulatorman/timekpr/timekpr.install @@ -0,0 +1,24 @@ + +post_install() { + /usr/bin/timekpr.postinst + + echo "Your su command (gksu|gksudo|kdesu|kdesudo etc) for starting timekpr-gui as root: " + read su_command; + sed -i "s/gksu/${su_command}/" "/usr/share/applications/timekpr.desktop" + + echo + echo "Start the timekpr daemon with '/etc/rc.d/timekprd start'" + echo "For permanent use put 'timekprd' into your DAEMONS array." +} + +post_upgrade() { + post_install +} + +pre_remove() { + /usr/bin/timekpr.postrm purge +} + +post_remove() { + echo "Remove the timekprd entry from your DAEMONS array." +} diff --git a/~emulatorman/timekpr/timekprd.sh b/~emulatorman/timekpr/timekprd.sh new file mode 100755 index 000000000..19e4a3af4 --- /dev/null +++ b/~emulatorman/timekpr/timekprd.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -x -o %PPID /etc/rc.d/timekprd` +case "$1" in + start) + stat_busy "Starting timekpr" + [ -z "$PID" ] && /usr/bin/timekpr & + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon timekprd + stat_done + fi + ;; + stop) + stat_busy "Stopping timekpr" + [ ! -z "$PID" ] && killall --user root timekpr &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon timekprd + stat_done + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/~fauno/notmuch/PKGBUILD b/~fauno/notmuch/PKGBUILD index 95270b3d4..a2cf261a2 100644 --- a/~fauno/notmuch/PKGBUILD +++ b/~fauno/notmuch/PKGBUILD @@ -3,7 +3,7 @@ # Maintainer: Richard Murri pkgname=notmuch -pkgver=0.12 +pkgver=0.13.1 pkgrel=1 pkgdesc="Notmuch is not much of an email program" arch=(i686 x86_64 mips64el) @@ -19,7 +19,6 @@ optdepends=('emacs: for using the emacs interface' options=(!distcc !makeflags) source=("http://notmuchmail.org/releases/${pkgname}-${pkgver}.tar.gz") -md5sums=('466974db1d8a215c6a2d7cca7c969b4f') build() { cd "$srcdir/${pkgname}-"* @@ -62,4 +61,8 @@ package(){ cd $srcdir/${pkgname}-*/bindings/ruby sed -i -e 's,/site_ruby,,g' Makefile make prefix=${pkgdir}/usr install + +# Remove conflicting zsh completion + rm -r ${pkgdir}/usr/share/zsh } +md5sums=('1380d4b010e4321288a48ef09edf9de2') diff --git a/~fauno/pandoc/PKGBUILD b/~fauno/pandoc/PKGBUILD index 875e6bb0a..56b9567f8 100644 --- a/~fauno/pandoc/PKGBUILD +++ b/~fauno/pandoc/PKGBUILD @@ -1,16 +1,21 @@ # Maintainer: Nicolas Reynolds # Based on haskell-pandoc +# Run `makepkg -srp SRCBUILD` if you want to update the source tarball + pkgname=pandoc -pkgver=1.9.1.2 -pkgrel=2 +pkgver=1.9.3 +pkgrel=1 pkgdesc='Conversion between markup formats (no Haskell libs)' url='http://johnmacfarlane.net/pandoc/' license=('GPL') arch=('i686' 'x86_64') makedepends=('ghc' 'sh' 'cabal-install') options=('strip') -source=(https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-${pkgrel}-any.src.tar.xz{,.sig}) +source=(https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-${pkgrel}-any.src.tar.xz{,.sig} SRCBUILD) +md5sums=('944f2b32803b0335345853cd2b1c1ad7' + '0ee3190fd7d43bcfebdb282ff12584f2' + 'ecc040d30c6e4fb77c32d598dd03729d') conflicts=('haskell-pandoc') # PKGBUILD functions @@ -55,5 +60,3 @@ package() { find ${pkgdir}/usr/share -type f -exec chmod 644 {} \; find ${pkgdir}/usr/share -type d -exec chmod 755 {} \; } -md5sums=('f377f51be658821876e49e5485d47219' - 'd08ee033440f16c30b2b8b6b80ae12c7') diff --git a/~fauno/pandoc/SRCBUILD b/~fauno/pandoc/SRCBUILD index 09b154d7a..5ef2b9dc1 100644 --- a/~fauno/pandoc/SRCBUILD +++ b/~fauno/pandoc/SRCBUILD @@ -2,8 +2,8 @@ # Based on haskell-pandoc pkgname=pandoc -pkgver=1.9.1.2 -pkgrel=2 +pkgver=1.9.3 +pkgrel=1 pkgdesc='Conversion between markup formats (no Haskell libs)' url='http://johnmacfarlane.net/pandoc/' license=('GPL') -- cgit v1.2.3-54-g00ecf From 2ed96c6eb798c762b61a93a8b4cf80220c00ac1f Mon Sep 17 00:00:00 2001 From: Parabola Date: Thu, 31 May 2012 16:32:49 +0000 Subject: Thu May 31 16:32:49 UTC 2012 --- community-testing/multipath-tools/all-in-one.patch | 209 --- community/libmediainfo/gcc-4.7.patch | 79 -- extra/cups-filters/PKGBUILD | 33 - .../linux-libre-aufs_friendly/CVE-2012-0056.patch | 268 ---- .../linux-libre-aufs_friendly/dib0700-fix.patch | 1487 -------------------- kernels/linux-libre-aufs_friendly/fix-i915.patch | 26 - .../i915-fix-incorrect-error-message.patch | 22 - .../i915-gpu-finish.patch | 55 - .../iwlagn-fix-NULL-pointer-dereference.patch | 38 - ...aid10-fix-bug-when-activating-a-hot-spare.patch | 40 - ...dd-reset-resume-quirk-for-several-webcams.patch | 99 -- libre-testing/icedove-libre/PKGBUILD | 87 -- libre-testing/icedove-libre/channel-prefs.js | 9 - libre-testing/icedove-libre/gcc47.patch | 44 - libre-testing/icedove-libre/icedove.install | 12 - libre-testing/icedove-libre/makefile.patch | 11 - libre-testing/icedove-libre/mozconfig | 47 - libre-testing/icedove-libre/rules.patch | 16 - .../icedove-libre/searchplugins-libre.patch | 141 -- libre-testing/icedove-libre/vendor.js | 12 - libre/foomatic/PKGBUILD | 92 -- libre/ghostscript-libre/SRCBUILD | 32 - .../ghostscript-libre/ghostscript-cups-rgbw.patch | 263 ---- ...hostscript-gpl-9.04-freetype-underlinking.patch | 12 - libre/ghostscript-libre/gs_bug691759and691760.diff | 215 --- libre/kdenetwork-libre/PKGBUILD | 121 -- libre/kdenetwork-libre/kdenetwork-kget.install | 12 - libre/kdenetwork-libre/kdenetwork-kopete.install | 12 - libre/kdenetwork-libre/kdenetwork-kppp.install | 12 - libre/kdenetwork-libre/kdenetwork.install | 11 - libre/linux-libre-lts/CVE-2012-0056.patch | 269 ---- libre/linux-libre/CVE-2012-0056.patch | 268 ---- libre/linux-libre/dib0700-fix.patch | 1487 -------------------- libre/linux-libre/ext4-options.patch | 50 - libre/linux-libre/fix-i915.patch | 26 - libre/linux-libre/fix-memblock-3.3.x.patch | 65 - libre/linux-libre/fix-r8712u-3.3.2.patch | 56 - .../i915-fix-incorrect-error-message.patch | 22 - libre/linux-libre/i915-gpu-finish.patch | 55 - .../iwlagn-fix-NULL-pointer-dereference.patch | 38 - ...aid10-fix-bug-when-activating-a-hot-spare.patch | 40 - ...dd-reset-resume-quirk-for-several-webcams.patch | 99 -- libre/thunderbird-libre/gcc46.patch | 12 - libre/thunderbird-libre/gnuzilla-addons.patch | 36 - libre/thunderbird-libre/libvpx.patch | 12 - libre/thunderbird-libre/mozilla-notify.patch | 12 - libre/thunderbird-libre/python2.7.patch | 11 - .../thunderbird-libre/thunderbird-appversion.patch | 12 - .../thunderbird-preferences.patch | 30 - .../thunderbird-shared-error.patch | 15 - libre/thunderbird-libre/xulrunner-png14.patch | 11 - testing/krb5/PKGBUILD | 77 - testing/krb5/krb5-1.10.1-gcc47.patch | 11 - testing/krb5/krb5-kadmind | 40 - testing/krb5/krb5-kdc | 40 - testing/krb5/krb5-kpropd | 40 - testing/mdadm/PKGBUILD | 58 - testing/mdadm/disable-werror.patch | 11 - testing/mdadm/linux-3.0.patch | 45 - testing/mdadm/mdadm | 42 - testing/mdadm/mdadm.conf | 67 - testing/mdadm/mdadm.service | 8 - testing/mdadm/mdadm_hook | 49 - testing/mdadm/mdadm_install | 45 - testing/mdadm/mdadm_udev_install | 24 - testing/nfs-utils/PKGBUILD | 105 -- testing/nfs-utils/blkmapd.service | 11 - testing/nfs-utils/exports | 15 - testing/nfs-utils/idmapd.conf | 14 - testing/nfs-utils/nfs | 40 - testing/nfs-utils/nfs-common | 315 ----- testing/nfs-utils/nfs-common.conf | 40 - testing/nfs-utils/nfs-server | 299 ---- testing/nfs-utils/nfs-server.conf | 29 - testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch | 39 - testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch | 15 - testing/nfs-utils/nfs-utils.conf | 1 - testing/nfs-utils/nfs-utils.install | 32 - testing/nfs-utils/nfsd.service | 16 - testing/nfs-utils/proc-fs-nfsd.mount | 8 - testing/nfs-utils/rpc-gssd.service | 12 - testing/nfs-utils/rpc-idmapd.service | 12 - testing/nfs-utils/rpc-mountd.service | 12 - testing/nfs-utils/rpc-statd.service | 12 - testing/nfs-utils/rpc-svcgssd.service | 12 - testing/nfs-utils/start-statd.patch | 22 - testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount | 7 - ~lukeshu/parabolaweb-git/PKGBUILD | 37 - ~lukeshu/parabolaweb-git/parabolaweb.install | 65 - 89 files changed, 7870 deletions(-) delete mode 100644 community-testing/multipath-tools/all-in-one.patch delete mode 100644 community/libmediainfo/gcc-4.7.patch delete mode 100644 extra/cups-filters/PKGBUILD delete mode 100644 kernels/linux-libre-aufs_friendly/CVE-2012-0056.patch delete mode 100644 kernels/linux-libre-aufs_friendly/dib0700-fix.patch delete mode 100644 kernels/linux-libre-aufs_friendly/fix-i915.patch delete mode 100644 kernels/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch delete mode 100644 kernels/linux-libre-aufs_friendly/i915-gpu-finish.patch delete mode 100644 kernels/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch delete mode 100644 kernels/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch delete mode 100644 kernels/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch delete mode 100644 libre-testing/icedove-libre/PKGBUILD delete mode 100644 libre-testing/icedove-libre/channel-prefs.js delete mode 100644 libre-testing/icedove-libre/gcc47.patch delete mode 100644 libre-testing/icedove-libre/icedove.install delete mode 100644 libre-testing/icedove-libre/makefile.patch delete mode 100644 libre-testing/icedove-libre/mozconfig delete mode 100644 libre-testing/icedove-libre/rules.patch delete mode 100644 libre-testing/icedove-libre/searchplugins-libre.patch delete mode 100644 libre-testing/icedove-libre/vendor.js delete mode 100644 libre/foomatic/PKGBUILD delete mode 100644 libre/ghostscript-libre/SRCBUILD delete mode 100644 libre/ghostscript-libre/ghostscript-cups-rgbw.patch delete mode 100644 libre/ghostscript-libre/ghostscript-gpl-9.04-freetype-underlinking.patch delete mode 100644 libre/ghostscript-libre/gs_bug691759and691760.diff delete mode 100644 libre/kdenetwork-libre/PKGBUILD delete mode 100644 libre/kdenetwork-libre/kdenetwork-kget.install delete mode 100644 libre/kdenetwork-libre/kdenetwork-kopete.install delete mode 100644 libre/kdenetwork-libre/kdenetwork-kppp.install delete mode 100644 libre/kdenetwork-libre/kdenetwork.install delete mode 100644 libre/linux-libre-lts/CVE-2012-0056.patch delete mode 100644 libre/linux-libre/CVE-2012-0056.patch delete mode 100644 libre/linux-libre/dib0700-fix.patch delete mode 100644 libre/linux-libre/ext4-options.patch delete mode 100644 libre/linux-libre/fix-i915.patch delete mode 100644 libre/linux-libre/fix-memblock-3.3.x.patch delete mode 100644 libre/linux-libre/fix-r8712u-3.3.2.patch delete mode 100644 libre/linux-libre/i915-fix-incorrect-error-message.patch delete mode 100644 libre/linux-libre/i915-gpu-finish.patch delete mode 100644 libre/linux-libre/iwlagn-fix-NULL-pointer-dereference.patch delete mode 100644 libre/linux-libre/md-raid10-fix-bug-when-activating-a-hot-spare.patch delete mode 100644 libre/linux-libre/usb-add-reset-resume-quirk-for-several-webcams.patch delete mode 100644 libre/thunderbird-libre/gcc46.patch delete mode 100644 libre/thunderbird-libre/gnuzilla-addons.patch delete mode 100644 libre/thunderbird-libre/libvpx.patch delete mode 100644 libre/thunderbird-libre/mozilla-notify.patch delete mode 100644 libre/thunderbird-libre/python2.7.patch delete mode 100644 libre/thunderbird-libre/thunderbird-appversion.patch delete mode 100644 libre/thunderbird-libre/thunderbird-preferences.patch delete mode 100644 libre/thunderbird-libre/thunderbird-shared-error.patch delete mode 100644 libre/thunderbird-libre/xulrunner-png14.patch delete mode 100644 testing/krb5/PKGBUILD delete mode 100644 testing/krb5/krb5-1.10.1-gcc47.patch delete mode 100644 testing/krb5/krb5-kadmind delete mode 100644 testing/krb5/krb5-kdc delete mode 100644 testing/krb5/krb5-kpropd delete mode 100644 testing/mdadm/PKGBUILD delete mode 100644 testing/mdadm/disable-werror.patch delete mode 100644 testing/mdadm/linux-3.0.patch delete mode 100755 testing/mdadm/mdadm delete mode 100644 testing/mdadm/mdadm.conf delete mode 100644 testing/mdadm/mdadm.service delete mode 100755 testing/mdadm/mdadm_hook delete mode 100644 testing/mdadm/mdadm_install delete mode 100644 testing/mdadm/mdadm_udev_install delete mode 100644 testing/nfs-utils/PKGBUILD delete mode 100644 testing/nfs-utils/blkmapd.service delete mode 100644 testing/nfs-utils/exports delete mode 100644 testing/nfs-utils/idmapd.conf delete mode 100644 testing/nfs-utils/nfs delete mode 100644 testing/nfs-utils/nfs-common delete mode 100644 testing/nfs-utils/nfs-common.conf delete mode 100644 testing/nfs-utils/nfs-server delete mode 100644 testing/nfs-utils/nfs-server.conf delete mode 100644 testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch delete mode 100644 testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch delete mode 100644 testing/nfs-utils/nfs-utils.conf delete mode 100644 testing/nfs-utils/nfs-utils.install delete mode 100644 testing/nfs-utils/nfsd.service delete mode 100644 testing/nfs-utils/proc-fs-nfsd.mount delete mode 100644 testing/nfs-utils/rpc-gssd.service delete mode 100644 testing/nfs-utils/rpc-idmapd.service delete mode 100644 testing/nfs-utils/rpc-mountd.service delete mode 100644 testing/nfs-utils/rpc-statd.service delete mode 100644 testing/nfs-utils/rpc-svcgssd.service delete mode 100644 testing/nfs-utils/start-statd.patch delete mode 100644 testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount delete mode 100644 ~lukeshu/parabolaweb-git/PKGBUILD delete mode 100644 ~lukeshu/parabolaweb-git/parabolaweb.install (limited to 'community') diff --git a/community-testing/multipath-tools/all-in-one.patch b/community-testing/multipath-tools/all-in-one.patch deleted file mode 100644 index ff8f6824c..000000000 --- a/community-testing/multipath-tools/all-in-one.patch +++ /dev/null @@ -1,209 +0,0 @@ -diff -rupN upstream/Makefile.inc devel/Makefile.inc ---- upstream/Makefile.inc 2010-05-22 14:01:58.000000000 +0200 -+++ devel/Makefile.inc 2012-05-26 10:14:46.969786387 +0200 -@@ -32,11 +32,10 @@ rcdir = $(prefix)/etc/init.d - syslibdir = $(prefix)/$(LIB) - libdir = $(prefix)/$(LIB)/multipath - --GZIP = /bin/gzip -9 -c - INSTALL_PROGRAM = install - --OPTFLAGS = -pipe -g -Wall -Wunused -Wstrict-prototypes --CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -+OPTFLAGS = -Wall -Wunused -Wstrict-prototypes -+CFLAGS += $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" - SHARED_FLAGS = -shared - - %.o: %.c -diff -rupN upstream/kpartx/Makefile devel/kpartx/Makefile ---- upstream/kpartx/Makefile 2010-05-22 14:01:58.000000000 +0200 -+++ devel/kpartx/Makefile 2012-05-26 10:23:38.909780754 +0200 -@@ -6,7 +6,7 @@ include ../Makefile.inc - - CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 - --LDFLAGS = -ldevmapper -+LIBS = -ldevmapper - OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ - gpt.o mac.o crc32.o lopart.o xstrncpy.o devmapper.o - EXEC = kpartx -@@ -14,22 +14,22 @@ EXEC = kpartx - all: $(EXEC) - - $(EXEC): $(OBJS) -- $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) -- $(GZIP) $(EXEC).8 > $(EXEC).8.gz -+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) - - install: $(EXEC) $(EXEC).8 - $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) - $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) -- $(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d -- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)/etc/udev/rules.d/ -+ $(INSTALL_PROGRAM) -d $(DESTDIR)/usr/lib/udev/rules.d -+ $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)/usr/lib/udev/rules.d/66-kpartx.rules - $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) - - uninstall: - rm -f $(DESTDIR)$(bindir)/$(EXEC) -- rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz -+ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 -+ rm -f $(DESTDIR)/usr/lib/udev/rules.d/66-kpartx.rules - - clean: -- rm -f core *.o $(EXEC) *.gz -+ rm -f core *.o $(EXEC) -diff -rupN upstream/kpartx/kpartx.rules devel/kpartx/kpartx.rules ---- upstream/kpartx/kpartx.rules 2010-05-22 14:01:58.000000000 +0200 -+++ devel/kpartx/kpartx.rules 2012-05-26 10:30:32.769776372 +0200 -@@ -27,9 +27,9 @@ ENV{DM_PART}=="?*", \ - - # Create dm tables for partitions - ENV{DM_STATE}=="ACTIVE", ENV{DM_UUID}=="mpath-*", \ -- RUN+="/sbin/kpartx -a -p -part /dev/$name" -+ RUN+="/usr/sbin/kpartx -a -p -part /dev/$name" - ENV{DM_STATE}=="ACTIVE", ENV{DM_UUID}=="dmraid-*", \ -- RUN+="/sbin/kpartx -a -p -part /dev/$name" -+ RUN+="/usr/sbin/kpartx -a -p -part /dev/$name" - - LABEL="kpartx_end" - -diff -rupN upstream/multipath/Makefile devel/multipath/Makefile ---- upstream/multipath/Makefile 2010-05-22 14:01:58.000000000 +0200 -+++ devel/multipath/Makefile 2012-05-26 10:22:38.819781391 +0200 -@@ -7,32 +7,30 @@ include ../Makefile.inc - OBJS = main.o - - CFLAGS += -I$(multipathdir) --LDFLAGS += -lpthread -ldevmapper -ldl -lmultipath -L$(multipathdir) -+LIBS = -lpthread -ldevmapper -ldl -L$(multipathdir) -lmultipath - - EXEC = multipath - - all: $(EXEC) - - $(EXEC): $(OBJS) -- $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) -- $(GZIP) $(EXEC).8 > $(EXEC).8.gz -- $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz -+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) - - install: - $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ -- $(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d -- $(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/etc/udev/rules.d/ -+ $(INSTALL_PROGRAM) -d $(DESTDIR)/usr/lib/udev/rules.d -+ $(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/usr/lib/udev/rules.d/65-multipath.rules - $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) - $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(man5dir) - - uninstall: -- rm $(DESTDIR)/etc/udev/rules.d/multipath.rules -- rm $(DESTDIR)$(bindir)/$(EXEC) -- rm $(DESTDIR)$(mandir)/$(EXEC).8.gz -- rm $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz -+ rm -f $(DESTDIR)/usr/lib/udev/rules.d/65-multipath.rules -+ rm -f $(DESTDIR)$(bindir)/$(EXEC) -+ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 -+ rm -f $(DESTDIR)$(man5dir)/$(EXEC).conf.5 - - clean: -- rm -f core *.o $(EXEC) *.gz -+ rm -f core *.o $(EXEC) -diff -rupN upstream/multipath/multipath.rules devel/multipath/multipath.rules ---- upstream/multipath/multipath.rules 2010-05-22 14:01:58.000000000 +0200 -+++ devel/multipath/multipath.rules 2012-05-26 10:17:34.849784609 +0200 -@@ -1,7 +1,24 @@ --# --# udev rules for multipathing. --# The persistent symlinks are created with the kpartx rules --# -+# multipath wants the devmaps presented as meaninglful device names -+# so name them after their devmap name -+SUBSYSTEM!="block", GOTO="end_mpath" - --# socket for uevents --SUBSYSTEM=="block", RUN+="socket:/org/kernel/dm/multipath_event" -+ENV{MPATH_SBIN_PATH}="/sbin" -+TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin" -+ -+ACTION=="add", ENV{DEVTYPE}!="partition", \ -+ ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \ -+ PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -c $tempnode", \ -+ ENV{DM_MULTIPATH_DEVICE_PATH}="1" -+ -+ENV{DM_MULTIPATH_DEVICE_PATH}=="1", ENV{DEVTYPE}!="partition", \ -+ RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}" -+ -+RUN+="socket:/org/kernel/dm/multipath_event" -+KERNEL!="dm-*", GOTO="end_mpath" -+ACTION!="change", GOTO="end_mpath" -+ENV{DM_UUID}=="mpath-?*|part[0-9]*-mpath-?*", OPTIONS+="link_priority=10" -+ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath" -+ENV{DM_SUSPENDED}=="1", GOTO="end_mpath" -+ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath" -+RUN+="$env{MPATH_SBIN_PATH}/kpartx -a -p p $tempnode" -+LABEL="end_mpath" -diff -rupN upstream/multipath-tools.spec.in devel/multipath-tools.spec.in ---- upstream/multipath-tools.spec.in 2010-05-22 14:01:58.000000000 +0200 -+++ devel/multipath-tools.spec.in 2012-05-26 10:24:16.989780353 +0200 -@@ -47,8 +47,8 @@ rm -rf $RPM_BUILD_ROOT - %{prefix}/usr/share/man/man8/multipathd.8.gz - %{prefix}/usr/share/man/man5/multipath.conf.5.gz - %{prefix}/sbin/multipathd --%{prefix}/etc/udev/rules.d/multipath.rules --%{prefix}/etc/udev/rules.d/kpartx.rules -+%{prefix}/usr/lib/udev/rules.d/multipath.rules -+%{prefix}/usr/lib/udev/rules.d/kpartx.rules - %{prefix}/lib/udev/kpartx_id - %{prefix}/lib/multipath/*.so - -diff -rupN upstream/multipathd/Makefile devel/multipathd/Makefile ---- upstream/multipathd/Makefile 2010-05-22 14:01:58.000000000 +0200 -+++ devel/multipathd/Makefile 2012-05-26 10:14:46.969786387 +0200 -@@ -6,8 +6,8 @@ include ../Makefile.inc - # basic flags setting - # - CFLAGS += -I$(multipathdir) --LDFLAGS += -lpthread -ldevmapper -lreadline -lncurses -ldl \ -- -lmultipath -L$(multipathdir) -+LIBS = -lpthread -ldevmapper -lreadline -lncurses -ldl \ -+ -L$(multipathdir) -lmultipath - - # - # debuging stuff -@@ -28,21 +28,20 @@ OBJS = main.o pidfile.o uxlsnr.o uxclnt. - all : $(EXEC) - - $(EXEC): $(OBJS) -- $(CC) $(CFLAGS) $(LDFLAGS) -o $(EXEC) $(OBJS) -- $(GZIP) $(EXEC).8 > $(EXEC).8.gz -+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) - - install: - $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -d $(DESTDIR)$(rcdir) - $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) - - uninstall: - rm -f $(DESTDIR)$(bindir)/$(EXEC) - rm -f $(DESTDIR)$(rcdir)/$(EXEC) -- rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz -+ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 - - clean: -- rm -f core *.o $(EXEC) *.gz -+ rm -f core *.o $(EXEC) - diff --git a/community/libmediainfo/gcc-4.7.patch b/community/libmediainfo/gcc-4.7.patch deleted file mode 100644 index 5bdfc53e3..000000000 --- a/community/libmediainfo/gcc-4.7.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -aur MediaInfoLib/Source/MediaInfo/Reader/Reader_libcurl.cpp MediaInfoLib.patched/Source/MediaInfo/Reader/Reader_libcurl.cpp ---- MediaInfoLib/Source/MediaInfo/Reader/Reader_libcurl.cpp 2012-04-08 20:25:35.000000000 +0200 -+++ MediaInfoLib.patched/Source/MediaInfo/Reader/Reader_libcurl.cpp 2012-04-13 05:14:46.924995168 +0200 -@@ -249,15 +249,15 @@ - #else - libcurl_Module=dlopen(MEDIAINFODLL_NAME, RTLD_LAZY); - if (!libcurl_Module) -- libcurl_Module=dlopen("./"MEDIAINFODLL_NAME, RTLD_LAZY); -+ libcurl_Module=dlopen("./" MEDIAINFODLL_NAME, RTLD_LAZY); - if (!libcurl_Module) -- libcurl_Module=dlopen("/usr/local/lib/"MEDIAINFODLL_NAME, RTLD_LAZY); -+ libcurl_Module=dlopen("/usr/local/lib/" MEDIAINFODLL_NAME, RTLD_LAZY); - if (!libcurl_Module) -- libcurl_Module=dlopen("/usr/local/lib64/"MEDIAINFODLL_NAME, RTLD_LAZY); -+ libcurl_Module=dlopen("/usr/local/lib64/" MEDIAINFODLL_NAME, RTLD_LAZY); - if (!libcurl_Module) -- libcurl_Module=dlopen("/usr/lib/"MEDIAINFODLL_NAME, RTLD_LAZY); -+ libcurl_Module=dlopen("/usr/lib/" MEDIAINFODLL_NAME, RTLD_LAZY); - if (!libcurl_Module) -- libcurl_Module=dlopen("/usr/lib64/"MEDIAINFODLL_NAME, RTLD_LAZY); -+ libcurl_Module=dlopen("/usr/lib64/" MEDIAINFODLL_NAME, RTLD_LAZY); - #endif - if (!libcurl_Module) - { -diff -aur MediaInfoLib/Source/MediaInfoDLL/MediaInfoDLL.h MediaInfoLib.patched/Source/MediaInfoDLL/MediaInfoDLL.h ---- MediaInfoLib/Source/MediaInfoDLL/MediaInfoDLL.h 2012-04-08 12:08:50.000000000 +0200 -+++ MediaInfoLib.patched/Source/MediaInfoDLL/MediaInfoDLL.h 2012-04-13 05:14:05.481020899 +0200 -@@ -248,24 +248,24 @@ - - #ifdef MEDIAINFO_GLIBC - #define MEDIAINFO_ASSIGN(_Name,_Name2) \ -- if (!g_module_symbol (MediaInfo_Module, "MediaInfo"MEDIAINFO_Ansi"_"_Name2, (gpointer*)&MediaInfo_##_Name)) \ -+ if (!g_module_symbol (MediaInfo_Module, "MediaInfo" MEDIAINFO_Ansi "_" _Name2, (gpointer*)&MediaInfo_##_Name)) \ - Errors++; - #define MEDIAINFOLIST_ASSIGN(_Name,_Name2) \ -- if (!g_module_symbol (MediaInfo_Module, "MediaInfoList"MEDIAINFO_Ansi"_"_Name2, (gpointer*)&MediaInfoList_##_Name)) \ -+ if (!g_module_symbol (MediaInfo_Module, "MediaInfoList" MEDIAINFO_Ansi "_" _Name2, (gpointer*)&MediaInfoList_##_Name)) \ - Errors++; - #elif defined (_WIN32) || defined (WIN32) - #define MEDIAINFO_ASSIGN(_Name,_Name2) \ -- MediaInfo_##_Name=(MEDIAINFO_##_Name)GetProcAddress(MediaInfo_Module, "MediaInfo"MEDIAINFO_Ansi"_"_Name2); \ -+ MediaInfo_##_Name=(MEDIAINFO_##_Name)GetProcAddress(MediaInfo_Module, "MediaInfo" MEDIAINFO_Ansi "_" _Name2); \ - if (MediaInfo_##_Name==NULL) Errors++; - #define MEDIAINFOLIST_ASSIGN(_Name,_Name2) \ -- MediaInfoList_##_Name=(MEDIAINFOLIST_##_Name)GetProcAddress(MediaInfo_Module, "MediaInfoList"MEDIAINFO_Ansi"_"_Name2); \ -+ MediaInfoList_##_Name=(MEDIAINFOLIST_##_Name)GetProcAddress(MediaInfo_Module, "MediaInfoList" MEDIAINFO_Ansi "_" _Name2); \ - if (MediaInfoList_##_Name==NULL) Errors++; - #else - #define MEDIAINFO_ASSIGN(_Name,_Name2) \ -- MediaInfo_##_Name=(MEDIAINFO_##_Name)dlsym(MediaInfo_Module, "MediaInfo"MEDIAINFO_Ansi"_"_Name2); \ -+ MediaInfo_##_Name=(MEDIAINFO_##_Name)dlsym(MediaInfo_Module, "MediaInfo" MEDIAINFO_Ansi "_" _Name2); \ - if (MediaInfo_##_Name==NULL) Errors++; - #define MEDIAINFOLIST_ASSIGN(_Name,_Name2) \ -- MediaInfoList_##_Name=(MEDIAINFOLIST_##_Name)dlsym(MediaInfo_Module, "MediaInfoList"MEDIAINFO_Ansi"_"_Name2); \ -+ MediaInfoList_##_Name=(MEDIAINFOLIST_##_Name)dlsym(MediaInfo_Module, "MediaInfoList" MEDIAINFO_Ansi "_" _Name2); \ - if (MediaInfoList_##_Name==NULL) Errors++; - #endif - -@@ -317,15 +317,15 @@ - #else - MediaInfo_Module=dlopen(MEDIAINFODLL_NAME, RTLD_LAZY); - if (!MediaInfo_Module) -- MediaInfo_Module=dlopen("./"MEDIAINFODLL_NAME, RTLD_LAZY); -+ MediaInfo_Module=dlopen("./" MEDIAINFODLL_NAME, RTLD_LAZY); - if (!MediaInfo_Module) -- MediaInfo_Module=dlopen("/usr/local/lib/"MEDIAINFODLL_NAME, RTLD_LAZY); -+ MediaInfo_Module=dlopen("/usr/local/lib/" MEDIAINFODLL_NAME, RTLD_LAZY); - if (!MediaInfo_Module) -- MediaInfo_Module=dlopen("/usr/local/lib64/"MEDIAINFODLL_NAME, RTLD_LAZY); -+ MediaInfo_Module=dlopen("/usr/local/lib64/" MEDIAINFODLL_NAME, RTLD_LAZY); - if (!MediaInfo_Module) -- MediaInfo_Module=dlopen("/usr/lib/"MEDIAINFODLL_NAME, RTLD_LAZY); -+ MediaInfo_Module=dlopen("/usr/lib/" MEDIAINFODLL_NAME, RTLD_LAZY); - if (!MediaInfo_Module) -- MediaInfo_Module=dlopen("/usr/lib64/"MEDIAINFODLL_NAME, RTLD_LAZY); -+ MediaInfo_Module=dlopen("/usr/lib64/" MEDIAINFODLL_NAME, RTLD_LAZY); - #endif - if (!MediaInfo_Module) - return (size_t)-1; diff --git a/extra/cups-filters/PKGBUILD b/extra/cups-filters/PKGBUILD deleted file mode 100644 index b702d997e..000000000 --- a/extra/cups-filters/PKGBUILD +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: PKGBUILD 160054 2012-05-28 15:36:43Z andyrtr $ -# Maintainer: Andreas Radke - -pkgname=cups-filters -pkgver=1.0.18 -pkgrel=2 -pkgdesc="OpenPrinting CUPS Filters" -arch=('i686' 'x86_64') -url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting" -license=('GPL') -depends=('lcms2' 'poppler') -makedepends=('ghostscript') -optdepends=('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' - 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly' - 'foomatic-db-nonfree: drivers use Ghostscript to convert PostScript to a printable form directly') -backup=(etc/fonts/conf.d/99pdftoopvp.conf) -source=(http://www.openprinting.org/download/cups-filters/$pkgname-$pkgver.tar.gz) -md5sums=(63972b426b7224915cdbb42b2a937374'') - -build() { - cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr --sysconfdir=/etc - make -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - #make DESTDIR="$pkgdir/" install - make install BUILDROOT="$pkgdir/" - # drop static lib - rm -f ${pkgdir}/usr/lib/*.a -} diff --git a/kernels/linux-libre-aufs_friendly/CVE-2012-0056.patch b/kernels/linux-libre-aufs_friendly/CVE-2012-0056.patch deleted file mode 100644 index 6a83fef1c..000000000 --- a/kernels/linux-libre-aufs_friendly/CVE-2012-0056.patch +++ /dev/null @@ -1,268 +0,0 @@ -From e268337dfe26dfc7efd422a804dbb27977a3cccc Mon Sep 17 00:00:00 2001 -From: Linus Torvalds -Date: Tue, 17 Jan 2012 15:21:19 -0800 -Subject: [PATCH] proc: clean up and fix /proc//mem handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Jüri Aedla reported that the /proc//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 -Cc: Al Viro -Signed-off-by: Linus Torvalds ---- - 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/kernels/linux-libre-aufs_friendly/dib0700-fix.patch b/kernels/linux-libre-aufs_friendly/dib0700-fix.patch deleted file mode 100644 index 48f07e6fd..000000000 --- a/kernels/linux-libre-aufs_friendly/dib0700-fix.patch +++ /dev/null @@ -1,1487 +0,0 @@ -commit 198c545cd7306dc90aaae1d61e64175e70a70dc8 -Author: Patrick Boettcher -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 - Cc: Florian Mickler - Cc: stable@kernel.org - - Signed-off-by: Olivier Grenie - Signed-off-by: Patrick Boettcher - -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 - #include - #include -+#include - - #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 - #include - #include -+#include - - #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 - #include - #include -+#include - - #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 - #include - #include -+#include - - #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 - #include - #include -+#include -+ - #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 -+#include - - #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 -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 - Cc: Florian Mickler - Cc: stable@kernel.org - - Signed-off-by: Javier Marcet - Signed-off-by: Olivier Grenie - Signed-off-by: Patrick Boettcher - -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 -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 - -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/kernels/linux-libre-aufs_friendly/fix-i915.patch b/kernels/linux-libre-aufs_friendly/fix-i915.patch deleted file mode 100644 index 3b631361a..000000000 --- a/kernels/linux-libre-aufs_friendly/fix-i915.patch +++ /dev/null @@ -1,26 +0,0 @@ -Signed-off-by: Zhao Yakui -Tested-by: Santi ---- - 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/kernels/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch b/kernels/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch deleted file mode 100644 index e1addbb05..000000000 --- a/kernels/linux-libre-aufs_friendly/i915-fix-incorrect-error-message.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit 6c76e0b94e484ffbdf38d2fe2769b6ca9aa99de4 -Author: Thomas Bächler -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/kernels/linux-libre-aufs_friendly/i915-gpu-finish.patch b/kernels/linux-libre-aufs_friendly/i915-gpu-finish.patch deleted file mode 100644 index 5840c9181..000000000 --- a/kernels/linux-libre-aufs_friendly/i915-gpu-finish.patch +++ /dev/null @@ -1,55 +0,0 @@ -commit 389a55581e30607af0fcde6cdb4e54f189cf46cf -Author: Chris Wilson -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 - Cc: stable@kernel.org - Reviewed-by: Daniel Vetter - Reviewed-by: Eugeni Dodonov - -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/kernels/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch b/kernels/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch deleted file mode 100644 index a53a3a425..000000000 --- a/kernels/linux-libre-aufs_friendly/iwlagn-fix-NULL-pointer-dereference.patch +++ /dev/null @@ -1,38 +0,0 @@ -This fix regression introduced by commit: - -commit 15b3f3b006b42a678523cad989bfd60b76bf4403 -Author: Wey-Yi Guy -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 ---- - 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/kernels/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch b/kernels/linux-libre-aufs_friendly/md-raid10-fix-bug-when-activating-a-hot-spare.patch deleted file mode 100644 index 880849db5..000000000 --- a/kernels/linux-libre-aufs_friendly/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 -Date: Mon, 31 Oct 2011 12:59:44 +1100 -Subject: md/raid10: Fix bug when activating a hot-spare. - -From: NeilBrown - -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 -Signed-off-by: Greg Kroah-Hartman - ---- - 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/kernels/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch b/kernels/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch deleted file mode 100644 index 9e570dd3f..000000000 --- a/kernels/linux-libre-aufs_friendly/usb-add-reset-resume-quirk-for-several-webcams.patch +++ /dev/null @@ -1,99 +0,0 @@ -commit 2394d67e446bf616a0885167d5f0d397bdacfdfc -Author: Oliver Neukum -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 - Signed-off-by: stable - Signed-off-by: Greg Kroah-Hartman - -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 -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 - Cc: stable - Signed-off-by: Greg Kroah-Hartman - -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-testing/icedove-libre/PKGBUILD b/libre-testing/icedove-libre/PKGBUILD deleted file mode 100644 index 9beba51a8..000000000 --- a/libre-testing/icedove-libre/PKGBUILD +++ /dev/null @@ -1,87 +0,0 @@ -# Maintainer : Márcio Silva -# Maintainer : André Silva -# Contributor: Esteban V. Carnevale - -# We're getting this from Debian Sid -_debname=icedove -_debver=10.0.3 -_debrel=3 -_debrepo=http://ftp.debian.org/debian/pool/main/ -debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } - -_pkgname=$_debname -pkgname=$_debname-libre -pkgver=$_debver -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') -depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite3' 'startup-notification') -makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'quilt') -optdepends=('libcanberra: for sound support') -url="http://packages.debian.org/source/sid/$_pkgname" -install=$_pkgname.install -source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2" - "$_debrepo/`debfile $_debname`_$_debver-$_debrel.debian.tar.gz" - "$_debrepo/`debfile $_debname`_$_debver-$_debrel.dsc" - mozconfig - channel-prefs.js - vendor.js - makefile.patch - gcc47.patch - rules.patch - searchplugins-libre.patch) -md5sums=('3efe2ef4d5471aae3b79531ce8aee9dc' - 'cb3dba2916bdf2deb72248b0984c4302' - '57e21e997a75d85fcc0dcfe30b83f1ee' - '76e01cfd6de4d4289265882774d1ba7d' - '476ec205162340fb0679f522c9d31c3b' - '4eecc4fc5aafaf0da651a09eadc90bee' - '5a6282bb005d596aa4ab1884ac6b0517' - '66376a8e934013078f0e646e49614937' - '2e6a57dc04b4a7255f5f1f3642af23ac' - '8f6d5be227bb68e1558dd6674cbba446') - -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,-rpath,/usr/lib/$_pkgname" - export PYTHON="/usr/bin/python2" - - mv comm-esr10 "$srcdir/mozilla-build" - mv debian "$srcdir/mozilla-build" - - cd "$srcdir/mozilla-build" - quilt push -a - - cp "$srcdir/mozconfig" .mozconfig - patch -Np1 -i "$srcdir/gcc47.patch" - patch -Np1 -i "$srcdir/makefile.patch" - patch -Np1 -i "$srcdir/rules.patch" - - # Removing non-free search plugins replacing them with duckduckgo and identi.ca - patch -Np0 -i "$srcdir/searchplugins-libre.patch" - - make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" -} - -package() { - cd "$srcdir/mozilla-build" - make -j1 -f client.mk DESTDIR="$pkgdir" install - - install -m644 "$srcdir/vendor.js" "$pkgdir/usr/lib/$_pkgname/defaults/pref" - install -m644 "$srcdir/channel-prefs.js" "$pkgdir/usr/lib/$_pkgname/defaults/pref" # Recommend free addons - - for i in 16x16 22x22 24x24 32x32 48x48 256x256; do - install -Dm644 debian/app-icons/$_pkgname${i/x*/}.png \ - "$pkgdir/usr/share/icons/hicolor/$i/apps/$_pkgname.png" - install -Dm644 debian/app-icons/icedovebig.svg \ - "$pkgdir/usr/share/icons/hicolor/scalable/apps/$_pkgname.svg" - done - - rm -rf "$pkgdir"/usr/lib/$_pkgname/{dictionaries,hyphenation} - ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries" - ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation" - rm -r "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl} # We don't want the development stuff -} diff --git a/libre-testing/icedove-libre/channel-prefs.js b/libre-testing/icedove-libre/channel-prefs.js deleted file mode 100644 index 13b1ba388..000000000 --- a/libre-testing/icedove-libre/channel-prefs.js +++ /dev/null @@ -1,9 +0,0 @@ -//@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-testing/icedove-libre/gcc47.patch b/libre-testing/icedove-libre/gcc47.patch deleted file mode 100644 index 9824e6ab2..000000000 --- a/libre-testing/icedove-libre/gcc47.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- mozilla-build.orig/mozilla/ipc/chromium/src/base/file_util.cc 2012-03-06 14:26:03.000000000 -0200 -+++ mozilla-build/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-04 18:50:02.094431651 -0300 -@@ -8,7 +8,7 @@ - #include - #endif - #include --#if defined(ANDROID) -+#if defined(ANDROID) || defined(OS_POSIX) - #include - #endif - ---- mozilla-build.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-03-06 14:26:03.000000000 -0200 -+++ mozilla-build/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-04 19:55:24.140455837 -0300 -@@ -6,6 +6,7 @@ - - #include - #include -+#include - - #include "eintr_wrapper.h" - #include "base/logging.h" - ---- mozilla-build.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-03-06 14:26:03.000000000 -0200 -+++ mozilla-build/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-04 20:49:49.756138306 -0300 -@@ -5,6 +5,7 @@ - #include "base/file_util.h" - - #include -+#include - - #include - #include - ---- mozilla-build.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-03-06 14:26:03.000000000 -0200 -+++ mozilla-build/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-04 20:55:12.678037291 -0300 -@@ -8,6 +8,7 @@ - #include - #endif - #include -+#include - #ifdef ANDROID - #include - #else - diff --git a/libre-testing/icedove-libre/icedove.install b/libre-testing/icedove-libre/icedove.install deleted file mode 100644 index 4d4a283db..000000000 --- a/libre-testing/icedove-libre/icedove.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { - update-desktop-database -q - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/libre-testing/icedove-libre/makefile.patch b/libre-testing/icedove-libre/makefile.patch deleted file mode 100644 index 284ca68c2..000000000 --- a/libre-testing/icedove-libre/makefile.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mozilla-build/debian/icedove-branding/Makefile.in 2012-04-05 06:50:17.708640714 -0300 -+++ mozilla-build/debian/icedove-branding/Makefile.in 2012-04-05 06:50:41.902614597 -0300 -@@ -38,7 +38,7 @@ - # Branding Makefile for Icedove branding - - DEPTH = ../../.. --topsrcdir = ../../../ -+topsrcdir = ../../ - srcdir = @srcdir@ - VPATH = @srcdir@ - diff --git a/libre-testing/icedove-libre/mozconfig b/libre-testing/icedove-libre/mozconfig deleted file mode 100644 index 4ad7c655c..000000000 --- a/libre-testing/icedove-libre/mozconfig +++ /dev/null @@ -1,47 +0,0 @@ -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 -mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir - -# Icedove -ac_add_options --disable-official-branding -ac_add_options --with-branding=debian/icedove-branding - -# Parabola -ac_add_options --disable-safe-browsing -export BUILD_OFFICIAL=1 -mk_add_options BUILD_OFFICIAL=1 - -# Build-generated diff --git a/libre-testing/icedove-libre/rules.patch b/libre-testing/icedove-libre/rules.patch deleted file mode 100644 index ce857ebd3..000000000 --- a/libre-testing/icedove-libre/rules.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- mozilla-build/config/rules.mk.orig 2012-03-06 13:44:49.000000000 -0200 -+++ mozilla-build/config/rules.mk 2012-04-05 22:24:29.473430588 -0300 -@@ -48,11 +48,11 @@ - endif - - ifndef INCLUDED_CONFIG_MK --include $(topsrcdir)/config/config.mk -+include /build/src/mozilla-build/config/config.mk - endif - - ifndef INCLUDED_VERSION_MK --include $(topsrcdir)/config/version.mk -+include /build/src/mozilla-build/config/version.mk - endif - - ifdef SDK_XPIDLSRCS diff --git a/libre-testing/icedove-libre/searchplugins-libre.patch b/libre-testing/icedove-libre/searchplugins-libre.patch deleted file mode 100644 index 19c1ea5ab..000000000 --- a/libre-testing/icedove-libre/searchplugins-libre.patch +++ /dev/null @@ -1,141 +0,0 @@ ---- mail.orig/locales/en-US/searchplugins/list.txt 2012-03-27 15:56:00.000000000 -0300 -+++ mail/locales/en-US/searchplugins/list.txt 2012-04-13 05:43:25.227475353 -0300 -@@ -1,8 +1,5 @@ --amazondotcom --aol-web-search --bing -+duckduckgo-ssl - eBay --google --twitter -+identica-notice-search -+identica-people-search - wikipedia --yahoo ---- mail/locales/en-US/searchplugins/amazondotcom.xml 2012-03-27 15:56:00.000000000 -0300 -+++ /dev/null 2012-04-12 23:52:53.981159155 -0300 -@@ -1,11 +0,0 @@ -- --Amazon.com --Amazon.com Search --ISO-8859-1 --data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHgSURBVHjalFM9TNtQEP4cB7PwM1RITUXIgsRaYEEVEyKZwhiyZAQyd0BhpFOlIjoBqhjSqVQMoVMLLAjEwECCQJkSkBqJYDOAFOMKFSf28d7DTUxiUDnp/Pzeu/vuu7t3ICKF6SLTMv2/lB0fRWKfjwDm4JJisYh0Oo3fpZLYT0SjSCQS8JAFMADNDZ3NZsnf1taiqVTKi4nGASruk5lkkmTmMB6JUKFQqO+DfX1eABWeQoVR6f7HSdM0obqu48Yw8G1tDT82NsRd1TSbU9BbGPCog8PDj+jLzurFoAVgMh4XxoNDQ6SqKi0tL9eBvAB8zZwymYxYY7EYAoEA8vm82BNTg6XUIs0MeGTZoR1mhXSnwNl4pmAbjU7mcjkKhkL1ynMnntZ4OEw3VyrV8utk7s5TdW++0QXz+1i3P7IK36t+PCfVn1OQOoOA0gXr5DPak+cPXbBK+/T3S69AtY3LJ98vZ1or/iLr+pTuvr59/A6s003UdqZFJF/PCKQ3o5CUznoBST2AfbEF/9iqYEDaIfwj73VJPEfgNTe0tWNYR0uwy9uOW0OkrgHI7z5ADo2C7v48nLV3XHKAT+x/1m1sX58xsBxg8rZJrDYD8DHHp4aJj/MK09sXjPOt46PcCzAACXY8/u34wN0AAAAASUVORK5CYII= -- -- -- -- --http://www.amazon.com/ -- ---- mail/locales/en-US/searchplugins/aol-web-search.xml 2012-03-27 15:56:00.000000000 -0300 -+++ /dev/null 2012-04-12 23:52:53.981159155 -0300 -@@ -1,10 +0,0 @@ -- --AOL Web Search --The AOL Search engine delivers great web search results, enhanced by Google, plus relevant multimedia results delivered on a single page-so you can search less and discover more. --UTF-8 --data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%10%00%00%00%10%08%06%00%00%00%1F%F3%FFa%00%00%00%06bKGD%00%FF%00%FF%00%FF%A0%BD%A7%93%00%00%00%09pHYs%00%00%00H%00%00%00H%00F%C9k%3E%00%00%00%FAIDAT8%CB%9D%D3%B1q%C2%40%10%85%E1%0F%8F%0B%A0%04%97%00%1D%40%05%C6%01%B9%95*1%AA%C0C%05%E0%84%D4%E4%0A%0C%15H%EE%40%1D%98%12%D4%81%1D%E84%C8B%60%C9%2F9%AD%EE%EE%9F%DD%B7%7B%23%B0%DC%7D%A3D%22%8D%F7%06h%D4%00%D4*%02(%EF%03%B8%EB%F87Af%B9%7B%EF%03%B8o%C59%DE%A4%F1%E1%3F%25%EC%91%60%83%87%B0%FF%89m%F8%5Et%F9S%032%3C%E1%0B%E3%D6%99%02s%7C%848%91%C6E%1B0%C1%0B%9E%AFd%9A%E0%D4%80l%B1%96%C6eebE%9C%DC(%F51dRk%15%B2%FD%D5%85%B1a*%CF%80%AA%84%FC%C6%E1%23f%8Dx%8D)%E76n%10aq%C5%C4%03%B2%B0%26%D2%F8To%D6%80Y0q%8AW%97m%1C%23%EA%9A%CE%E6%20%AD%82%91%5D%83T%AA%BAp%A1%AE%B7Pk%2F%8D%A3%BF%9C%ECz%0B9%E6%7D.7K(%C3%3A%F89%FF%00_%82G%C3%D5%0E(%3E%00%00%00%00IEND%AEB%60%82 --http://search.aol.com -- -- -- -- ---- mail/locales/en-US/searchplugins/bing.xml 2012-03-06 13:44:50.000000000 -0200 -+++ /dev/null 2012-04-25 14:16:16.847855589 -0300 -@@ -1,17 +0,0 @@ -- -- Bing -- Bing. Search by Microsoft. -- UTF-8 -- data:image/x-icon;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAVpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8ysf97zf+24//F6f/F6f/F6f+K0/9QvP8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8krP+Z2P/////////w+f/F6f/F6f/i9P/////////T7v9Bt/8Vpv8Vpv8Vpv8Vpv/T7v/////w+f97zf8Vpv8Vpv8Vpv8Vpv9QvP/T7v/////w+f9Bt/8Vpv8Vpv97zf////////9QvP8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8krP/i9P/////i9P8Vpv8Vpv+24//////i9P8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv+K0/////////8Vpv8Vpv/F6f////////8krP8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv+n3v/////w+f8Vpv8Vpv/F6f////////+n3v8krP8Vpv8Vpv8Vpv8Vpv8Vpv9tx/////////+Z2P8Vpv8Vpv/F6f/////////////i9P+K0/9QvP9QvP9tx//F6f////////+n3v8Vpv8Vpv8Vpv/F6f/////T7v+Z2P/i9P////////////////////+24/9QvP8Vpv8Vpv8Vpv8Vpv/F6f/////F6f8Vpv8Vpv8krP9QvP9QvP9Bt/8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv/F6f/////F6f8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv9Bt/9QvP9Bt/8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8Vpv8AAHBsAABhdAAAbiAAAHJ0AABsaQAAdGkAACBDAABlbgAAUEEAAEVYAAAuQwAAOy4AAEU7AABBVAAAQ00AAC5W -- -- -- -- -- -- -- -- -- -- -- http://www.bing.com/search -- ---- mail/locales/en-US/searchplugins/google.xml 2012-03-27 15:56:00.000000000 -0300 -+++ /dev/null 2012-04-12 23:52:53.981159155 -0300 -@@ -1,14 +0,0 @@ -- --Google --Google Search --UTF-8 --data:image/png;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs9Pt8xetPtu9FsfFNtu%2BTzvb2%2B%2Fne4dFJeBw0egA%2FfAJAfAA8ewBBegAAAAD%2B%2FPtft98Mp%2BwWsfAVsvEbs%2FQeqvF8xO7%2F%2F%2F63yqkxdgM7gwE%2FggM%2BfQA%2BegBDeQDe7PIbotgQufcMufEPtfIPsvAbs%2FQvq%2Bfz%2Bf%2F%2B%2B%2FZKhR05hgBBhQI8hgBAgAI9ewD0%2B%2Fg3pswAtO8Cxf4Kw%2FsJvvYAqupKsNv%2B%2Fv7%2F%2FP5VkSU0iQA7jQA9hgBDgQU%2BfQH%2F%2Ff%2FQ6fM4sM4KsN8AteMCruIqqdbZ7PH8%2Fv%2Fg6Nc%2Fhg05kAA8jAM9iQI%2BhQA%2BgQDQu6b97uv%2F%2F%2F7V8Pqw3eiWz97q8%2Ff%2F%2F%2F%2F7%2FPptpkkqjQE4kwA7kAA5iwI8iAA8hQCOSSKdXjiyflbAkG7u2s%2F%2B%2F%2F39%2F%2F7r8utrqEYtjQE8lgA7kwA7kwA9jwA9igA9hACiWSekVRyeSgiYSBHx6N%2F%2B%2Fv7k7OFRmiYtlAA5lwI7lwI4lAA7kgI9jwE9iwI4iQCoVhWcTxCmb0K%2BooT8%2Fv%2F7%2F%2F%2FJ2r8fdwI1mwA3mQA3mgA8lAE8lAE4jwA9iwE%2BhwGfXifWvqz%2B%2Ff%2F58u%2Fev6Dt4tr%2B%2F%2F2ZuIUsggA7mgM6mAM3lgA5lgA6kQE%2FkwBChwHt4dv%2F%2F%2F728ei1bCi7VAC5XQ7kz7n%2F%2F%2F6bsZkgcB03lQA9lgM7kwA2iQktZToPK4r9%2F%2F%2F9%2F%2F%2FSqYK5UwDKZAS9WALIkFn%2B%2F%2F3%2F%2BP8oKccGGcIRJrERILYFEMwAAuEAAdX%2F%2Ff7%2F%2FP%2B%2BfDvGXQLIZgLEWgLOjlf7%2F%2F%2F%2F%2F%2F9QU90EAPQAAf8DAP0AAfMAAOUDAtr%2F%2F%2F%2F7%2B%2Fu2bCTIYwDPZgDBWQDSr4P%2F%2Fv%2F%2F%2FP5GRuABAPkAA%2FwBAfkDAPAAAesAAN%2F%2F%2B%2Fz%2F%2F%2F64g1C5VwDMYwK8Yg7y5tz8%2Fv%2FV1PYKDOcAAP0DAf4AAf0AAfYEAOwAAuAAAAD%2F%2FPvi28ymXyChTATRrIb8%2F%2F3v8fk6P8MAAdUCAvoAAP0CAP0AAfYAAO4AAACAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAA -- -- -- -- -- -- -- --http://www.google.com -- ---- mail/locales/en-US/searchplugins/twitter.xml 2012-03-27 15:56:00.000000000 -0300 -+++ /dev/null 2012-04-12 23:52:53.981159155 -0300 -@@ -1,10 +0,0 @@ -- --Twitter Search --Realtime Twitter Search --UTF-8 --data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%20%00%00%00%20%08%06%00%00%00szz%F4%00%00%00%19tEXtSoftware%00Adobe%20ImageReadyq%C9e%3C%00%00%06%60IDATx%DA%ACWMLSY%14%BE%F7%F5%97%B6%96%96%16P%84q%02H%A0%01%85%08%26%C4%18%C9D%60%D8L2%0Bfm2%89%86%85%3B%E2l%5D%BA%9Ad%E2%CEY%B8%18c2a%8C%B3%10%893%02e%98d%F0%07%22c%D0%22%88%C4%01K)%D0%3F%FA%FF%DE%BB%F3%DD%F7Z%82%B5%16%A8%DE%E4%B6%AF%AF%EF%DD%F3%DDs%BEs%BEs)c%8C%F0A)%25%D9q%F9%F2eC%7F%7F%7F%1D.%BF%12%04%A1%F30F%22%91%10%A3%D1%E8%92%C1%60ponn%FE%3D99%E9%BDz%F5%AAL%3Ea(%B6%F9G%16%04%1F%83%83%83%E6%B1%B1%B1oVVV%86%E2%F1%F8%7F%C9d2%22%8Ab%2C%95J%C5p%1D%8A%C5b%9E%85%85%85%1F%EF%DF%BF%DF%06%90%9A%CF%0A%00%3B%D2%3Fy%F2%A4okkk%0C%06%A3%B8%CF%D22c1%91%B1%B8%C4%98%84kY%96%19%3C%B1%B6%B8%B8%F83F%13w%DE%E7%02%40%1F%3E%7CX%BB%BA%BAz%0B%C6%23%DCx%24%CD%D8%F30c%7F%FAe%E6%DE%90%D9%1B%40JIL%19%E1px%05%5E%F8a%60%60%C0%FE)%00%B4%D9%1F%D8%BDA%92%A4%13v%BB%FD%8CN%A7%B3D%25B%A6%02%8C%3C%0E2%12H1%A2%C1%3EkJ(%E9rP%D2x%88%92%92%92%92J%97%CB%F5%F5%F2%F2%F2%08%5E%0FcJ%C5%80%D8%01p%EC%D81%23%10%B94%1A%8DM%82C%BC%09BfB%8C%F8%93%8Cp~%8A%A0%DB%9B%18%23V%1D!%D5%00R%AA%D3j%9DNg%3D%80%B8n%DF%BE%ED%EB%EC%ECL%EE%5E8%18%0C%12%84J%9A%9B%9BK%5C%BAt)%BD'%00%B0%5D%83Lp%02%84%86%03%88%88%8C%84E%D5%B8%40%D4H%F3%FB~%98%89c%AF%1C%08%3CU%D6%D6%D6%F6%9D%CDfs%99%CD%E64%F8%B1%C3%07%AC%25%E9%F5%FA%8D%8E%8E%0E%CF%F8%F8%F8%FC%C4%C4%C4z%BE%AC%D1%E6%FC%D6dl%91%EC%93%BB%19%C6%C1H%84%E1%3F%CE%1BJ%60%C0%D4%D4%D4%D4%AB%D5j%BBr%C9%98%E1V%1A%E9%EB%F5%F9%7C%7F%9C%3Bw%EE%D7%8B%17%2F%CE%DE%B8q%23%5D%08%40%C1A3%93%7B%22%8DI9w%B5z%93H%88%E9%83g%E16-%1E%B6X%2C%0E%84%F5%08%C0V%9D%3F%7F%FE%A7%40%200%3D44%24%15%0D%20%81W%E7%B7%19%F1%26%0B%E7%9F%11%00%1CzJ%9Cz%22%80'%E5eee%3D%B5%B5%B5%1B%ED%ED%ED%EF%00%60%A5(%00%0A%B9%E0%C0%F1%0D%BEuV%F09%9E5%87%0D%94%9C%B6S%D2b%A5%C4d29%EB%EA%EA%BE%9E%99%99%19%ED%EA%EA%DAp%BB%DD%09%85%7B%C5%A4NB%DE%7Bn%23.%8BQF%FEA*%AF'9%5CJP%C6%2B0%DBz%7B%7BKv%C8_%0C%00%BA%8F)P%D5G%3E%A4%F1%26%08%23%AA%0E%D3%19%8D%C6%A3%C8%16%FD'%018%C8%1023%ABu(v4%9DNgq%1E%9C%03d%CF%E8%ABCfd%A7zV%80%8C%3C%23R%B2%9C%0E%85B%3E%BF%DF%9F%CE.s%60%00%DC%B5%A5Z%F5%BB0%09)%A92%12%D2%5E%8AL0%A8%85%01)%E8%F7z%BDsSSS%F1%A2%B2%80C%B6%A3%02v%97%0B%CA%A2TY7%0FG%A8%0A%E0%10%CA%9AE%ABz%C2%EF%DF%D8z%F4%E8%91%7Bzz%FA%19f%B2%E84%D4!%A0G%60%BC%D2H%F7%24%10%F7%12%E2-n%05%83%5BH%BF%C9%7B%F7%EE%0D%0D%0F%0F%2F%EF%16.m1%F1%CF%EA%C3%5Ea%E0%C6%D1%BC%2CC%07%1E%8C%8E%8E%FE~%E7%CE%9D%C7%3C%8BsI%BA%BB~%B3%BDH%26g%CA%F0~%DA%10%A6%F4%2Fr%10%A5x%B1%B2%B2r%1E%B7%22%B9%CB%EFx%00%82%22%A3%F5%8AB%C5d%BEC%BD%A0%C6.w%F0%02%F36F%88%13%5C0%EF%E1%3F%D4%7F%7DCCC3%A4%FEBww%B7%EE%E4%C9%93%B7%20%CD%DE%BC%1E%98%9D%9D%15%A1%E1k%40%2CrI%2CE%DE%98%81%20%D7%1B1D%EF)%9A%14tJ%8A4%87E.%DD%1FN~%9F%CB%B6N%AF7B%90N%94%97%97%7F%7F%FC%F8%F1o%A1%88%A5y%3D%80%064%05%97-!n%DB(%97%0E%0E%80%A7%91%2F%99%89%7Bf%F2%EB%95%04%23%0F%FC%10%1B4%2C%5Cth%1EO%F1M%1C%C6%FB'%AC%02%BE)%85%16%D4566%F6%9F%3Auj%1A%7F%3D%CD%12q%C7%03%D7%AF_O%A1%C1XX__%7F%89j%952a%85F%0BUr%5Ef%EF%97a%3Ex%B3%C2%3B%A4%97P%C6%17%91%0F%E7%BF%F0%D0%C4%86%3A%03)%A5%E1%D1Z%ADV%DEqu%5C%B9r%C5%94%8F%84%CC%E3%F1%AC%A3%85%FA%0BMD%88%A7%5B%BD%99%12%17%FA%3F%83%A0%F6%00%B9ZPP%2F%F0%40%1C%A2%B4%00A%E2z%C0%B5%00%C6%E1%08SCEE%85!o%16%A0e%8A%A0L%8E%A2-%9F%85%17%D2%A5%20%DAi%BB%A0%82%D0%A8%20%D8%01D%89%A7i%12%EEK%CA%AA%17%11b8B%B0%80g%DA%8Fi%81%84%5C%F5%A0%D9%FC%0D%C4%F9%02MDC5%E2%D8%E5%14%00%40%26sp%2B%EF%96%E5%7Dx%80e%AA%A4MG%89%15%7C%D2(%ED%1C%91%E1%DD%08%0E7%F2G%0B%D1%C8%C8H%B8%BE%BE~%18%00%8E%B6%B6%B6%5Ep8%1C55Po%B3F%20%D5FF%3C%88%EF%BB%04%CF%06%F6%5EX%F2%15%2B%1BD%A8%0DZ%C0%C9%C8%01%80%E8%DBkkk%8B(%C9%89%82b%04B%AEB%B7%7F%C1%A5%01%20x%D7%5B%E3%D0k4%ED6%AA%10%937%18%5C%E3%A3%A2%1A%16%9A%07%80%5E%A3vD_*%E0%15%E3%C9%D7%AF_%3F%C7%89%EA%196%19%CF%ED%5E%F3%F2%08%A7%9EZ%F4o%83x%F11NB!%14*)%7B%5CKH%EA%91%AD%D0%E4%CF%F1%C1%8D%BFz%F5%EA%D9%B5k%D7%06%AA%AA%AA%9C%D9%08r%BB4%DF%E9x7%88%BE%BE%3E%E7%D9%B3g%CF477%F7%B5%B4%B4t%22%24UHWd6%E5%E7%08%0Af%D3%DC%0D%F0%B5%F8%19%92%D7a%C4%3B%B6%B4%B4%F4%12%C7%BE%BB7o%DE%BC%3B%3F%3F%FF6%5B%03%F6%03%40%19%D5%D5%D5%25%3D%3D%3DG%90%C7%AD%A8%E9%EDh.%1BA%D4%0A%FC6%E1%5BGs%5E%86%5D%02%EDO%E3%3C%10x%81%81*%EB%86%18M%E1%DC%B9%86%BF%C5%DD%DE%FF_%80%01%00%94%13%9D%26%E9%81%03P%00%00%00%00IEND%AEB%60%82 -- --http://search.twitter.com/ -- -- ---- mail/locales/en-US/searchplugins/yahoo.xml 2012-03-27 15:56:00.000000000 -0300 -+++ /dev/null 2012-04-12 23:52:53.981159155 -0300 -@@ -1,13 +0,0 @@ -- --Yahoo --Yahoo Search --UTF-8 --data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgJqAIoCdgCaAnoAnhKCAKYijgCuLpIAskKeALpSpgC+Yq4AzHy8ANqezgDmvt4A7tLqAPz5+wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlRFIoABWAKERERE6ADcKMzzu2hOgAAhERK8REWCWBERE36ERMHMEREvo6iEgY6hEn6Pu0mAzqkz/xjMzoDNwpERERDoAMzAKlERIoAAzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AADAOQAAgBkAAAAPAAAACQAAAAkAAAAIAAAACAAAAAgAAIAYAADAOAAA//8AAP//AAD//wAA -- -- -- -- -- --http://search.yahoo.com/ -- ---- /dev/null 2012-04-12 23:52:53.981159155 -0300 -+++ mail/locales/en-US/searchplugins/duckduckgo-ssl.xml 2012-04-09 14:43:56.000000000 -0300 -@@ -0,0 +1,11 @@ -+ -+DuckDuckGo RU SSL -+DDG Search + Google's suggestions (Russian) -+UTF-8 -+data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA== -+https://duckduckgo.com/ -+ -+ -+ -+ -+ ---- /dev/null 2012-04-12 23:52:53.981159155 -0300 -+++ mail/locales/en-US/searchplugins/identica-notice-search.xml 2012-04-13 05:15:55.000000000 -0300 -@@ -0,0 +1,7 @@ -+ -+Identi.ca Notice Search -+UTF-8 -+data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAABGD6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAOAHAADgBwAA4AcAAOAHAADgBwAA4AcAAOAHAADgBwAA4AcAAOAHAADgBwAA//8AAP//AAA= -+ -+ -+ ---- /dev/null 2012-04-12 23:52:53.981159155 -0300 -+++ mail/locales/en-US/searchplugins/identica-people-search.xml 2012-04-13 05:15:53.000000000 -0300 -@@ -0,0 +1,7 @@ -+ -+Identi.ca People Search -+UTF-8 -+data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAABGD6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAOAHAADgBwAA4AcAAOAHAADgBwAA4AcAAOAHAADgBwAA4AcAAOAHAADgBwAA//8AAP//AAA= -+ -+ -+ diff --git a/libre-testing/icedove-libre/vendor.js b/libre-testing/icedove-libre/vendor.js deleted file mode 100644 index 279bdc158..000000000 --- a/libre-testing/icedove-libre/vendor.js +++ /dev/null @@ -1,12 +0,0 @@ -// 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/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 - -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/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 -# 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/kdenetwork-libre/PKGBUILD b/libre/kdenetwork-libre/PKGBUILD deleted file mode 100644 index 6e231389d..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 -# Contributor: Pierre Schmitz -# Maintainer (Parabola): André Silva - -_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') -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-kget.install b/libre/kdenetwork-libre/kdenetwork-kget.install deleted file mode 100644 index 5495fb1b5..000000000 --- a/libre/kdenetwork-libre/kdenetwork-kget.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/kdenetwork-libre/kdenetwork-kopete.install b/libre/kdenetwork-libre/kdenetwork-kopete.install deleted file mode 100644 index 5495fb1b5..000000000 --- a/libre/kdenetwork-libre/kdenetwork-kopete.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/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/kdenetwork-libre/kdenetwork.install b/libre/kdenetwork-libre/kdenetwork.install deleted file mode 100644 index e70c054ec..000000000 --- a/libre/kdenetwork-libre/kdenetwork.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} 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 -Date: Tue, 17 Jan 2012 15:21:19 -0800 -Subject: proc: clean up and fix /proc//mem handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Linus Torvalds - -commit e268337dfe26dfc7efd422a804dbb27977a3cccc upstream. - -Jüri Aedla reported that the /proc//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 -Cc: Al Viro -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - 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/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 -Date: Tue, 17 Jan 2012 15:21:19 -0800 -Subject: [PATCH] proc: clean up and fix /proc//mem handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Jüri Aedla reported that the /proc//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 -Cc: Al Viro -Signed-off-by: Linus Torvalds ---- - 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/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 -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 - Cc: Florian Mickler - Cc: stable@kernel.org - - Signed-off-by: Olivier Grenie - Signed-off-by: Patrick Boettcher - -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 - #include - #include -+#include - - #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 - #include - #include -+#include - - #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 - #include - #include -+#include - - #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 - #include - #include -+#include - - #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 - #include - #include -+#include -+ - #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 -+#include - - #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 -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 - Cc: Florian Mickler - Cc: stable@kernel.org - - Signed-off-by: Javier Marcet - Signed-off-by: Olivier Grenie - Signed-off-by: Patrick Boettcher - -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 -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 - -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 -Cc: Thomas Baechler -Cc: Tobias Powalowski -Cc: Dave Reisner ---- - 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 -Tested-by: Santi ---- - 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 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 kernel.org> -Cc: stable vger.kernel.org -Reported-by: Valere Monseur ymail.com> -Bisected-by: Joseph Freeman gmail.com> -Tested-by: Joseph Freeman 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 -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 - Tested-by: Adrian - Signed-off-by: Larry Finger - Signed-off-by: Greg Kroah-Hartman - -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 - #include -+#include - - #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 -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 -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 - Cc: stable@kernel.org - Reviewed-by: Daniel Vetter - Reviewed-by: Eugeni Dodonov - -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 -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 ---- - 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/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 -Date: Mon, 31 Oct 2011 12:59:44 +1100 -Subject: md/raid10: Fix bug when activating a hot-spare. - -From: NeilBrown - -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 -Signed-off-by: Greg Kroah-Hartman - ---- - 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 -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 - Signed-off-by: stable - Signed-off-by: Greg Kroah-Hartman - -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 -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 - Cc: stable - Signed-off-by: Greg Kroah-Hartman - -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/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 -+ - #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 -- #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/testing/krb5/PKGBUILD b/testing/krb5/PKGBUILD deleted file mode 100644 index 4709af354..000000000 --- a/testing/krb5/PKGBUILD +++ /dev/null @@ -1,77 +0,0 @@ -# $Id: PKGBUILD 159408 2012-05-23 20:51:29Z stephane $ -# Maintainer: Stéphane Gaudreault - -pkgname=krb5 -pkgver=1.10.1 -pkgrel=3 -pkgdesc="The Kerberos network authentication system" -arch=('i686' 'x86_64') -url="http://web.mit.edu/kerberos/" -license=('custom') -depends=('e2fsprogs' 'libldap' 'keyutils') -makedepends=('perl') -backup=('etc/krb5.conf' 'var/lib/krb5kdc/kdc.conf') -source=(http://web.mit.edu/kerberos/dist/${pkgname}/1.10/${pkgname}-${pkgver}-signed.tar - krb5-1.10.1-gcc47.patch - krb5-kadmind - krb5-kdc - krb5-kpropd) -sha1sums=('f9f3b77173f68b268b43e4f9c29bf7c9f3fd1f0e' - '78b759d566b1fdefd9bbcd06df14f07f12effe96' - '2aa229369079ed1bbb201a1ef72c47bf143f4dbe' - '77d2312ecd8bf12a6e72cc8fd871a8ac93b23393' - '7f402078fa65bb9ff1beb6cbbbb017450df78560') -options=('!emptydirs') - -build() { - tar zxvf ${pkgname}-${pkgver}.tar.gz - cd "${srcdir}/${pkgname}-${pkgver}/src" - - # With gcc47 : deltat.c:1694:12: error: 'yylval' may be used uninitialized - # in this function [-Werror=maybe-uninitialized] - # As this is generated code, just ignore the complaint. - patch -Np2 -i ../../krb5-1.10.1-gcc47.patch - rm lib/krb5/krb/deltat.c - - # FS#25384 - sed -i "/KRB5ROOT=/s/\/local//" util/ac_check_krb5.m4 - - export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all" - export CPPFLAGS+=" -I/usr/include/et" - ./configure --prefix=/usr \ - --mandir=/usr/share/man \ - --localstatedir=/var/lib \ - --enable-shared \ - --with-system-et \ - --with-system-ss \ - --disable-rpath \ - --without-tcl \ - --enable-dns-for-realm \ - --with-ldap \ - --without-system-verto - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}/src" - make DESTDIR="${pkgdir}" EXAMPLEDIR=/usr/share/doc/${pkgname}/examples install - - # Fix FS#29889 - install -m 644 plugins/kdb/ldap/libkdb_ldap/kerberos.{ldif,schema} "${pkgdir}"/usr/share/doc/${pkgname}/examples - - # Sample KDC config file - install -dm 755 "${pkgdir}"/var/lib/krb5kdc - install -pm 644 config-files/kdc.conf "${pkgdir}"/var/lib/krb5kdc/kdc.conf - - # Default configuration file - install -dm 755 "${pkgdir}"/etc - install -pm 644 config-files/krb5.conf "${pkgdir}"/etc/krb5.conf - - install -dm 755 "${pkgdir}"/etc/rc.d - install -m 755 ../../krb5-{kdc,kadmind,kpropd} "${pkgdir}"/etc/rc.d - - install -dm 755 "${pkgdir}"/usr/share/aclocal - install -m 644 util/ac_check_krb5.m4 "${pkgdir}"/usr/share/aclocal - - install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE -} diff --git a/testing/krb5/krb5-1.10.1-gcc47.patch b/testing/krb5/krb5-1.10.1-gcc47.patch deleted file mode 100644 index ffd01c2a3..000000000 --- a/testing/krb5/krb5-1.10.1-gcc47.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y krb5-1.10.1/src/lib/krb5/krb/x-deltat.y ---- krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y 2011-09-06 07:34:32.000000000 -0400 -+++ krb5-1.10.1/src/lib/krb5/krb/x-deltat.y 2012-03-24 13:15:11.543551318 -0400 -@@ -44,6 +44,7 @@ - #ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wuninitialized" -+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" - #endif - - #include diff --git a/testing/krb5/krb5-kadmind b/testing/krb5/krb5-kadmind deleted file mode 100644 index 04df0dcff..000000000 --- a/testing/krb5/krb5-kadmind +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# general config -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/kadmind` -case "$1" in - start) - stat_busy "Starting Kerberos Admin Daemon" - if [ -z "$PID" ]; then - /usr/sbin/kadmind - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon krb5-kadmind - stat_done - fi - ;; - stop) - stat_busy "Stopping Kerberos Admin Daemon" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon krb5-kadmind - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" - ;; -esac -exit 0 diff --git a/testing/krb5/krb5-kdc b/testing/krb5/krb5-kdc deleted file mode 100644 index 05a03411e..000000000 --- a/testing/krb5/krb5-kdc +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# general config -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/krb5kdc` -case "$1" in - start) - stat_busy "Starting Kerberos Authentication" - if [ -z "$PID" ]; then - /usr/sbin/krb5kdc - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon krb5-kdc - stat_done - fi - ;; - stop) - stat_busy "Stopping Kerberos Authentication" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon krb5-kdc - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" - ;; -esac -exit 0 diff --git a/testing/krb5/krb5-kpropd b/testing/krb5/krb5-kpropd deleted file mode 100644 index a0077d68e..000000000 --- a/testing/krb5/krb5-kpropd +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# general config -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/kpropd` -case "$1" in - start) - stat_busy "Starting Kerberos Database Propagation Daemon" - if [ -z "$PID" ]; then - /usr/sbin/kpropd -S - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon kpropd - stat_done - fi - ;; - stop) - stat_busy "Stopping Kerberos Database Propagation Daemon" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon kpropd - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" - ;; -esac -exit 0 diff --git a/testing/mdadm/PKGBUILD b/testing/mdadm/PKGBUILD deleted file mode 100644 index 1043e191b..000000000 --- a/testing/mdadm/PKGBUILD +++ /dev/null @@ -1,58 +0,0 @@ -# $Id: PKGBUILD 159624 2012-05-25 23:53:03Z dreisner $ -# Maintainer: Tobias Powalowski -# Contributor: Judd Vinet -pkgname=mdadm -pkgver=3.2.5 -pkgrel=2 -pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID" -arch=(i686 x86_64) -license=('GPL') -url="http://neil.brown.name/blog/mdadm" -groups=('base') -conflicts=('mkinitcpio<0.7') -depends=('glibc') -backup=('etc/mdadm.conf') -source=(ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/mdadm-$pkgver.tar.bz2 - mdadm - mdadm.conf - mdadm_install - mdadm_hook - mdadm_udev_install - mdadm.service - disable-werror.patch) -replaces=('raidtools') -md5sums=('83ba4a6249ae24677e915e44c9cfcc58' - '8333d405f550317c2bacd5510bf1cb60' - '00cbed931db4f15b6ce49e3e7d433966' - '609d10888727710cb20db7ac3e096116' - 'fbb5542d9bdf87441a11dd7e7a0a17f8' - 'd1d8e9eb81ce9347de74f3c84a9db09e' - 'aafb5f9ac8437a284cbf948b9b13b179' - '4ad87b74a4bc9a34621280abe0e0c3e4') - -build() { - cd $srcdir/$pkgname-$pkgver - patch -Np0 -i ../disable-werror.patch - make CXFLAGS="$CFLAGS" - # build static mdassemble for Arch's initramfs - make MDASSEMBLE_AUTO=1 mdassemble - -} - -package() { - cd $srcdir/$pkgname-$pkgver - make INSTALL=/usr/bin/install DESTDIR=$pkgdir install - install -D -m755 mdassemble $pkgdir/sbin/mdassemble - install -D -m644 ../mdadm.conf $pkgdir/etc/mdadm.conf - install -D -m755 ../mdadm $pkgdir/etc/rc.d/mdadm - install -D -m644 ../mdadm_install $pkgdir/usr/lib/initcpio/install/mdadm - install -D -m644 ../mdadm_hook $pkgdir/usr/lib/initcpio/hooks/mdadm - install -D -m644 ../mdadm_udev_install $pkgdir/usr/lib/initcpio/install/mdadm_udev - # symlink for backward compatibility - ln -sf /usr/lib/initcpio/hooks/mdadm $pkgdir/usr/lib/initcpio/hooks/raid - # move /lib/* to /usr/lib/ - mv $pkgdir/lib/udev $pkgdir/usr/lib/ - rm -rf $pkgdir/lib - # systemd service file - install -D -m644 $srcdir/mdadm.service $pkgdir/usr/lib/systemd/system/mdadm.service -} diff --git a/testing/mdadm/disable-werror.patch b/testing/mdadm/disable-werror.patch deleted file mode 100644 index 50a33f19d..000000000 --- a/testing/mdadm/disable-werror.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- Makefile.old 2011-06-17 09:38:03.269238332 +0200 -+++ Makefile 2011-06-17 09:38:14.122398837 +0200 -@@ -42,7 +42,7 @@ - - CC = $(CROSS_COMPILE)gcc - CXFLAGS = -ggdb --CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter -+CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter - ifdef WARN_UNUSED - CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O - endif diff --git a/testing/mdadm/linux-3.0.patch b/testing/mdadm/linux-3.0.patch deleted file mode 100644 index cd9d5473c..000000000 --- a/testing/mdadm/linux-3.0.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f161d047eed634b3380262767f955eb888502e88 Mon Sep 17 00:00:00 2001 -From: NeilBrown -Date: Fri, 17 Jun 2011 22:49:24 +1000 -Subject: [PATCH 1/1] util: correctly parse shorter linux version numbers. - -The next version of Linux might be 3.0. If it is, get_linux_version -will fail. -So make it more robust. - -Reported-by: Namhyung Kim -Reported-by: Milan Broz -Signed-off-by: NeilBrown ---- - util.c | 10 +++++----- - 1 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/util.c b/util.c -index 10bbe56..55d171a 100644 ---- a/util.c -+++ b/util.c -@@ -146,16 +146,16 @@ int get_linux_version() - { - struct utsname name; - char *cp; -- int a,b,c; -+ int a = 0, b = 0,c = 0; - if (uname(&name) <0) - return -1; - - cp = name.release; - a = strtoul(cp, &cp, 10); -- if (*cp != '.') return -1; -- b = strtoul(cp+1, &cp, 10); -- if (*cp != '.') return -1; -- c = strtoul(cp+1, NULL, 10); -+ if (*cp == '.') -+ b = strtoul(cp+1, &cp, 10); -+ if (*cp == '.') -+ c = strtoul(cp+1, &cp, 10); - - return (a*1000000)+(b*1000)+c; - } --- -1.7.2.3 - diff --git a/testing/mdadm/mdadm b/testing/mdadm/mdadm deleted file mode 100755 index 9bf468e98..000000000 --- a/testing/mdadm/mdadm +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -pidfile=/run/mdadm.pid -if [[ -r $pidfile ]]; then - read -r PID <"$pidfile" - if [[ $PID && ! -d /proc/$PID ]]; then - # stale pidfile - unset PID - rm -f "$pidfile" - fi -fi - -case $1 in - start) - stat_busy "Starting mdadm RAID Monitor" - if [[ -z $PID ]] && mdadm --monitor --scan -i "$pidfile" -f; then - add_daemon mdadm - stat_done - else - stat_fail - fi - ;; - stop) - stat_busy "Stopping mdadm RAID Monitor" - if [[ $PID ]] && kill "$PID" &>/dev/null; then - rm_daemon mdadm - stat_done - else - stat_fail - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac diff --git a/testing/mdadm/mdadm.conf b/testing/mdadm/mdadm.conf deleted file mode 100644 index 57bd4c683..000000000 --- a/testing/mdadm/mdadm.conf +++ /dev/null @@ -1,67 +0,0 @@ -# mdadm configuration file -# -# mdadm will function properly without the use of a configuration file, -# but this file is useful for keeping track of arrays and member disks. -# In general, a mdadm.conf file is created, and updated, after arrays -# are created. This is the opposite behavior of /etc/raidtab which is -# created prior to array construction. -# -# -# the config file takes two types of lines: -# -# DEVICE lines specify a list of devices of where to look for -# potential member disks -# -# ARRAY lines specify information about how to identify arrays so -# so that they can be activated -# - - -# You can have more than one device line and use wild cards. The first -# example includes SCSI the first partition of SCSI disks /dev/sdb, -# /dev/sdc, /dev/sdd, /dev/sdj, /dev/sdk, and /dev/sdl. The second -# line looks for array slices on IDE disks. -# -#DEVICE /dev/sd[bcdjkl]1 -#DEVICE /dev/hda1 /dev/hdb1 -# -# The designation "partitions" will scan all partitions found in -# /proc/partitions -DEVICE partitions - - -# ARRAY lines specify an array to assemble and a method of identification. -# Arrays can currently be identified by using a UUID, superblock minor number, -# or a listing of devices. -# -# super-minor is usually the minor number of the metadevice -# UUID is the Universally Unique Identifier for the array -# Each can be obtained using -# -# mdadm -D -# -# To capture the UUIDs for all your RAID arrays to this file, run these: -# to get a list of running arrays: -# # mdadm -D --scan >>/etc/mdadm.conf -# to get a list from superblocks: -# # mdadm -E --scan >>/etc/mdadm.conf -# -#ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371 -#ARRAY /dev/md1 super-minor=1 -#ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1 -# -# ARRAY lines can also specify a "spare-group" for each array. mdadm --monitor -# will then move a spare between arrays in a spare-group if one array has a -# failed drive but no spare -#ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df spare-group=group1 -#ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977 spare-group=group1 -# - - -# When used in --follow (aka --monitor) mode, mdadm needs a -# mail address and/or a program. To start mdadm's monitor mode, add -# "mdadm" to your DAEMONS array in /etc/rc.conf -# -# If the lines are not found, mdadm will exit quietly -#MAILADDR root@mydomain.tld -#PROGRAM /usr/sbin/handle-mdadm-events diff --git a/testing/mdadm/mdadm.service b/testing/mdadm/mdadm.service deleted file mode 100644 index 8389715e8..000000000 --- a/testing/mdadm/mdadm.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=MDADM Event Monitor - -[Service] -ExecStart=/sbin/mdadm --monitor --scan - -[Install] -WantedBy=multi-user.target diff --git a/testing/mdadm/mdadm_hook b/testing/mdadm/mdadm_hook deleted file mode 100755 index 787be5d0c..000000000 --- a/testing/mdadm/mdadm_hook +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/ash - -run_hook() { - local i= mdconfig=/etc/mdadm.conf - - # for partitionable raid, we need to load md_mod first! - modprobe md_mod 2>/dev/null - - if [ -n "$md" ]; then - echo 'DEVICE partitions' >"$mdconfig" - for i in $(cat /proc/cmdline); do - case $i in - # raid - md=[0-9]*,/*) - device=${i%%,*} - device=${device/=/} - array=${i#*,} - echo "ARRAY /dev/$device devices=$array" - ;; - # partitionable raid - md=d[0-9]*,/*) - device=${i%%,*} - device=${device/=/_} - array=${i#*,} - echo "ARRAY /dev/$device devices=$array" - ;; - # raid UUID - md=[0-9]*,[0-9,a-fA-F]*) - device=${i%%,*} - device=${device/=/} - array=${i#*,} - echo "ARRAY /dev/$device UUID=$array" - ;; - # partitionable raid UUID - md=d[0-9]*,[0-9,a-fA-F]*) - device=${i%%,*} - device=${device/=/_} - array=${i#*,} - echo "ARRAY /dev/$device UUID=$array" - ;; - esac - done >>"$mdconfig" - fi - - # assemble everything - [ -s "$mdconfig" ] && /sbin/mdassemble -} - -# vim: set ft=sh ts=4 sw=4 et: diff --git a/testing/mdadm/mdadm_install b/testing/mdadm/mdadm_install deleted file mode 100644 index cf6159e40..000000000 --- a/testing/mdadm/mdadm_install +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -build() { - add_checked_modules -f 'dm-' 'drivers/md/*' - - # check if a custom mdadm.conf exists - if grep -q ^ARRAY /etc/mdadm.conf; then - echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays." - add_file "/etc/mdadm.conf" - fi - add_binary "/sbin/mdassemble" - - add_runscript -} - -help() { - cat <,dev0,dev1,...,devn - md=,uuid -- for partitionable raid arrays with persistent superblocks: - md=d,dev0,dev1,...,devn - md=d,uuid - -Parameters: -- = the number of the md device: - 0 means md0, 1 means md1, ... -- : e.g. /dev/hda1,/dev/hdc1,/dev/sda1,/dev/sdb1 - or 0900878d:f95f6057:c39a36e9:55efa60a -Examples: -- md=d0,/dev/sda3,/dev/sda4 md=d1,/dev/hda1,/dev/hdb1 - This will setup 2 md partitionable arrays. -- md=0,/dev/sda3,/dev/sda4 md=1,/dev/hda1,/dev/hdb1 - This will setup 2 md arrays with persistent superblocks. -HELPEOF -} - -# vim: set ft=sh ts=4 sw=4 et: diff --git a/testing/mdadm/mdadm_udev_install b/testing/mdadm/mdadm_udev_install deleted file mode 100644 index f6f5de4ad..000000000 --- a/testing/mdadm/mdadm_udev_install +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -build() { - add_checked_modules -f 'dm-' 'drivers/md/*' - - # check if a custom mdadm.conf exists - if grep -qw ^ARRAY "$BASEDIR/etc/mdadm.conf"; then - echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays." - add_file "/etc/mdadm.conf" - fi - - add_binary "mdadm" - add_file "/usr/lib/udev/rules.d/64-md-raid.rules" -} - -help() { - cat < -# Contributor: John Proctor -# Contributor: dibblethewrecker -# Contributor: abelstr -# Contributor: Marco Lima - -pkgname=nfs-utils -pkgver=1.2.6 -pkgrel=1 -pkgdesc="Support programs for Network File Systems" -arch=('i686' 'x86_64') -url='http://nfs.sourceforge.net' -license=('GPL') -backup=(etc/{exports,idmapd.conf,nfsmount.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf}) -depends=('glibc' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue' 'device-mapper') -makedepends=('pkgconfig' 'autoconf' 'automake') -source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2 - nfs-common - nfs-common.conf - nfs-server - nfs-server.conf - exports - idmapd.conf - start-statd.patch - nfs - nfs-utils-1.1.4-mtab-sym.patch - nfs-utils-1.1.4-no-exec.patch - rpc-gssd.service - rpc-mountd.service - rpc-svcgssd.service - rpc-idmapd.service - rpc-statd.service - nfsd.service - var-lib-nfs-rpc_pipefs.mount - proc-fs-nfsd.mount - blkmapd.service - nfs-utils.conf) -install=nfs-utils.install -md5sums=('8be543ca270c2234ff18f8c8d35e0d37' - 'dd0d65fc6e8f422fa12520813098264b' - 'f73f197a16b02c3e248488ec35c4cf43' - 'e619f18354ff958ed624d05d08853d8f' - '9cef69bc686cc5dcac23fbb51450747d' - 'ff585faf410a62c4333a027c50b56bae' - 'eb4f4027fab6fc1201f1ca04f5954c76' - 'e9144277a89a620d9bc80413158a7d27' - 'f5e7bba09a46c5c5d7007cac6eff9df5' - '7674106eaaa4c149bccd4f05fe3604e9' - '4f4827dfc93008dfadd0a530ad0872b2' - '38855936dc55a5afe37d84edc0f11066' - '965311784d49a7d126d512cadbe91deb' - 'e05705d9ccccaeaeb1ecaee20adc05bc' - 'd7df7bc311fd95c5b80017dd1741570d' - '2e72ee082cba5d3ec6f51d2a105664da' - '5d33d2e754fd37280365b287603bac90' - '1cd65909fa0983047f3f06a3ab352401' - '02a34835aa077146a90eb7d191e612d0' - '8ffc2ebe932d29efe17d6f3f23d5b975' - '8ac484023d786766d287ccbe878ae4ba') - -build() { - cd $srcdir/${pkgname}-${pkgver} - patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch - #patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch - # arch specific patch - patch -Np0 -i $srcdir/start-statd.patch - - ./configure --prefix=/usr --enable-nfsv4 --enable-nfsv41 --enable-gss \ - --without-tcp-wrappers --with-statedir=/var/lib/nfs \ - --enable-ipv6 --sysconfdir=/etc --enable-libmount-mount \ - --enable-mountconfig - - make -} - -package() { - cd $srcdir/${pkgname}-${pkgver} - # fix make install - mkdir -p $pkgdir/sbin - make DESTDIR=$pkgdir install - - # support python2 (FS#25120) - sed -i '1s/python$/python2/' "$pkgdir"/usr/sbin/{nfsiostat,mountstats} - - # NFS & NFSv4 init scripts - install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common - install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server - # Configuration - install -D -m 644 ../exports "$pkgdir/"etc/exports - install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf - install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf - install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf - install -D -m 644 ../nfs "$pkgdir/"etc/conf.d/nfs - install -D -m 644 utils/mount/nfsmount.conf "$pkgdir/"etc/nfsmount.conf - # systemd files - for i in ${srcdir}/*.{service,mount}; do - install -D -m 644 $i "$pkgdir/usr/lib/systemd/system/${i##*/}" - done - install -D -m 644 ../nfs-utils.conf "$pkgdir/"usr/lib/modules-load.d/nfs-utils.conf - # directories - mkdir "$pkgdir/"etc/exports.d - mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs - mkdir "$pkgdir/"var/lib/nfs/v4recovery -} diff --git a/testing/nfs-utils/blkmapd.service b/testing/nfs-utils/blkmapd.service deleted file mode 100644 index 16cb68bbb..000000000 --- a/testing/nfs-utils/blkmapd.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=pNFS block layout mapping daemon -After=var-lib-nfs-rpc_pipefs.mount nfsd.service -Requires=var-lib-nfs-rpc_pipefs.mount - -[Service] -Type=forking -ExecStart=/usr/sbin/blkmapd - -[Install] -WantedBy=multi-user.target diff --git a/testing/nfs-utils/exports b/testing/nfs-utils/exports deleted file mode 100644 index 8f4aac598..000000000 --- a/testing/nfs-utils/exports +++ /dev/null @@ -1,15 +0,0 @@ -# /etc/exports -# -# List of directories exported to NFS clients. See exports(5). -# Use exportfs -arv to reread. -# -# Example for NFSv2 and NFSv3: -# /srv/home hostname1(rw,sync) hostname2(ro,sync) -# -# Example for NFSv4: -# /srv/nfs4 hostname1(rw,sync,fsid=0) -# /srv/nfs4/home hostname1(rw,sync,nohide) -# Using Kerberos and integrity checking: -# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt) -# /srv/nfs4/home gss/krb5i(rw,sync,nohide) -# diff --git a/testing/nfs-utils/idmapd.conf b/testing/nfs-utils/idmapd.conf deleted file mode 100644 index b1b23afe9..000000000 --- a/testing/nfs-utils/idmapd.conf +++ /dev/null @@ -1,14 +0,0 @@ -[General] - -Verbosity = 0 -Pipefs-Directory = /var/lib/nfs/rpc_pipefs -Domain = localdomain - -[Mapping] - -Nobody-User = nobody -Nobody-Group = nobody - -[Translation] - -Method = nsswitch diff --git a/testing/nfs-utils/nfs b/testing/nfs-utils/nfs deleted file mode 100644 index 2d33cf3d4..000000000 --- a/testing/nfs-utils/nfs +++ /dev/null @@ -1,40 +0,0 @@ -# -# Optinal options passed to rquotad -RPCRQUOTADOPTS="" -# -# Optional arguments passed to in-kernel lockd -#LOCKDARG= -# TCP port rpc.lockd should listen on. -#LOCKD_TCPPORT=32803 -# UDP port rpc.lockd should listen on. -#LOCKD_UDPPORT=32769 -# -# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8) -RPCNFSDARGS="" -# Number of nfs server processes to be started. -# The default is 8. -RPCNFSDCOUNT=8 -# Set V4 grace period in seconds -#NFSD_V4_GRACE=90 -# -# Optional arguments passed to rpc.mountd. See rpc.mountd(8) -RPCMOUNTDOPTS="" -# -# Optional arguments passed to rpc.statd. See rpc.statd(8) -STATDARG="" -# -# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8) -RPCIDMAPDARGS="" -# -# Optional arguments passed to rpc.gssd. See rpc.gssd(8) -RPCGSSDARGS="" -# -# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8) -RPCSVCGSSDARGS="" -# -# To enable RDMA support on the server by setting this to -# the port the server should listen on -#RDMA_PORT=20049 -# -# Optional arguments passed to blkmapd. See blkmapd(8) -BLKMAPDARGS="" diff --git a/testing/nfs-utils/nfs-common b/testing/nfs-utils/nfs-common deleted file mode 100644 index 7b16b4b3c..000000000 --- a/testing/nfs-utils/nfs-common +++ /dev/null @@ -1,315 +0,0 @@ -#!/bin/bash - -daemon_name=nfs-common - -NEED_STATD= -STATD_OPTS= -NEED_IDMAPD= -IDMAPD_OPTS= -NEED_GSSD= -GSSD_OPTS= -PIPEFS_MOUNTPOINT= -PIPEFS_MOUNTOPTS= - -# rpc.statd daemon & binary location -STATD_DAEMON_NAME=rpc.statd -STATD="/usr/sbin/rpc.statd" - -# rpc.idmapd daemon & binary location -IDMAPD_DAEMON_NAME=rpc.idmapd -IDMAPD="/usr/sbin/rpc.idmapd" - -# rpc.gssd daemon & binary location -GSSD_DAEMON_NAME=rpc.gssd -GSSD="/usr/sbin/rpc.gssd" - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/$daemon_name.conf - -# Default mountpoint and options for rpc_pipefs filesystem -[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs" -[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults" - -# Parse the fstab file, and determine whether we need idmapd and gssd. (The -# /etc/conf.d/nfs-common settings, if any, will override our autodetection.) -AUTO_NEED_IDMAPD=no -AUTO_NEED_GSSD=no - -if [ -f /etc/fstab ]; then - exec 9<&0 /dev/null ; then - return 1 - fi - - if grep -vw "$1" /proc/mounts &> /dev/null ; then - if ! mountpoint -q "$2" ; then - mount -t "$1" "$1" "$2" -o "$3" - return - fi - fi - return 0 -} - -do_umount() { - if mountpoint -q "$1" ; then - umount "$1" - fi - return 0 -} - -get_pid() { - pidof -o %PPID "$1" -} - -case "$1" in - start) - ck_daemon rpcbind && { echo -n "Start rpcbind first." >&2; stat_die; } - rc=0 - if [ "$NEED_STATD" = yes ]; then - stat_busy "Starting $STATD_DAEMON_NAME daemon" - PID=$(get_pid $STATD) - if [ -z "$PID" ]; then - [ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid - # RUN - $STATD $STATD_OPTS - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - # Run sm-notify - /usr/sbin/sm-notify $SMNOTIFY_OPTS - fi - - if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then - stat_busy "Mounting pipefs filesystem" - do_modprobe sunrpc - do_modprobe nfs - do_modprobe nfsd - do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS" - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - - if [ "$NEED_IDMAPD" = yes ]; then - stat_busy "Starting $IDMAPD_DAEMON_NAME daemon" - PID=$(get_pid $IDMAPD) - if [ -z "$PID" ]; then - [ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid - # RUN - $IDMAPD $IDMAPD_OPTS - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - fi - - if [ "$NEED_GSSD" = yes ]; then - do_modprobe rpcsec_gss_krb5 - stat_busy "Starting $GSSD_DAEMON_NAME daemon" - PID=$(get_pid $GSSD) - if [ -z "$PID" ]; then - [ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid - # RUN - $GSSD $GSSD_OPTS - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - fi - fi - - add_daemon $daemon_name - ;; - - stop) - rc=0 - if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then - - if [ "$NEED_GSSD" = yes ]; then - stat_busy "Stopping $GSSD_DAEMON_NAME daemon" - PID=$(get_pid $GSSD) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - fi - - if [ "$NEED_IDMAPD" = yes ]; then - stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon" - PID=$(get_pid $IDMAPD) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - fi - do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true - fi - - if [ "$NEED_STATD" = yes ]; then - stat_busy "Stopping $STATD_DAEMON_NAME daemon" - PID=$(get_pid $STATD) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - fi - - rm_daemon $daemon_name - ;; - - status) - stat_busy "Checking $daemon_name status"; - ck_status $daemon_name - - if [ "$NEED_STATD" = yes ]; then - stat_busy "Daemon $STATD_DAEMON_NAME running" - PID=$(get_pid $STATD) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - fi - - if [ "$NEED_GSSD" = yes ]; then - stat_busy "Daemon $GSSD_DAEMON_NAME running" - PID=$(get_pid $GSSD) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - fi - - if [ "$NEED_IDMAPD" = yes ]; then - stat_busy "Daemon $IDMAPD_DAEMON_NAME running" - PID=$(get_pid $IDMAPD) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - fi - echo - ;; - - restart) - $0 stop - sleep 3 - $0 start - ;; - *) - echo "usage: $0 {start|stop|status|restart}" -esac -exit 0 - diff --git a/testing/nfs-utils/nfs-common.conf b/testing/nfs-utils/nfs-common.conf deleted file mode 100644 index 12466b3e5..000000000 --- a/testing/nfs-utils/nfs-common.conf +++ /dev/null @@ -1,40 +0,0 @@ -# Parameters to be passed to nfs-common (nfs clients & server) init script. -# - -# If you do not set values for the NEED_ options, they will be attempted -# autodetected; this should be sufficient for most people. Valid alternatives -# for the NEED_ options are "yes" and "no". - -# Do you want to start the statd daemon? It is not needed for NFSv4. -NEED_STATD="" - -# Options to pass to rpc.statd. -# See rpc.statd(8) for more details. -# N.B. statd normally runs on both client and server, and run-time -# options should be specified accordingly. -# STATD_OPTS="-p 32765 -o 32766" -STATD_OPTS="" - -# Options to pass to sm-notify -# e.g. SMNOTIFY_OPTS="-p 32764" -SMNOTIFY_OPTS="" - -# Do you want to start the idmapd daemon? It is only needed for NFSv4. -NEED_IDMAPD="" - -# Options to pass to rpc.idmapd. -# See rpc.idmapd(8) for more details. -IDMAPD_OPTS="" - -# Do you want to start the gssd daemon? It is required for Kerberos mounts. -NEED_GSSD="" - -# Options to pass to rpc.gssd. -# See rpc.gssd(8) for more details. -GSSD_OPTS="" - -# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs". -PIPEFS_MOUNTPOINT="" - -# Options used to mount rpc_pipefs filesystem; the default is "defaults". -PIPEFS_MOUNTOPTS="" diff --git a/testing/nfs-utils/nfs-server b/testing/nfs-utils/nfs-server deleted file mode 100644 index 6aa609d8c..000000000 --- a/testing/nfs-utils/nfs-server +++ /dev/null @@ -1,299 +0,0 @@ -#!/bin/bash - -daemon_name=nfs-server - -NFSD_COUNT= -NFSD_OPTS= -NEED_SVCGSSD= -SVCGSSD_OPTS= -MOUNTD_OPTS= -PROCNFSD_MOUNTPOINT= -PROCNFSD_MOUNTOPTS= - -# rpc.nfsd daemon & binary location -NFSD_PROCESS_NAME=nfsd -NFSD_DAEMON_NAME=rpc.nfsd -NFSD="/usr/sbin/rpc.nfsd" - -# rpc.svcgssd daemon & binary location -SVCGSSD_DAEMON_NAME=rpc.svcgssd -SVCGSSD="/usr/sbin/rpc.svcgssd" - -# rpc.idmapd daemon & binary location -IDMAPD_DAEMON_NAME=rpc.idmapd -IDMAPD="/usr/sbin/rpc.idmapd" - -# rpc.mountd daemon & binary location -MOUNTD_DAEMON_NAME=rpc.mountd -MOUNTD="/usr/sbin/rpc.mountd" - -# exortfs binary location -EXPORTFS="/usr/sbin/exportfs" - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/$daemon_name.conf - -# Default number of nfsd servers -[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8 - -# Default mountpoint and options for nfsd filesystem -[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd" -[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid" - -case "$NEED_SVCGSSD" in - yes|no) - ;; - *) - NEED_SVCGSSD=no - ;; -esac - -do_modprobe() { - if [ -x /sbin/modprobe -a -f /proc/modules ]; then - modprobe -q "$1" || true - fi -} - -do_mount() { - if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then - return 1 - fi - - if grep -vw "$1" /proc/mounts &> /dev/null ; then - if ! mountpoint -q "$2" ; then - mount -t "$1" "$1" "$2" -o "$3" - return - fi - fi - return 0 -} - -do_umount() { - if mountpoint -q "$1" ; then - umount "$1" - fi - return 0 -} - -get_pid() { - pidof -o %PPID "$1" -} - -case "$1" in - start) - ck_daemon nfs-common && { echo -n "Start nfs-common first." >&2; stat_die; } - rc=0 - stat_busy "Mounting nfsd filesystem" - do_modprobe nfsd - do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS" - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - - stat_busy "Exporting all directories" - $EXPORTFS -r - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - - stat_busy "Starting $NFSD_DAEMON_NAME daemon" - PID=$(get_pid $NFSD_PROCESS_NAME) - if [ -z "$PID" ]; then - [ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid - # RUN - $NFSD $NFSD_OPTS $NFSD_COUNT - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - - if [ "$NEED_SVCGSSD" = yes ]; then - do_modprobe rpcsec_gss_krb5 - stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon" - PID=$(get_pid $SVCGSSD) - if [ -z "$PID" ]; then - [ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid - # RUN - $SVCGSSD $SVCGSSD_OPTS - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - fi - - PID=$(get_pid $IDMAPD) - [ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null - - stat_busy "Starting $MOUNTD_DAEMON_NAME daemon" - PID=$(get_pid $MOUNTD) - if [ -z "$PID" ]; then - [ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid - # RUN - $MOUNTD $MOUNTD_OPTS - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid - stat_done - fi - else - stat_fail - exit 1 - fi - - add_daemon $daemon_name - ;; - - stop) - rc=0 - stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon" - PID=$(get_pid $MOUNTD) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - - if [ "$NEED_SVCGSSD" = yes ]; then - stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon" - PID=$(get_pid $SVCGSSD) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - fi - - stat_busy "Stopping $NFSD_DAEMON_NAME daemon" - PID=$(get_pid $NFSD_PROCESS_NAME) - # KILL (SIGINT) - [ ! -z "$PID" ] && kill -2 $PID &> /dev/null - # - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - sleep 1 - PID=$(get_pid $NFSD_PROCESS_NAME) - # KILL (KILL) - just to be sure - [ ! -z "$PID" ] && kill -9 $PID &> /dev/null - # - rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null - stat_done - fi - - stat_busy "Unexporting all directories" - $EXPORTFS -au - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - - # flush everything out of the kernels export table - if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then - $EXPORTFS -f - fi - do_umount "$PROCNFSD_MOUNTPOINT" 2>/dev/null || true - rm_daemon $daemon_name - ;; - - status) - stat_busy "Checking $daemon_name status"; - ck_status $daemon_name - - stat_busy "Daemon $NFSD_DAEMON_NAME running" - PID=$(get_pid $NFSD_PROCESS_NAME) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - - stat_busy "Daemon $MOUNTD_DAEMON_NAME running" - PID=$(get_pid $MOUNTD) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - - if [ "$NEED_SVCGSSD" = yes ]; then - stat_busy "Daemon $SVCGSSD_DAEMON_NAME running" - PID=$(get_pid $SVCGSSD) - if [ -z "$PID" ]; then - stat_fail - else - stat_done - fi - fi - echo - ;; - - reload) - rc=0 - stat_busy "Re-exporting all directories" - $EXPORTFS -r - rc=$(($rc+$?)) - if [ $rc -gt 0 ]; then - stat_fail - exit $rc - else - stat_done - fi - ;; - - restart) - $0 stop - sleep 3 - $0 start - ;; - *) - echo "usage: $0 {start|stop|status|reload|restart}" -esac -exit 0 diff --git a/testing/nfs-utils/nfs-server.conf b/testing/nfs-utils/nfs-server.conf deleted file mode 100644 index 581e26350..000000000 --- a/testing/nfs-utils/nfs-server.conf +++ /dev/null @@ -1,29 +0,0 @@ -# Parameters to be passed to nfs-server init script. -# - -# Options to pass to rpc.nfsd. -# See rpc.nfsd(8) for more details. -NFSD_OPTS="" - -# Number of servers to start up; the default is 8 servers. -NFSD_COUNT="" - -# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd". -PROCNFSD_MOUNTPOINT="" - -# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid". -PROCNFSD_MOUNTOPTS="" - -# Options for rpc.mountd. -# If you have a port-based firewall, you might want to set up -# a fixed port here using the --port option. -# See rpc.mountd(8) for more details. -MOUNTD_OPTS="" - -# Do you want to start the svcgssd daemon? It is only required for Kerberos -# exports. Valid alternatives are "yes" and "no"; the default is "no". -NEED_SVCGSSD="" - -# Options to pass to rpc.svcgssd. -# See rpc.svcgssd(8) for more details. -SVCGSSD_OPTS="" diff --git a/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch deleted file mode 100644 index c9e60afc7..000000000 --- a/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch +++ /dev/null @@ -1,39 +0,0 @@ -ripped from Debian - ---- nfs-utils-1.1.4/utils/mount/fstab.c -+++ nfs-utils-1.1.4/utils/mount/fstab.c -@@ -57,7 +57,7 @@ mtab_does_not_exist(void) { - return var_mtab_does_not_exist; - } - --static int -+int - mtab_is_a_symlink(void) { - get_mtab_info(); - return var_mtab_is_a_symlink; ---- nfs-utils-1.1.4/utils/mount/fstab.h -+++ nfs-utils-1.1.4/utils/mount/fstab.h -@@ -7,6 +7,7 @@ - #define _PATH_FSTAB "/etc/fstab" - #endif - -+int mtab_is_a_symlink(void); - int mtab_is_writable(void); - int mtab_does_not_exist(void); - void reset_mtab_info(void); ---- nfs-utils-1.1.4/utils/mount/mount.c -+++ nfs-utils-1.1.4/utils/mount/mount.c -@@ -230,6 +230,13 @@ create_mtab (void) { - int flags; - mntFILE *mfp; - -+ /* Avoid writing if the mtab is a symlink to /proc/mounts, since -+ that would create a file /proc/mounts in case the proc filesystem -+ is not mounted, and the fchmod below would also fail. */ -+ if (mtab_is_a_symlink()) { -+ return EX_SUCCESS; -+ } -+ - lock_mtab(); - - mfp = nfs_setmntent (MOUNTED, "a+"); diff --git a/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch deleted file mode 100644 index ea50a21d8..000000000 --- a/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch +++ /dev/null @@ -1,15 +0,0 @@ -ripped from Debian - ---- nfs-utils-1.1.2/utils/mount/mount.c -+++ nfs-utils-1.1.2/utils/mount/mount.c -@@ -381,10 +381,6 @@ - mount_error(NULL, mount_point, ENOTDIR); - return 1; - } -- if (access(mount_point, X_OK) < 0) { -- mount_error(NULL, mount_point, errno); -- return 1; -- } - - return 0; - } diff --git a/testing/nfs-utils/nfs-utils.conf b/testing/nfs-utils/nfs-utils.conf deleted file mode 100644 index 33c97b838..000000000 --- a/testing/nfs-utils/nfs-utils.conf +++ /dev/null @@ -1 +0,0 @@ -nfs diff --git a/testing/nfs-utils/nfs-utils.install b/testing/nfs-utils/nfs-utils.install deleted file mode 100644 index 7dcdf9575..000000000 --- a/testing/nfs-utils/nfs-utils.install +++ /dev/null @@ -1,32 +0,0 @@ -## arg 1: the new package version -post_install() { -cat << 'EOM' - ==> PLEASE NOTE: - ==> Extended configuration options for NFS (clients & server) are available in - ==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf - ==> - ==> Please refer to http://wiki.archlinux.org/index.php/Nfs - ==> for further information on NFS; for NFSv4, refer to - ==> http://wiki.archlinux.org/index.php/NFSv4 -EOM -} - -## arg 1: the new package version -## arg 2: the old package version -post_upgrade() { - if [ "$(vercmp $2 1.2.0-2)" -lt 0 ]; then -cat << 'EOM' - ==> IMPORTANT NFS UTILS CHANGES: - ==> This is a rather important upgrade, you are going to have to change config files. - ==> /etc/rc.conf daemons changes: - ==> Change portmap to rpcbind - ==> Change nfslock to nfs-common - ==> Change nfsd to nfs-server - ==> - ==> Extended configuration options for NFS (clients & server) are available in: - ==> /etc/conf.d/nfs-common - ==> /etc/conf.d/nfs-server - ==> Please change them to your needs. -EOM - fi -} diff --git a/testing/nfs-utils/nfsd.service b/testing/nfs-utils/nfsd.service deleted file mode 100644 index e5481c3d1..000000000 --- a/testing/nfs-utils/nfsd.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=NFS server -After=rpcbind.service -Requires=rpcbind.service - -[Service] -Type=oneshot -EnvironmentFile=/etc/conf.d/nfs-server.conf -ExecStart=/usr/sbin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT -ExecStartPost=/usr/sbin/exportfs -a -ExecStop=/usr/sbin/rpc.nfsd 0 -ExecStopPost=/usr/sbin/exportfs -a -u -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/testing/nfs-utils/proc-fs-nfsd.mount b/testing/nfs-utils/proc-fs-nfsd.mount deleted file mode 100644 index f8664a8be..000000000 --- a/testing/nfs-utils/proc-fs-nfsd.mount +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=RPC Pipe File System -DefaultDependencies=no - -[Mount] -What=sunrpc -Where=/proc/fs/nfsd -Type=rpc_pipefs diff --git a/testing/nfs-utils/rpc-gssd.service b/testing/nfs-utils/rpc-gssd.service deleted file mode 100644 index 446864d18..000000000 --- a/testing/nfs-utils/rpc-gssd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=RPC GSS-API client-side daemon -After=rpcbind.service var-lib-nfs-rpc_pipefs.mount -Requires=rpcbind.service var-lib-nfs-rpc_pipefs.mount - -[Service] -Type=forking -EnvironmentFile=/etc/conf.d/nfs-common.conf -ExecStart=/usr/sbin/rpc.gssd $GSSD_OPTS - -[Install] -WantedBy=multi-user.target diff --git a/testing/nfs-utils/rpc-idmapd.service b/testing/nfs-utils/rpc-idmapd.service deleted file mode 100644 index 72cd26a93..000000000 --- a/testing/nfs-utils/rpc-idmapd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=NFSv4 ID-name mapping daemon -After=var-lib-nfs-rpc_pipefs.mount nfsd.service -Requires=var-lib-nfs-rpc_pipefs.mount - -[Service] -Type=forking -EnvironmentFile=/etc/conf.d/nfs-common.conf -ExecStart=/usr/sbin/rpc.idmapd $IDMAPD_OPTS - -[Install] -WantedBy=multi-user.target diff --git a/testing/nfs-utils/rpc-mountd.service b/testing/nfs-utils/rpc-mountd.service deleted file mode 100644 index edd8c851d..000000000 --- a/testing/nfs-utils/rpc-mountd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=NFS Mount Daemon -After=rpcbind.service nfsd.service -Requires=rpcbind.service nfsd.service - -[Service] -Type=forking -EnvironmentFile=/etc/conf.d/nfs-server.conf -ExecStart=/usr/sbin/rpc.mountd $MOUNTD_OPTS - -[Install] -WantedBy=multi-user.target diff --git a/testing/nfs-utils/rpc-statd.service b/testing/nfs-utils/rpc-statd.service deleted file mode 100644 index 983b4044f..000000000 --- a/testing/nfs-utils/rpc-statd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=NFSv2/3 Network Status Monitor Daemon -After=rpcbind.service -Requires=rpcbind.service - -[Service] -Type=forking -EnvironmentFile=/etc/conf.d/nfs-common.conf -ExecStart=/usr/sbin/rpc.statd $STATD_OPTS - -[Install] -WantedBy=multi-user.target diff --git a/testing/nfs-utils/rpc-svcgssd.service b/testing/nfs-utils/rpc-svcgssd.service deleted file mode 100644 index 8152e8338..000000000 --- a/testing/nfs-utils/rpc-svcgssd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=RPC GSS-API server-side daemon -After=rpcbind.service -Requires=rpcbind.service - -[Service] -Type=forking -EnvironmentFile=/etc/conf.d/nfs-server.conf -ExecStart=/usr/sbin/rpc.svcgssd $SVCGSSD_OPTS - -[Install] -WantedBy=multi-user.target diff --git a/testing/nfs-utils/start-statd.patch b/testing/nfs-utils/start-statd.patch deleted file mode 100644 index 5d73b6e35..000000000 --- a/testing/nfs-utils/start-statd.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- utils/statd/start-statd 2007-05-11 04:40:57.000000000 +0100 -+++ utils/statd/start-statd.new 2007-09-21 17:11:34.000000000 +0100 -@@ -1,9 +1,16 @@ --#!/bin/bash -p -+#!/bin/sh -+ -+# Original script provided by the NFS project -+# Modified for Arch Linux by Tom Killian -+ - # nfsmount calls this script when mounting a filesystem with locking - # enabled, but when statd does not seem to be running (based on - # /var/run/rpc.statd.pid). - # It should run statd with whatever flags are apropriate for this - # site. --PATH=/sbin:/usr/sbin --exec rpc.statd --no-notify -+ -+# source application-specific settings -+[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf -+ -+exec /usr/sbin/rpc.statd $STATD_OPTS - diff --git a/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount b/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount deleted file mode 100644 index 4bd440f24..000000000 --- a/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=RPC pipe filesystem - -[Mount] -What=rpc_pipefs -Where=/var/lib/nfs/rpc_pipefs -Type=rpc_pipefs diff --git a/~lukeshu/parabolaweb-git/PKGBUILD b/~lukeshu/parabolaweb-git/PKGBUILD deleted file mode 100644 index 962b1c977..000000000 --- a/~lukeshu/parabolaweb-git/PKGBUILD +++ /dev/null @@ -1,37 +0,0 @@ -# Maintainer: Luke Shumaker -# This does not follow normal package guidelines; it is not a normal package. - -pkgname=parabolaweb-git -pkgver=20120228 -pkgrel=2 -pkgdesc="The Parabola website, fork of archweb" -arch=('any') -url="https://projects.parabolagnulinux.org/parabolaweb.git/" -license=('GPL2') - -_requirements=https://projects.parabolagnulinux.org/parabolaweb.git/plain/requirements_prod.txt -depends=('python2' 'git' - `curl -s "$_requirements" | sed -r -e 's/.*/\L&/' -e 's/==/=/' \ - -e 's/^(south)/python-&/' \ - -e 's/^(markdown|psycopg2|pyinotify|pytz)/python2-&/'`) -install=parabolaweb.install - -# 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() { - sed -i \ - -e "s|^_install_dir=.*|_install_dir='$_install_dir'|" \ - -e "s|^_gitname=.*|_gitname='$_gitname'|" \ - -e "s|^_gitroot=.*|_gitroot='$_gitroot'|" \ - -e "s|^_gitbranch=.*|_gitbranch='$_gitbranch'|" \ - ../parabolaweb.install -} - -package() { - install -d "${pkgdir}/${_install_dir}" -} diff --git a/~lukeshu/parabolaweb-git/parabolaweb.install b/~lukeshu/parabolaweb-git/parabolaweb.install deleted file mode 100644 index 53374ccc3..000000000 --- a/~lukeshu/parabolaweb-git/parabolaweb.install +++ /dev/null @@ -1,65 +0,0 @@ -# These will make it install into /http/srv/web -_install_dir='/srv/http' -_gitname='web' - -_gitroot='https://projects.parabolagnulinux.org/parabolaweb.git' -_gitbranch='master' - -msg() { - echo $@ -} - -_main() { - set -e - if [ ! -d "$_install_dir" ]; then - mkdir "$_install_dir" - fi - cd "$_install_dir" - - msg "Connecting to GIT server...." - if [ -d ${_gitname} ] ; then - cd ${_gitname} - git pull ${_gitroot} - msg "The local files are updated." - else - git clone ${_gitroot} ${_gitname} - cd ${_gitname} - fi - git checkout ${_gitbranch} - msg "GIT checkout done or server timeout" - - msg "Checking configuration...." - if [ ! -f local_settings.py ]; then - cp local_settings.py.example local_settings.py.tmp - $EDITOR local_settings.py.tmp - mv local_settings.py.tmp local_settings.py - msg "Creating database...." - ./manage.py syncdb - fi - - msg "Purging old .pyc files...." - find . -name '*.pyc' -delete - - msg "Updating database...." - ./manage.py migrate - ./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 -} - -# arg 1: the new package version -post_install() { - _main -} - -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - _main -} - -# vim:set ts=2 sw=2 et: -- cgit v1.2.3-54-g00ecf