diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-05-09 20:23:53 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-05-09 20:23:53 -0300 |
commit | 7c6a0188a5ac63d4bb6c667c2f1bcf26792312e6 (patch) | |
tree | 706c3ba50b28eb4e1414d122b28ce69cf2c8a285 /extra | |
parent | 25828de60b05b955dc23d7226b591b416f955875 (diff) | |
parent | d2f2d3b5c845807249680c275031f94047f9e762 (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community/libtextcat/PKGBUILD
extra/glsof/PKGBUILD
extra/orca/PKGBUILD
extra/python-qt/PKGBUILD
extra/python-sip/PKGBUILD
extra/python2-qt/PKGBUILD
extra/python2-sip/PKGBUILD
extra/swfdec-mozilla/PKGBUILD
extra/swfdec/PKGBUILD
extra/trayer/PKGBUILD
extra/xbill/PKGBUILD
extra/xfce4-xfapplet-plugin/PKGBUILD
Diffstat (limited to 'extra')
54 files changed, 1356 insertions, 1931 deletions
diff --git a/extra/akonadi/PKGBUILD b/extra/akonadi/PKGBUILD index eff8df43e..7b5d011c9 100644 --- a/extra/akonadi/PKGBUILD +++ b/extra/akonadi/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 118244 2011-04-06 08:21:21Z andrea $ +# $Id: PKGBUILD 122924 2011-05-07 10:20:40Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=akonadi -pkgver=1.5.2 +pkgver=1.5.3 pkgrel=1 pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data" arch=('i686' 'x86_64' 'mips64el') @@ -13,10 +13,10 @@ depends=('shared-mime-info' 'boost-libs' 'mysql' 'soprano') makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost') install="${pkgname}.install" source=("http://download.akonadi-project.org/${pkgname}-${pkgver}.tar.bz2") -md5sums=('1c69a74474389e35709171a329c77bed') +md5sums=('ad342acca61c2af27be4cce61b2d925a') build() { - cd ${srcdir} + cd "${srcdir}" mkdir build cd build cmake ../${pkgname}-${pkgver} \ @@ -27,6 +27,6 @@ build() { } package() { - cd ${srcdir}/build - make DESTDIR=${pkgdir} install + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install } diff --git a/extra/dconf/PKGBUILD b/extra/dconf/PKGBUILD index f9bd14a1b..14aec63dd 100644 --- a/extra/dconf/PKGBUILD +++ b/extra/dconf/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 118171 2011-04-05 17:33:39Z ibiru $ +# $Id: PKGBUILD 123046 2011-05-07 19:01:26Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=dconf -pkgver=0.7.3 -pkgrel=2 +pkgver=0.7.4 +pkgrel=1 pkgdesc="A low-level configuration system." arch=(i686 x86_64 'mips64el') url="http://live.gnome.org/dconf" @@ -11,16 +11,13 @@ depends=('glib2') makedepends=('vala' 'gobject-introspection' 'gtk3') optdepends=('gtk3: for dconf-editor') install=dconf.install -source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2 - load-enum.patch) -sha256sums=('84efc95cb62b6637b2131e110ff447908be739c2185d69bebb300293b561dfd9' - '8ead56b2897b18c97b9b72b81bd6e9f9249e28743b05a2653bbf4e6af7d9f7cc') +source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('299d79daf0b214c692e7d5788d7bda76d778c1748ea37c33256c4fa6143b22cd') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/load-enum.patch" - ./configure --prefix=/usr \ + ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/dconf make } diff --git a/extra/dconf/load-enum.patch b/extra/dconf/load-enum.patch deleted file mode 100644 index 949de1e00..000000000 --- a/extra/dconf/load-enum.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 0d00a6ad3385e08eff0c50efe970af8d5d63c536 Mon Sep 17 00:00:00 2001 -From: Robert Ancell <robert.ancell@canonical.com> -Date: Tue, 29 Mar 2011 05:50:12 +0000 -Subject: editor: Load *.enums.xml as well as *.gschema.xml. This was stopping some enums from being loaded. - -Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=636880 ---- -diff --git a/editor/dconf-schema.vala b/editor/dconf-schema.vala -index 2b34e28..c2654b5 100644 ---- a/editor/dconf-schema.vala -+++ b/editor/dconf-schema.vala -@@ -371,7 +371,7 @@ public class SchemaList - while ((info = i.next_file (null)) != null) { - string name = info.get_name(); - -- if (!name.has_suffix(".gschema.xml")) -+ if (!name.has_suffix(".gschema.xml") && !name.has_suffix(".enums.xml")) - continue; - - string path = Path.build_filename(dir, name, null); --- -cgit v0.9 diff --git a/extra/fyre/ChangeLog b/extra/fyre/ChangeLog deleted file mode 100644 index edb09672c..000000000 --- a/extra/fyre/ChangeLog +++ /dev/null @@ -1,7 +0,0 @@ -2008-11-03 Eric Belanger <eric@archlinux.org> - - * fyre 1.0.1-3 - * Fixed mime file conflict - * Fixed install scriptlet - * Added shared-mime-info depends - * Added ChangeLog diff --git a/extra/glsof/ChangeLog b/extra/glsof/ChangeLog deleted file mode 100644 index e941c8b45..000000000 --- a/extra/glsof/ChangeLog +++ /dev/null @@ -1,6 +0,0 @@ -2009-03-14 Eric Belanger <eric@archlinux.org> - - * glsof 0.9.16-5 - * Added license - * Added .desktop file - * Added ChangeLog diff --git a/extra/glsof/PKGBUILD b/extra/glsof/PKGBUILD index ac9eacdd4..cc82175f7 100644 --- a/extra/glsof/PKGBUILD +++ b/extra/glsof/PKGBUILD @@ -1,25 +1,38 @@ -# $Id: PKGBUILD 30064 2009-03-16 01:17:32Z eric $ -# Maintainer: Eric Belanger <eric@archlinux.org> -# Contributor: Damir Perisa <damir.perisa@bluewin.ch> +# $Id: PKGBUILD 123056 2011-05-07 20:58:12Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=glsof -pkgver=0.9.16 -pkgrel=5 -pkgdesc="A gtk-GUI for lsof (aka GTK-lsof)" +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Two separate GUI utilities (Queries and Filemonitor) to the lsof command line utility" arch=('i686' 'x86_64' 'mips64el') url="http://glsof.sourceforge.net/" -license=('GPL') -depends=('libxml2' 'gtk2' 'lsof') -source=(http://download.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz glsof.desktop) -md5sums=('5ad5f2a6908be713753d9826c38e3e2c' '1a6ab5bf5ef44ae31b8b7461b76f62db') -sha1sums=('80f4596ad09c5ddb463bad299a76ce275c0ecd4d' '647be33bea11fec6ba0bfd59c02034dc64925e52') +license=('GPL3') +depends=('java-runtime' 'lsof') +if [ "$CARCH" = "i686" ]; then + source=(http://downloads.sourceforge.net/sourceforge/glsof/filemonitor-${pkgver}/filemonitor_linux32.tar.gz \ + http://downloads.sourceforge.net/sourceforge/glsof/queries-${pkgver}/queries_linux32.tar.gz \ + glsof-filemonitor glsof-queries) + md5sums=('7a541ee8c432b78f9bfd36dd1707fb8d' + '895bcec79edea97ebde36d7f5eaa3ee9' + '7e43c1120e15e65bd1a12d6f188be4a0' + '980da4b39e1e3f4fbed08018dfd3be7b') +elif [ "$CARCH" = "x86_64" ]; then + source=(http://downloads.sourceforge.net/sourceforge/glsof/filemonitor-${pkgver}/filemonitor_linux64.tar.gz \ + http://downloads.sourceforge.net/sourceforge/glsof/queries-${pkgver}/queries_linux64.tar.gz \ + glsof-filemonitor glsof-queries) + md5sums=('9a6043b0b90fbc6de4db36967647dab0' + 'ed96ee2105428aa8b038f5fe13b8cd1d' + '7e43c1120e15e65bd1a12d6f188be4a0' + '980da4b39e1e3f4fbed08018dfd3be7b') +fi -build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr || return 1 - make || return 1 - make DESTDIR=${pkgdir} install || return 1 - install -D -m644 ../glsof.desktop ${pkgdir}/usr/share/applications/glsof.desktop || return 1 - install -d ${pkgdir}/usr/share/pixmaps - ln -s /usr/share/glsof/pixmaps/logo.png ${pkgdir}/usr/share/pixmaps/glsof.png +package() { + cd "${srcdir}" + install -D -m755 glsof-filemonitor "${pkgdir}/usr/bin/glsof-filemonitor" + install -D -m755 glsof-queries "${pkgdir}/usr/bin/glsof-queries" + install -D -m644 filemonitor_linux??/filemonitor.jar "${pkgdir}/usr/share/java/glsof/filemonitor.jar" + install -D -m644 filemonitor_linux??/filemonitor.pdf "${pkgdir}/usr/share/doc/glsof/filemonitor.pdf" + install -D -m644 queries_linux??/queries.jar "${pkgdir}/usr/share/java/glsof/queries.jar" + install -D -m644 queries_linux??/queries.pdf "${pkgdir}/usr/share/doc/glsof/queries.pdf" } diff --git a/extra/glsof/glsof-filemonitor b/extra/glsof/glsof-filemonitor new file mode 100644 index 000000000..616e23ac7 --- /dev/null +++ b/extra/glsof/glsof-filemonitor @@ -0,0 +1,2 @@ +#!/bin/sh +java -jar /usr/share/java/glsof/filemonitor.jar diff --git a/extra/glsof/glsof-queries b/extra/glsof/glsof-queries new file mode 100644 index 000000000..1e9c4fc9d --- /dev/null +++ b/extra/glsof/glsof-queries @@ -0,0 +1,2 @@ +#!/bin/sh +java -jar /usr/share/java/glsof/queries.jar diff --git a/extra/glsof/glsof.desktop b/extra/glsof/glsof.desktop deleted file mode 100644 index fb13ffd6d..000000000 --- a/extra/glsof/glsof.desktop +++ /dev/null @@ -1,12 +0,0 @@ -[Desktop Entry] -Name=glsof -Comment=A GUI for lsof -Comment[pl]=GUI do lsof -Exec=glsof -Icon=glsof.png -StartupNotify=false -Terminal=false -Type=Application -Categories=GTK;System;Monitor; -Encoding=UTF-8 -# vi: encoding=utf-8 diff --git a/extra/gnet/ChangeLog b/extra/gnet/ChangeLog deleted file mode 100644 index b8975af31..000000000 --- a/extra/gnet/ChangeLog +++ /dev/null @@ -1,5 +0,0 @@ -2008-05-04 Eric Belanger <eric@archlinux.org> - - * gnet 2.0.8-1 - * Upstream update - * Added ChangeLog diff --git a/extra/gnome-applets/PKGBUILD b/extra/gnome-applets/PKGBUILD index fe9bc25e6..d7f6db5a1 100644 --- a/extra/gnome-applets/PKGBUILD +++ b/extra/gnome-applets/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 113478 2011-03-08 21:10:38Z ibiru $ +# $Id: PKGBUILD 123041 2011-05-07 17:45:38Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnome-applets -pkgver=2.91.4 -pkgrel=2 +pkgver=3.1.1 +pkgrel=1 pkgdesc="GNOME Applets" arch=(i686 x86_64 'mips64el') license=('GPL') @@ -13,9 +13,8 @@ options=(!emptydirs) url="http://www.gnome.org" groups=(gnome) install=gnome-applets.install -#source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.91/${pkgname}-${pkgver}.tar.bz2) -source=(${pkgname}-${pkgver}.tar.xz) -sha256sums=('950ab962c39fca9375a9df0827ccb8f2178f7e84950c8fdbea5e3d2f9889a49c') +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}-20110506.tar.xz) +sha256sums=('eb19a412e804975d614255520f4c7c6477d927e8d5cb6abe217008ab62ab857b') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD index 357733d16..146b627a4 100644 --- a/extra/gnutls/PKGBUILD +++ b/extra/gnutls/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 120489 2011-04-24 13:19:44Z andyrtr $ +# $Id: PKGBUILD 123031 2011-05-07 16:07:34Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnutls -pkgver=2.12.3 +pkgver=2.12.4 pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer" arch=('i686' 'x86_64' 'mips64el') @@ -12,7 +12,7 @@ install=gnutls.install options=('!libtool' '!zipman') depends=('gcc-libs>=4.4.3' 'libtasn1>=2.5' 'readline>=6.0' 'zlib' 'libgcrypt>=1.4.5') source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.bz2) -md5sums=('04b72b022b42b10df12cbbae051e2d55') +md5sums=('3e17fc8cb1cf8272067f6b66baf02810') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -20,7 +20,7 @@ build() { # we stay with libgcrypt for now. nettle would need to be moved from AUR to extra. ./configure --prefix=/usr \ --with-zlib \ - --with-libgcrypt \ + --with-libgcrypt \ --disable-static \ --disable-guile make diff --git a/extra/kdebase-workspace/sensors-fix.patch b/extra/kdebase-workspace/sensors-fix.patch deleted file mode 100644 index 2d9b70c52..000000000 --- a/extra/kdebase-workspace/sensors-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit 23863a99399cbb274f6756146b3c08de2efa0c7f -Author: John Tapsell <johnflux@gmail.com> -Date: Thu Apr 7 10:59:20 2011 +0100 - - Fix accidental removal of a #include, when adding freebsd support. This broke the lmsensors at minimum - - BUG: 270246 - BUG: 270246 - CCMAIL: naylor.b.david@gmail.com - -diff --git a/ksysguard/ksysguardd/modules.h b/ksysguard/ksysguardd/modules.h -index e780be6..9aae890 100644 ---- a/ksysguard/ksysguardd/modules.h -+++ b/ksysguard/ksysguardd/modules.h -@@ -23,6 +23,7 @@ - #ifndef KSG_MODULES_H - #define KSG_MODULES_H - -+#include "config-ksysguardd.h" - #include "Command.h" - #include "conf.h" - #include "ksysguardd.h" diff --git a/extra/kdebase-workspace/shutdown-fix.patch b/extra/kdebase-workspace/shutdown-fix.patch deleted file mode 100644 index b01ab7fba..000000000 --- a/extra/kdebase-workspace/shutdown-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- kdebase-workspace-4.6.2/kdm/config.def~ 2011-04-08 00:29:48.291941154 -0700 -+++ kdebase-workspace-4.6.2/kdm/config.def 2011-04-08 00:32:04.738607619 -0700 -@@ -38,7 +38,7 @@ - # define HALT_CMD "/usr/sbin/shutdown -h now" - # define REBOOT_CMD "/usr/sbin/shutdown -r now" - #elif defined(BSD) || defined(__linux__) --# define HALT_CMD "/sbin/shutdown -p now" -+# define HALT_CMD "/sbin/shutdown -h now" - # define REBOOT_CMD "/sbin/shutdown -r now" - #elif defined(__SVR4) - # define HALT_CMD "/usr/sbin/halt" diff --git a/extra/kdemultimedia/kmix-locale-pulseaudio.patch b/extra/kdemultimedia/kmix-locale-pulseaudio.patch deleted file mode 100644 index 88be8dbde..000000000 --- a/extra/kdemultimedia/kmix-locale-pulseaudio.patch +++ /dev/null @@ -1,1117 +0,0 @@ -Index: kmix/apps/kmix.cpp -=================================================================== ---- kmix/apps/kmix.cpp (revision 1226955) -+++ kmix/apps/kmix.cpp (revision 1226956) -@@ -78,8 +78,6 @@ - m_dockWidget(), - m_dontSetDefaultCardOnStart (false) - { -- _cornerLabelNew = 0; -- - setObjectName( QLatin1String("KMixWindow" )); - // disable delete-on-close because KMix might just sit in the background waiting for cards to be plugged in - setAttribute(Qt::WA_DeleteOnClose, false); -@@ -184,16 +182,29 @@ - - void KMixWindow::initActionsAfterInitMixer() - { -+ bool isPulseAudio = false; - // Add "launch_pavucontrol" to menu, if Pulseaudio backend is in use - foreach( Mixer* mixer, Mixer::mixers() ) - { -- if ( mixer->getDriverName() == "PulseAudio") { -+ if ( mixer->getDriverName() == "PulseAudio") -+ { -+ isPulseAudio = true; - KAction* action = actionCollection()->addAction( "launch_pavucontrol" ); - action->setText( i18n( "Audio setup (&Pulseaudio)" ) ); - connect(action, SIGNAL(triggered(bool) ), SLOT( slotPavucontrolExec() )); - break; - } - } -+ -+ if (! isPulseAudio ) -+ { -+ QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall ); -+ QPushButton* _cornerLabelNew = new QPushButton(); -+ _cornerLabelNew->setIcon(cornerNewPM); -+ //cornerLabelNew->setSizePolicy(QSizePolicy()); -+ m_wsMixers->setCornerWidget(_cornerLabelNew, Qt::TopLeftCorner); -+ connect ( _cornerLabelNew, SIGNAL( clicked() ), SLOT (newView() ) ); -+ } - } - - void KMixWindow::initPrefDlg() -@@ -210,15 +221,10 @@ - m_wsMixers = new KTabWidget(); - m_wsMixers->setDocumentMode(true); - setCentralWidget(m_wsMixers); -- m_wsMixers->setTabsClosable(true); -+ m_wsMixers->setTabsClosable(false); - connect (m_wsMixers, SIGNAL(tabCloseRequested(int)), SLOT(saveAndCloseView(int)) ); - - QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall ); -- _cornerLabelNew = new QPushButton(); -- _cornerLabelNew->setIcon(cornerNewPM); -- //cornerLabelNew->setSizePolicy(QSizePolicy()); -- m_wsMixers->setCornerWidget(_cornerLabelNew, Qt::TopLeftCorner); -- connect ( _cornerLabelNew, SIGNAL( clicked() ), SLOT (newView() ) ); - - connect( m_wsMixers, SIGNAL( currentChanged ( int ) ), SLOT( newMixerShown(int)) ); - -@@ -516,6 +522,7 @@ - addMixerWidget(mixer->id(), guiprof, -1); - } - else { -+ // did exist => remove and insert new guiprof at old position - int indexOfTab = m_wsMixers->indexOf(kmw); - if ( indexOfTab != -1 ) m_wsMixers->removeTab(indexOfTab); - delete kmw; -@@ -676,9 +683,9 @@ - m_wsMixers->removeTab(idx); - delete kmw; - -- if ( m_wsMixers->count() < 2 ) { -- m_wsMixers->setTabsClosable(false); -- } -+ bool isPulseAudio = kmw->mixer()->getDriverName() == "PulseAudio"; -+ m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1); -+ - saveViewConfig(); - } - kDebug() << "Exit"; -@@ -874,9 +881,9 @@ - if ( kmw->getGuiprof()->getId() == m_defaultCardOnStart ) { - m_wsMixers->setCurrentWidget(kmw); - } -- if ( m_wsMixers->count() > 1 ) { -- m_wsMixers->setTabsClosable(true); -- } -+ -+ bool isPulseAudio = mixer->getDriverName() == "PulseAudio"; -+ m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1); - m_dontSetDefaultCardOnStart = false; - - -Index: kmix/apps/kmix.h -=================================================================== ---- kmix/apps/kmix.h (revision 1226955) -+++ kmix/apps/kmix.h (revision 1226956) -@@ -116,7 +116,6 @@ - Qt::Orientation m_toplevelOrientation; - - KTabWidget *m_wsMixers; -- QPushButton* _cornerLabelNew; - - KMixPrefDlg *m_prefDlg; - KMixDockWidget *m_dockWidget; -Index: kmix/gui/viewbase.cpp -=================================================================== ---- kmix/gui/viewbase.cpp (revision 1226956) -+++ kmix/gui/viewbase.cpp (revision 1226957) -@@ -226,34 +226,35 @@ - - // Check the guiprofile... if it is not the fallback GUIProfile, then - // make sure that we add a specific entry for any devices not present. -- if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) { -+ if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) // TODO colin/cesken IMO calling GUIProfile::fallbackProfile(_mixer) is wrong, as it ALWAYS creates a new Object. fallbackProfile() would need to cache the created fallback profiles so this should make any sense. -+ { - kDebug(67100) << "Dynamic mixer " << _mixer->id() << " is NOT using Fallback GUIProfile. Checking to see if new controls are present"; - - QList<QString> new_mix_devices; - MixSet ms = _mixer->getMixSet(); - for (int i=0; i < ms.count(); ++i) -+ { - new_mix_devices.append("^" + ms[i]->id() + "$"); -+ kDebug(67100) << "new_mix_devices.append => " << ms[i]->id(); -+ } - -+ GUIProfile::ControlSet& ctlSet = _guiprof->getControls(); -+ - // std::vector<ProfControl*>::const_iterator itEnd = _guiprof->_controls.end(); - // for ( std::vector<ProfControl*>::const_iterator it = _guiprof->_controls.begin(); it != itEnd; ++it) - // new_mix_devices.removeAll((*it)->id); - // TODO Please check this change, Colin -- foreach ( ProfControl* pctl, _guiprof->getControls() ) { -+ foreach ( ProfControl* pctl, ctlSet ) { - new_mix_devices.removeAll(pctl->id); - } - - - if ( new_mix_devices.count() > 0 ) { - kDebug(67100) << "Found " << new_mix_devices.count() << " new controls. Adding to GUIProfile"; -+ QString sctlMatchAll("*"); - while ( new_mix_devices.count() > 0 ) { -- QString sctlMatchAll("*"); - QString new_mix_devices0 = new_mix_devices.takeAt(0); -- ProfControl* ctl = new ProfControl(new_mix_devices0, sctlMatchAll); --// ctl->id = new_mix_devices.takeAt(0); --// ctl->setSubcontrols(QString("*")); --// ctl->tab = (_guiprof->tabs())[0]->name(); // Use the first tab... not ideal but should work most of the time; --// ctl->show = "simple"; -- _guiprof->getControls().push_back(ctl); -+ ctlSet.push_back(new ProfControl(new_mix_devices0, sctlMatchAll)); - } - _guiprof->setDirty(); - } -Index: kmix/gui/viewbase.cpp -=================================================================== ---- kmix/gui/viewbase.cpp (revision 1226957) -+++ kmix/gui/viewbase.cpp (revision 1226958) -@@ -33,6 +33,7 @@ - #include <kactioncollection.h> - #include <ktoggleaction.h> - #include <kstandardaction.h> -+#include <kmessagebox.h> - // KMix - #include "dialogviewconfiguration.h" - #include "gui/guiprofile.h" -@@ -43,7 +44,7 @@ - - - ViewBase::ViewBase(QWidget* parent, const char* id, Mixer* mixer, Qt::WFlags f, ViewBase::ViewFlags vflags, GUIProfile *guiprof, KActionCollection *actionColletion) -- : QWidget(parent, f), _actions(actionColletion), _vflags(vflags), _guiprof(guiprof) -+ : QWidget(parent, f), _popMenu(NULL), _actions(actionColletion), _vflags(vflags), _guiprof(guiprof) - { - setObjectName(id); - m_viewId = id; -@@ -73,9 +74,11 @@ - } - } - } -- QAction *action = _localActionColletion->addAction("toggle_channels"); -- action->setText(i18n("&Channels")); -- connect(action, SIGNAL(triggered(bool) ), SLOT(configureView())); -+ if ( !_mixer->isDynamic() ) { -+ QAction *action = _localActionColletion->addAction("toggle_channels"); -+ action->setText(i18n("&Channels")); -+ connect(action, SIGNAL(triggered(bool) ), SLOT(configureView())); -+ } - connect ( _mixer, SIGNAL(controlChanged()), this, SLOT(refreshVolumeLevels()) ); - connect ( _mixer, SIGNAL(controlsReconfigured(const QString&)), this, SLOT(controlsReconfigured(const QString&)) ); - } -@@ -95,7 +98,7 @@ - - bool ViewBase::isValid() const - { -- return ( _mixSet->count() > 0 || _mixer->dynamic() ); -+ return ( _mixSet->count() > 0 || _mixer->isDynamic() ); - } - - void ViewBase::setIcons (bool on) { KMixToolBox::setIcons (_mdws, on ); } -@@ -170,6 +173,8 @@ - { - QAction *a; - -+ if ( _popMenu ) -+ delete _popMenu; - _popMenu = new KMenu( this ); - _popMenu->addTitle( KIcon( QLatin1String( "kmix" ) ), i18n("Device Settings" )); - -@@ -222,44 +227,8 @@ - - void ViewBase::setMixSet() - { -- if ( _mixer->dynamic()) { -+ if ( _mixer->isDynamic() ) { - -- // Check the guiprofile... if it is not the fallback GUIProfile, then -- // make sure that we add a specific entry for any devices not present. -- if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) // TODO colin/cesken IMO calling GUIProfile::fallbackProfile(_mixer) is wrong, as it ALWAYS creates a new Object. fallbackProfile() would need to cache the created fallback profiles so this should make any sense. -- { -- kDebug(67100) << "Dynamic mixer " << _mixer->id() << " is NOT using Fallback GUIProfile. Checking to see if new controls are present"; -- -- QList<QString> new_mix_devices; -- MixSet ms = _mixer->getMixSet(); -- for (int i=0; i < ms.count(); ++i) -- { -- new_mix_devices.append("^" + ms[i]->id() + "$"); -- kDebug(67100) << "new_mix_devices.append => " << ms[i]->id(); -- } -- -- GUIProfile::ControlSet& ctlSet = _guiprof->getControls(); -- --// std::vector<ProfControl*>::const_iterator itEnd = _guiprof->_controls.end(); --// for ( std::vector<ProfControl*>::const_iterator it = _guiprof->_controls.begin(); it != itEnd; ++it) --// new_mix_devices.removeAll((*it)->id); -- // TODO Please check this change, Colin -- foreach ( ProfControl* pctl, ctlSet ) { -- new_mix_devices.removeAll(pctl->id); -- } -- -- -- if ( new_mix_devices.count() > 0 ) { -- kDebug(67100) << "Found " << new_mix_devices.count() << " new controls. Adding to GUIProfile"; -- QString sctlMatchAll("*"); -- while ( new_mix_devices.count() > 0 ) { -- QString new_mix_devices0 = new_mix_devices.takeAt(0); -- ctlSet.push_back(new ProfControl(new_mix_devices0, sctlMatchAll)); -- } -- _guiprof->setDirty(); -- } -- } -- - // We need to delete the current MixDeviceWidgets so we can redraw them - while (!_mdws.isEmpty()) { - QWidget* mdw = _mdws.last(); -@@ -280,6 +249,8 @@ - */ - void ViewBase::configureView() { - -+ Q_ASSERT( !_mixer->isDynamic() ); -+ - DialogViewConfiguration* dvc = new DialogViewConfiguration(0, *this); - dvc->show(); - // !! The dialog is modal. Does it delete itself? -@@ -302,6 +273,10 @@ - kDebug(67100) << "KMixToolBox::loadView() grp=" << grp.toAscii(); - - static char guiComplexity[3][20] = { "simple", "extended", "all" }; -+ -+ // Certain bits are not saved for dynamic mixers (e.g. PulseAudio) -+ bool dynamic = _mixer->isDynamic(); -+ - for ( int tries = 0; tries < 3; tries++ ) - { - bool atLeastOneControlIsShown = false; -@@ -315,12 +290,12 @@ - Workaround: If found, write back correct group name. - */ - MixDeviceWidget* mdw = (MixDeviceWidget*)qmdw; -- QString devgrp; -- devgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), mdw->mixDevice()->mixer()->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() ); -+ MixDevice* md = mdw->mixDevice(); -+ -+ QString devgrp = QString("%1.%2.%3").arg(grp).arg(md->mixer()->id()).arg(md->id()); - KConfigGroup devcg = config->group( devgrp ); - -- QString buggyDevgrp; -- buggyDevgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), view->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() ); -+ QString buggyDevgrp = QString("%1.%2.%3").arg(grp).arg(view->id()).arg(md->id()); - KConfigGroup buggyDevgrpCG = config->group( buggyDevgrp ); - if ( buggyDevgrpCG.exists() ) { - buggyDevgrpCG.copyTo(&devcg); -@@ -335,7 +310,7 @@ - } - - bool mdwEnabled = false; -- if ( devcg.hasKey("Show") ) -+ if ( !dynamic && devcg.hasKey("Show") ) - { - mdwEnabled = ( true == devcg.readEntry("Show", true) ); - //kDebug() << "Load devgrp" << devgrp << "show=" << mdwEnabled; -@@ -382,20 +357,23 @@ - QString grp = "View."; - grp += view->id(); - // KConfigGroup cg = config->group( grp ); -- kDebug(67100) << "KMixToolBox::saveView() grp=" << grp.toAscii(); -+ kDebug(67100) << "KMixToolBox::saveView() grp=" << grp; - -+ // Certain bits are not saved for dynamic mixers (e.g. PulseAudio) -+ bool dynamic = _mixer->isDynamic(); -+ - for (int i=0; i < view->_mdws.count(); ++i ){ - QWidget *qmdw = view->_mdws[i]; - if ( qmdw->inherits("MixDeviceWidget") ) - { - MixDeviceWidget* mdw = (MixDeviceWidget*)qmdw; -+ MixDevice* md = mdw->mixDevice(); - - //kDebug(67100) << " grp=" << grp.toAscii(); - //kDebug(67100) << " mixer=" << view->id().toAscii(); - //kDebug(67100) << " mdwPK=" << mdw->mixDevice()->id().toAscii(); - -- QString devgrp; -- devgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), mdw->mixDevice()->mixer()->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() ); -+ QString devgrp = QString("%1.%2.%3").arg(grp).arg(md->mixer()->id()).arg(md->id()); - KConfigGroup devcg = config->group( devgrp ); - - if ( mdw->inherits("MDWSlider") ) -@@ -403,15 +381,19 @@ - // only sliders have the ability to split apart in mutliple channels - devcg.writeEntry( "Split", ! mdw->isStereoLinked() ); - } -- devcg.writeEntry( "Show" , mdw->isVisibleTo(view) ); --kDebug() << "Save devgrp" << devgrp << "show=" << mdw->isVisibleTo(view); -+ if ( !dynamic ) { -+ devcg.writeEntry( "Show" , mdw->isVisibleTo(view) ); -+ kDebug() << "Save devgrp" << devgrp << "show=" << mdw->isVisibleTo(view); -+ } - - } // inherits MixDeviceWidget - } // for all MDW's - -- kDebug(67100) << "GUIProfile is dirty: " << guiProfile()->isDirty(); -- if ( guiProfile()->isDirty() ) { -- guiProfile()->writeProfile(); -+ if ( !dynamic ) { -+ // We do not save GUIProfiles (as they cannot be customised) for dynamic mixers (e.g. PulseAudio) -+ kDebug(67100) << "GUIProfile is dirty: " << guiProfile()->isDirty(); -+ if ( guiProfile()->isDirty() ) -+ guiProfile()->writeProfile(); - } - } - -Index: kmix/gui/mdwslider.cpp -=================================================================== ---- kmix/gui/mdwslider.cpp (revision 1226957) -+++ kmix/gui/mdwslider.cpp (revision 1226958) -@@ -86,10 +86,14 @@ - KToggleAction *taction = _mdwActions->add<KToggleAction>( "stereo" ); - taction->setText( i18n("&Split Channels") ); - connect( taction, SIGNAL( triggered(bool) ), SLOT( toggleStereoLinked() ) ); -- KAction *action = _mdwActions->add<KToggleAction>( "hide" ); -- action->setText( i18n("&Hide") ); -- connect( action, SIGNAL( triggered(bool) ), SLOT( setDisabled() ) ); - -+ KAction *action; -+ if ( ! m_mixdevice->mixer()->isDynamic() ) { -+ action = _mdwActions->add<KToggleAction>( "hide" ); -+ action->setText( i18n("&Hide") ); -+ connect( action, SIGNAL( triggered(bool) ), SLOT( setDisabled() ) ); -+ } -+ - if( m_mixdevice->playbackVolume().hasSwitch() ) { - taction = _mdwActions->add<KToggleAction>( "mute" ); - taction->setText( i18n("&Muted") ); -@@ -129,8 +133,8 @@ - #ifdef __GNUC__ - #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed - #endif -- if ( ! mixDevice()->isEthereal() ) { -- // virtual / ethereal controls won't get shortcuts -+ if ( ! mixDevice()->mixer()->isDynamic() ) { -+ // virtual / dynamic controls won't get shortcuts - b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround - // b->enableGlobalShortcut(); - connect( b, SIGNAL( triggered(bool) ), SLOT( increaseVolume() ) ); -@@ -143,8 +147,8 @@ - #ifdef __GNUC__ - #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed - #endif -- if ( ! mixDevice()->isEthereal() ) { -- // virtual / ethereal controls won't get shortcuts -+ if ( ! mixDevice()->mixer()->isDynamic() ) { -+ // virtual / dynamic controls won't get shortcuts - b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround - // b->enableGlobalShortcut(); - connect( b, SIGNAL( triggered(bool) ), SLOT( decreaseVolume() ) ); -@@ -157,8 +161,8 @@ - #ifdef __GNUC__ - #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed - #endif -- if ( ! mixDevice()->isEthereal() ) { -- // virtual / ethereal controls won't get shortcuts -+ if ( ! mixDevice()->mixer()->isDynamic() ) { -+ // virtual / dynamic controls won't get shortcuts - b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround - // b->enableGlobalShortcut(); - connect( b, SIGNAL( triggered(bool) ), SLOT( toggleMuted() ) ); -Index: kmix/gui/viewdockareapopup.h -=================================================================== ---- kmix/gui/viewdockareapopup.h (revision 1226957) -+++ kmix/gui/viewdockareapopup.h (revision 1226958) -@@ -24,7 +24,6 @@ - #include "viewbase.h" - - class QGridLayout; --class QPushButton; - class QWidget; - - class Mixer; -@@ -48,8 +47,6 @@ - - protected: - KMixWindow *_dock; -- //MixDevice *_dockDevice; -- QPushButton *_showPanelBox; - - void wheelEvent ( QWheelEvent * e ); - virtual void _setMixSet(); -Index: kmix/gui/viewsliders.cpp -=================================================================== ---- kmix/gui/viewsliders.cpp (revision 1226957) -+++ kmix/gui/viewsliders.cpp (revision 1226958) -@@ -148,7 +148,7 @@ - { - const MixSet& mixset = _mixer->getMixSet(); - -- if ( _mixer->dynamic() ) { -+ if ( _mixer->isDynamic() ) { - // We will be recreating our sliders, so make sure we trash all the separators too. - qDeleteAll(_separators); - _separators.clear(); -Index: kmix/gui/guiprofile.cpp -=================================================================== ---- kmix/gui/guiprofile.cpp (revision 1226957) -+++ kmix/gui/guiprofile.cpp (revision 1226958) -@@ -158,8 +158,12 @@ - { - GUIProfile* guiprof = 0; - -- if ( mixer == 0 || profileName.isEmpty() ) { -+ if ( mixer == 0 || profileName.isEmpty() ) - return 0; -+ -+ if ( mixer->isDynamic() ) { -+ kDebug(67100) << "GUIProfile::find() Not loading GUIProfile for Dynamic Mixer (e.g. PulseAudio)"; -+ return 0; - } - - QString requestedProfileName; -Index: kmix/gui/viewbase.h -=================================================================== ---- kmix/gui/viewbase.h (revision 1226957) -+++ kmix/gui/viewbase.h (revision 1226958) -@@ -133,7 +133,7 @@ - - ViewFlags _vflags; - GUIProfile* _guiprof; -- KActionCollection *_localActionColletion; -+ KActionCollection *_localActionColletion; - - virtual void _setMixSet() = 0; - -Index: kmix/gui/viewdockareapopup.cpp -=================================================================== ---- kmix/gui/viewdockareapopup.cpp (revision 1226957) -+++ kmix/gui/viewdockareapopup.cpp (revision 1226958) -@@ -88,8 +88,8 @@ - { - // kDebug(67100) << "ViewDockAreaPopup::setMixSet()\n"; - -- if ( _mixer->dynamic() ) { -- // Our _layoutMDW now should only contain spacer widgets from the QSpacerItems's in add() below. -+ if ( _mixer->isDynamic() ) { -+ // Our _layoutMDW now should only contain spacer widgets from the QSpacerItem's in add() below. - // We need to trash those too otherwise all sliders gradually migrate away from the edge :p - QLayoutItem *li; - while ( ( li = _layoutMDW->takeAt(0) ) ) -@@ -114,9 +114,9 @@ - QString matchAllPlaybackAndTheCswitch("pvolume,pswitch,cswitch"); - ProfControl *pctl = new ProfControl( dummyMatchAll, matchAllPlaybackAndTheCswitch); - MixDeviceWidget *mdw = new MDWSlider( -- md, // only 1 device. This is actually _dockDevice -+ md, // only 1 device. - true, // Show Mute LED -- false, // Show Record LED -+ false, // Show Record LED - false, // Small - Qt::Vertical, // Direction: only 1 device, so doesn't matter - this, // parent -@@ -128,10 +128,10 @@ - _layoutMDW->addWidget( mdw, 0, 1 ); - - // Add button to show main panel -- _showPanelBox = new QPushButton( i18n("Mixer"), this ); -- _showPanelBox->setObjectName( QLatin1String("MixerPanel" )); -- connect ( _showPanelBox, SIGNAL( clicked() ), SLOT( showPanelSlot() ) ); -- _layoutMDW->addWidget( _showPanelBox, 1, 0, 1, 3 ); -+ QPushButton *pb = new QPushButton( i18n("Mixer"), this ); -+ pb->setObjectName( QLatin1String("MixerPanel" )); -+ connect ( pb, SIGNAL( clicked() ), SLOT( showPanelSlot() ) ); -+ _layoutMDW->addWidget( pb, 1, 0, 1, 3 ); - - return mdw; - } -Index: kmix/core/mixdevice.h -=================================================================== ---- kmix/core/mixdevice.h (revision 1226957) -+++ kmix/core/mixdevice.h (revision 1226958) -@@ -157,15 +157,6 @@ - _artificial = artificial; - } - -- bool isEthereal() const -- { -- return _ethereal; -- } -- void setEthereal(bool _ethereal) -- { -- this->_ethereal = _ethereal; -- } -- - void setControlProfile(ProfControl* control); - ProfControl* controlProfile(); - -@@ -191,14 +182,12 @@ - int _enumCurrentId; - QList<QString> _enumValues; // A MixDevice, that is an ENUM, has these _enumValues - -- //bool _doNotRestore; - // A virtual control. It will not be saved/restored and/or doesn't get shortcuts -- // Actually we discriminate those "virtual" controls in artificial controls and ethereal controls: -+ // Actually we discriminate those "virtual" controls in artificial controls and dynamic controls: - // Type Shortcut Restore - // Artificial: yes no Virtual::GlobalMaster or Virtual::CaptureGroup_3 (controls that are constructed artificially from other controls) -- // Ethereal : no no Controls that come and go, like Pulse Stream controls -+ // Dynamic : no no Controls that come and go, like Pulse Stream controls - bool _artificial; -- bool _ethereal; - MixSet *_moveDestinationMixSet; - QString _iconName; - -Index: kmix/core/mixer.cpp -=================================================================== ---- kmix/core/mixer.cpp (revision 1226957) -+++ kmix/core/mixer.cpp (revision 1226958) -@@ -748,7 +748,7 @@ - m_dynamic = dynamic; - } - --bool Mixer::dynamic() -+bool Mixer::isDynamic() - { - return m_dynamic; - } -Index: kmix/core/mixer.h -=================================================================== ---- kmix/core/mixer.h (revision 1226957) -+++ kmix/core/mixer.h (revision 1226958) -@@ -164,7 +164,7 @@ - - /// Says if we are dynamic (e.g. widgets can come and go) - virtual void setDynamic( bool dynamic = true ); -- virtual bool dynamic(); -+ virtual bool isDynamic(); - - virtual bool moveStream( const QString id, const QString& destId ); - -Index: kmix/core/mixdevice.cpp -=================================================================== ---- kmix/core/mixdevice.cpp (revision 1226957) -+++ kmix/core/mixdevice.cpp (revision 1226958) -@@ -23,6 +23,7 @@ - #include <klocale.h> - - #include "core/mixdevice.h" -+#include "core/mixer.h" - #include "gui/guiprofile.h" - #include "core/volume.h" - -@@ -96,14 +97,12 @@ - - MixDevice::MixDevice( Mixer* mixer, const QString& id, const QString& name, const QString& iconName, MixSet* moveDestinationMixSet ) - { -- // doNotRestore is superseded by the more generic concepts isEthereal(), isArtificial() - init(mixer, id, name, iconName, moveDestinationMixSet); - } - - void MixDevice::init( Mixer* mixer, const QString& id, const QString& name, const QString& iconName, MixSet* moveDestinationMixSet ) - { - _artificial = false; -- _ethereal = false; - _mixer = mixer; - _id = id; - if( name.isEmpty() ) -@@ -117,9 +116,10 @@ - _moveDestinationMixSet = moveDestinationMixSet; - if ( _id.contains(' ') ) { - // The key is used in the config file. It MUST NOT contain spaces -- kError(67100) << "MixDevice::setId(\"" << id << "\") . Invalid key - it might not contain spaces" << endl; -+ kError(67100) << "MixDevice::setId(\"" << id << "\") . Invalid key - it must not contain spaces" << endl; - _id.replace(' ', '_'); - } -+ kDebug(67100) << "MixDevice::init() _id=" << _id; - } - - void MixDevice::addPlaybackVolume(Volume &playbackVol) -@@ -216,11 +216,10 @@ - */ - void MixDevice::read( KConfig *config, const QString& grp ) - { -- if ( isEthereal() || isArtificial() ) { -+ if ( _mixer->isDynamic() || isArtificial() ) { - kDebug(67100) << "MixDevice::read(): This MixDevice does not permit volume restoration (i.e. because it is handled lower down in the audio stack). Ignoring."; - } else { -- QString devgrp; -- devgrp.sprintf( "%s.Dev%s", grp.toAscii().data(), _id.toAscii().data() ); -+ QString devgrp = QString("%1.Dev%2").arg(grp).arg(_id); - KConfigGroup cg = config->group( devgrp ); - //kDebug(67100) << "MixDevice::read() of group devgrp=" << devgrp; - -@@ -264,11 +263,10 @@ - */ - void MixDevice::write( KConfig *config, const QString& grp ) - { -- if (isEthereal() || isArtificial()) { -+ if (_mixer->isDynamic() || isArtificial()) { - kDebug(67100) << "MixDevice::write(): This MixDevice does not permit volume saving (i.e. because it is handled lower down in the audio stack). Ignoring."; - } else { -- QString devgrp; -- devgrp.sprintf( "%s.Dev%s", grp.toAscii().data(), _id.toAscii().data() ); -+ QString devgrp = QString("%1.Dev%2").arg(grp).arg(_id); - KConfigGroup cg = config->group(devgrp); - // kDebug(67100) << "MixDevice::write() of group devgrp=" << devgrp; - -Index: kmix/apps/kmix.cpp -=================================================================== ---- kmix/apps/kmix.cpp (revision 1226957) -+++ kmix/apps/kmix.cpp (revision 1226958) -@@ -182,21 +182,20 @@ - - void KMixWindow::initActionsAfterInitMixer() - { -- bool isPulseAudio = false; -- // Add "launch_pavucontrol" to menu, if Pulseaudio backend is in use -+ // Only show the new tab widget if some of the mixers are not Dynamic. -+ // The GUI that then pops up could then make a new mixer from a dynamic one, -+ // if mixed dynamic and non-dynamic mixers were allowed, but this is generally not the case. -+ bool allDynamic = true; - foreach( Mixer* mixer, Mixer::mixers() ) - { -- if ( mixer->getDriverName() == "PulseAudio") -+ if ( !mixer->isDynamic() ) - { -- isPulseAudio = true; -- KAction* action = actionCollection()->addAction( "launch_pavucontrol" ); -- action->setText( i18n( "Audio setup (&Pulseaudio)" ) ); -- connect(action, SIGNAL(triggered(bool) ), SLOT( slotPavucontrolExec() )); -+ allDynamic = false; - break; - } - } - -- if (! isPulseAudio ) -+ if (! allDynamic ) - { - QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall ); - QPushButton* _cornerLabelNew = new QPushButton(); -@@ -339,8 +338,11 @@ - - // The following loop is necessary for the case that the user has hidden all views for a Mixer instance. - // Otherwise we would not save the Meta information (step -2- below for that mixer. -- foreach ( Mixer* mixer, Mixer::mixers() ) -- mixerViews[mixer->id()]; // just insert a map entry -+ // We also do not save dynamic mixers (e.g. PulseAudio) -+ foreach ( Mixer* mixer, Mixer::mixers() ) { -+ if ( !mixer->isDynamic() ) -+ mixerViews[mixer->id()]; // just insert a map entry -+ } - - // -1- Save the views themselves - for ( int i=0; i<m_wsMixers->count() ; ++i ) { -@@ -351,8 +353,10 @@ - // Otherwise the user will be confused afer re-plugging the card (as the config was not saved). - mw->saveConfig( KGlobal::config().data() ); - // add the view to the corresponding mixer list, so we can save a views-per-mixer list below -- QStringList& qsl = mixerViews[mw->mixer()->id()]; -- qsl.append(mw->getGuiprof()->getId()); -+ if ( !mw->mixer()->isDynamic() ) { -+ QStringList& qsl = mixerViews[mw->mixer()->id()]; -+ qsl.append(mw->getGuiprof()->getId()); -+ } - } - } - -@@ -539,22 +543,29 @@ - continue; // OK, this mixer already has a profile => skip it - } - // No TAB YET => This should mean KMix is just started, or the user has just plugged in a card -- bool profileListHasKey = pconfig.hasKey( mixer->id() ); // <<< SHOULD be before the following line -- QStringList profileList = pconfig.readEntry( mixer->id(), QStringList() ); -+ bool profileListHasKey = false; -+ QStringList profileList; -+ bool aProfileWasAddedSucesufully = false; - -- bool aProfileWasAddedSucesufully = false; -- foreach ( QString profileId, profileList) -- { -- // This handles the profileList form the kmixrc -- kDebug() << "Now searching for profile: " << profileId ; -- GUIProfile* guiprof = GUIProfile::find(mixer, profileId, true, false); // ### Card specific profile ### -- if ( guiprof != 0 ) { -- addMixerWidget(mixer->id(), guiprof, -1); -- aProfileWasAddedSucesufully = true; -+ if ( !mixer->isDynamic() ) { -+ // We do not support save profiles for dynamic mixers (i.e. PulseAudio) -+ -+ profileListHasKey = pconfig.hasKey( mixer->id() ); // <<< SHOULD be before the following line -+ profileList = pconfig.readEntry( mixer->id(), QStringList() ); -+ -+ foreach ( QString profileId, profileList) -+ { -+ // This handles the profileList form the kmixrc -+ kDebug() << "Now searching for profile: " << profileId ; -+ GUIProfile* guiprof = GUIProfile::find(mixer, profileId, true, false); // ### Card specific profile ### -+ if ( guiprof != 0 ) { -+ addMixerWidget(mixer->id(), guiprof, -1); -+ aProfileWasAddedSucesufully = true; -+ } -+ else { -+ kError() << "Cannot load profile " << profileId << " . It was removed by the user, or the KMix config file is defective."; -+ } - } -- else { -- kError() << "Cannot load profile " << profileId << " . It was removed by the user, or the KMix config file is defective."; -- } - } - - // The we_need_a_fallback case is a bit tricky. Please ask the author (cesken) before even considering to change the code. -@@ -568,11 +579,17 @@ - - // Lets try a bunch of fallback strategies: - GUIProfile* guiprof = 0; -+ if ( !mixer->isDynamic() ) { -+ // We know that GUIProfile::find() will return 0 if the mixer is dynamic, so don't bother checking. -+ kDebug() << "Attempting to find a card-specific GUI Profile for the mixer " << mixer->id(); - guiprof = GUIProfile::find(mixer, QString("default"), false, false); // ### Card specific profile ### -- if ( guiprof == 0 ) { -- guiprof = GUIProfile::find(mixer, QString("default"), false, true); // ### Card unspecific profile ### -+ if ( guiprof == 0 ) { -+ kDebug() << "Not found. Attempting to find a generic GUI Profile for the mixer " << mixer->id(); -+ guiprof = GUIProfile::find(mixer, QString("default"), false, true); // ### Card unspecific profile ### -+ } - } - if ( guiprof == 0) { -+ kDebug() << "Using fallback GUI Profile for the mixer " << mixer->id(); - // This means there is neither card specific nor card unspecific profile - // This is the case for some backends (as they don't ship profiles). - guiprof = GUIProfile::fallbackProfile(mixer); -@@ -683,8 +700,7 @@ - m_wsMixers->removeTab(idx); - delete kmw; - -- bool isPulseAudio = kmw->mixer()->getDriverName() == "PulseAudio"; -- m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1); -+ m_wsMixers->setTabsClosable(!kmw->mixer()->isDynamic() && m_wsMixers->count() > 1); - - saveViewConfig(); - } -@@ -882,8 +898,7 @@ - m_wsMixers->setCurrentWidget(kmw); - } - -- bool isPulseAudio = mixer->getDriverName() == "PulseAudio"; -- m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1); -+ m_wsMixers->setTabsClosable(!mixer->isDynamic() && m_wsMixers->count() > 1); - m_dontSetDefaultCardOnStart = false; - - -@@ -1071,12 +1086,6 @@ - KMessageBox::information( 0, m_hwInfoString, i18n("Mixer Hardware Information") ); - } - --void KMixWindow::slotPavucontrolExec() --{ -- QStringList args("pavucontrol"); -- forkExec(args); --} -- - void KMixWindow::slotKdeAudioSetupExec() - { - QStringList args; -@@ -1133,6 +1142,12 @@ - m_defaultCardOnStart = kmw->getGuiprof()->getId(); - // As switching the tab does NOT mean switching the master card, we do not need to update dock icon here. - // It would lead to unnecesary flickering of the (complete) dock area. -+ -+ // We only show the "Configure Channels..." menu item if the mixer is not dynamic -+ ViewBase* view = kmw->currentView(); -+ QAction* action = actionCollection()->action( "toggle_channels_currentview" ); -+ if (view && action) -+ action->setVisible( !view->getMixer()->isDynamic() ); - } - } - -Index: kmix/apps/kmix.h -=================================================================== ---- kmix/apps/kmix.h (revision 1226957) -+++ kmix/apps/kmix.h (revision 1226958) -@@ -136,7 +136,6 @@ - private slots: - void saveConfig(); - void slotHWInfo(); -- void slotPavucontrolExec(); - void slotKdeAudioSetupExec(); - void slotConfigureCurrentView(); - void slotSelectMaster(); -Index: kmix/kmixui.rc -=================================================================== ---- kmix/kmixui.rc (revision 1226957) -+++ kmix/kmixui.rc (revision 1226958) -@@ -17,7 +17,6 @@ - <Action name="toggle_channels_currentview" append="save_merge"/> - <Action name="select_master" append="save_merge"/> - <Action name="launch_kdesoundsetup" append="save_merge"/> -- <Action name="launch_pavucontrol" append="save_merge"/> - </Menu> - <Menu name="help" append="about_merge"><text>&Help</text> - <Action name="hwinfo"/> -Index: kmix/backends/mixer_backend.cpp -=================================================================== ---- kmix/backends/mixer_backend.cpp (revision 1226957) -+++ kmix/backends/mixer_backend.cpp (revision 1226958) -@@ -48,7 +48,7 @@ - bool Mixer_Backend::openIfValid() { - bool valid = false; - int ret = open(); -- if ( ret == 0 && (m_mixDevices.count() > 0 || _mixer->dynamic())) { -+ if ( ret == 0 && (m_mixDevices.count() > 0 || _mixer->isDynamic())) { - valid = true; - // A better ID is now calculated in mixertoolbox.cpp, and set via setID(), - // but we want a somehow usable fallback just in case. -@@ -139,7 +139,7 @@ - return m_mixDevices.at(0); // Backend has NOT set a recommended master. Evil backend => lets help out. - } //first device (if exists) - else { -- if ( !_mixer->dynamic()) { -+ if ( !_mixer->isDynamic()) { - // This should never ever happen, as KMix doe NOT accept soundcards without controls - kError(67100) << "Mixer_Backend::recommendedMaster(): returning invalid master. This is a bug in KMix. Please file a bug report stating how you produced this." << endl; - } -Index: kmix/backends/mixer_pulse.cpp -=================================================================== ---- kmix/backends/mixer_pulse.cpp (revision 1226957) -+++ kmix/backends/mixer_pulse.cpp (revision 1226958) -@@ -36,6 +36,8 @@ - #define KMIXPA_APP_CAPTURE 3 - #define KMIXPA_WIDGET_MAX KMIXPA_APP_CAPTURE - -+#define KMIXPA_EVENT_KEY "sink-input-by-media-role:event" -+ - static unsigned int refcount = 0; - static pa_glib_mainloop *s_mainloop = NULL; - static pa_context *s_context = NULL; -@@ -189,7 +191,7 @@ - - devinfo s; - s.index = s.device_index = i->index; -- s.name = QString(i->name).replace(' ', '_'); -+ s.name = QString::fromUtf8(i->name).replace(' ', '_'); - s.description = QString::fromUtf8(i->description); - s.icon_name = QString::fromUtf8(pa_proplist_gets(i->proplist, PA_PROP_DEVICE_ICON_NAME)); - s.volume = i->volume; -@@ -242,7 +244,7 @@ - - devinfo s; - s.index = s.device_index = i->index; -- s.name = QString(i->name).replace(' ', '_'); -+ s.name = QString::fromUtf8(i->name).replace(' ', '_'); - s.description = QString::fromUtf8(i->description); - s.icon_name = QString::fromUtf8(pa_proplist_gets(i->proplist, PA_PROP_DEVICE_ICON_NAME)); - s.volume = i->volume; -@@ -307,26 +309,28 @@ - - const char *t; - if ((t = pa_proplist_gets(i->proplist, "module-stream-restore.id"))) { -- if (strcmp(t, "sink-input-by-media-role:event") == 0) { -+ if (strcmp(t, KMIXPA_EVENT_KEY) == 0) { - kWarning(67100) << "Ignoring sink-input due to it being designated as an event and thus handled by the Event slider"; - return; - } - } - -- QString prefix = QString("%1: ").arg(i18n("Unknown Application")); -+ QString appname = i18n("Unknown Application"); - if (clients.contains(i->client)) -- prefix = QString("%1: ").arg(clients[i->client]); -+ appname = clients[i->client]; - -+ QString prefix = QString("%1: ").arg(appname); -+ - devinfo s; - s.index = i->index; - s.device_index = i->sink; - s.description = prefix + QString::fromUtf8(i->name); -- s.name = QString("stream:") + i->index; -+ s.name = QString("stream:") + QString::number(i->index); //appname.replace(' ', '_').toLower(); - s.icon_name = getIconNameFromProplist(i->proplist); - s.volume = i->volume; - s.channel_map = i->channel_map; - s.mute = !!i->mute; -- s.stream_restore_rule = t; -+ s.stream_restore_rule = QString::fromUtf8(t); - - translateMasksAndMaps(s); - -@@ -370,22 +374,24 @@ - return; - } - -- QString prefix = QString("%1: ").arg(i18n("Unknown Application")); -+ QString appname = i18n("Unknown Application"); - if (clients.contains(i->client)) -- prefix = QString("%1: ").arg(clients[i->client]); -+ appname = clients[i->client]; - -+ QString prefix = QString("%1: ").arg(appname); -+ - devinfo s; - s.index = i->index; - s.device_index = i->source; - s.description = prefix + QString::fromUtf8(i->name); -- s.name = QString("stream:") + i->index; -+ s.name = QString("stream:") + QString::number(i->index); //appname.replace(' ', '_').toLower(); - s.icon_name = getIconNameFromProplist(i->proplist); - //s.volume = i->volume; - s.volume = captureDevices[i->source].volume; - s.channel_map = i->channel_map; - //s.mute = !!i->mute; - s.mute = captureDevices[i->source].mute; -- s.stream_restore_rule = pa_proplist_gets(i->proplist, "module-stream-restore.id"); -+ s.stream_restore_rule = QString::fromUtf8(pa_proplist_gets(i->proplist, "module-stream-restore.id")); - - translateMasksAndMaps(s); - -@@ -407,7 +413,7 @@ - } - - --static devinfo create_role_devinfo(const char* name) { -+static devinfo create_role_devinfo(QString name) { - - Q_ASSERT(s_RestoreRules.contains(name)); - -@@ -436,9 +442,10 @@ - - if (eol > 0) { - dec_outstanding(c); -+ - // Special case: ensure that our media events exists. - // On first login by a new users, this wont be in our database so we should create it. -- if (!outputRoles.contains(PA_INVALID_INDEX)) { -+ if (!s_RestoreRules.contains(KMIXPA_EVENT_KEY)) { - // Create a fake rule - restoreRule rule; - rule.channel_map.channels = 1; -@@ -447,37 +454,56 @@ - rule.volume.values[0] = PA_VOLUME_NORM; - rule.mute = false; - rule.device = ""; -- s_RestoreRules["sink-input-by-media-role:event"] = rule; -+ s_RestoreRules[KMIXPA_EVENT_KEY] = rule; -+ kDebug(67100) << "Initialising restore rule for new user: " << i18n("Event Sounds"); -+ } - -- devinfo s = create_role_devinfo("sink-input-by-media-role:event"); -- outputRoles[s.index] = s; -- kDebug(67100) << "Initialising restore rule for new user: " << s.description; -+ if (s_mixers.contains(KMIXPA_APP_PLAYBACK)) { -+ // If we have rules, it will be created below... but if no rules -+ // then we add it here. -+ if (!outputRoles.contains(PA_INVALID_INDEX)) { -+ devinfo s = create_role_devinfo(KMIXPA_EVENT_KEY); -+ outputRoles[s.index] = s; - -- if (s_mixers.contains(KMIXPA_APP_PLAYBACK)) - s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index); -+ } -+ -+ s_mixers[KMIXPA_APP_PLAYBACK]->triggerUpdate(); - } - -- if (s_mixers.contains(KMIXPA_APP_PLAYBACK)) -- s_mixers[KMIXPA_APP_PLAYBACK]->triggerUpdate(); - return; - } - -- kDebug(67100) << "Got some info about restore rule: " << i->name << i->device; -+ -+ QString name = QString::fromUtf8(i->name); -+ kDebug(67100) << QString("Got some info about restore rule: '%1' (Device: %2)").arg(name).arg(i->device ? i->device : "None"); - restoreRule rule; - rule.channel_map = i->channel_map; - rule.volume = i->volume; - rule.mute = !!i->mute; - rule.device = i->device; -- s_RestoreRules[i->name] = rule; - -- // We only want to know about Sound Events for now... -- if (strcmp(i->name, "sink-input-by-media-role:event") == 0) { -- devinfo s = create_role_devinfo(i->name); -- bool is_new = !outputRoles.contains(s.index); -- outputRoles[s.index] = s; -+ if (rule.channel_map.channels < 1 && name == KMIXPA_EVENT_KEY) { -+ // Stream restore rules may not have valid volumes/channel maps (as these are optional) -+ // but we need a valid volume+channelmap for our events sounds so fix it up. -+ rule.channel_map.channels = 1; -+ rule.channel_map.map[0] = PA_CHANNEL_POSITION_MONO; -+ rule.volume.channels = 1; -+ rule.volume.values[0] = PA_VOLUME_NORM; -+ } - -- if (is_new && s_mixers.contains(KMIXPA_APP_PLAYBACK)) -- s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index); -+ s_RestoreRules[name] = rule; -+ -+ if (s_mixers.contains(KMIXPA_APP_PLAYBACK)) { -+ // We only want to know about Sound Events for now... -+ if (name == KMIXPA_EVENT_KEY) { -+ devinfo s = create_role_devinfo(name); -+ bool is_new = !outputRoles.contains(s.index); -+ outputRoles[s.index] = s; -+ -+ if (is_new) -+ s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index); -+ } - } - } - -@@ -788,7 +814,6 @@ - Volume v(dev.chanMask, PA_VOLUME_NORM, PA_VOLUME_MUTED, true, false); - setVolumeFromPulse(v, dev); - MixDevice* md = new MixDevice( _mixer, dev.name, dev.description, dev.icon_name, ms); -- md->setEthereal(true); - md->addPlaybackVolume(v); - md->setMuted(dev.mute); - m_mixDevices.append(md); -@@ -1095,10 +1120,10 @@ - { - restoreRule &rule = s_RestoreRules[iter->stream_restore_rule]; - pa_ext_stream_restore_info info; -- info.name = iter->stream_restore_rule.toAscii().constData(); -+ info.name = iter->stream_restore_rule.toUtf8().constData(); - info.channel_map = rule.channel_map; - info.volume = genVolumeForPulse(*iter, md->playbackVolume()); -- info.device = rule.device.isEmpty() ? NULL : rule.device.toAscii().constData(); -+ info.device = rule.device.isEmpty() ? NULL : rule.device.toUtf8().constData(); - info.mute = (md->isMuted() ? 1 : 0); - - pa_operation* o; -@@ -1153,13 +1178,13 @@ - - // Lookup the stream index. - uint32_t stream_index = PA_INVALID_INDEX; -- const char* stream_restore_rule = NULL; -+ QString stream_restore_rule = ""; - devmap::iterator iter; - devmap *map = get_widget_map(m_devnum); - for (iter = map->begin(); iter != map->end(); ++iter) { - if (iter->name == id) { - stream_index = iter->index; -- stream_restore_rule = iter->stream_restore_rule.isEmpty() ? NULL : iter->stream_restore_rule.toAscii().constData(); -+ stream_restore_rule = iter->stream_restore_rule; - break; - } - } -@@ -1171,12 +1196,12 @@ - - if (destId.isEmpty()) { - // We want to remove any specific device in the stream restore rule. -- if (!stream_restore_rule || !s_RestoreRules.contains(stream_restore_rule)) { -+ if (stream_restore_rule.isEmpty() || !s_RestoreRules.contains(stream_restore_rule)) { - kWarning(67100) << "Mixer_PULSE::moveStream(): Trying to set Automatic on a stream with no rule"; - } else { - restoreRule &rule = s_RestoreRules[stream_restore_rule]; - pa_ext_stream_restore_info info; -- info.name = stream_restore_rule; -+ info.name = stream_restore_rule.toUtf8().constData(); - info.channel_map = rule.channel_map; - info.volume = rule.volume; - info.device = NULL; -@@ -1192,12 +1217,12 @@ - } else { - pa_operation* o; - if (KMIXPA_APP_PLAYBACK == m_devnum) { -- if (!(o = pa_context_move_sink_input_by_name(s_context, stream_index, destId.toAscii().constData(), NULL, NULL))) { -+ if (!(o = pa_context_move_sink_input_by_name(s_context, stream_index, destId.toUtf8().constData(), NULL, NULL))) { - kWarning(67100) << "pa_context_move_sink_input_by_name() failed"; - return false; - } - } else { -- if (!(o = pa_context_move_source_output_by_name(s_context, stream_index, destId.toAscii().constData(), NULL, NULL))) { -+ if (!(o = pa_context_move_source_output_by_name(s_context, stream_index, destId.toUtf8().constData(), NULL, NULL))) { - kWarning(67100) << "pa_context_move_source_output_by_name() failed"; - return false; - } diff --git a/extra/keytouch-editor/ChangeLog b/extra/keytouch-editor/ChangeLog deleted file mode 100644 index 0503eb1f7..000000000 --- a/extra/keytouch-editor/ChangeLog +++ /dev/null @@ -1,8 +0,0 @@ -2008-06-22 Eric Belanger <eric@archlinux.org> - - * keytouch-editor 3.1.3-1 - * Patched for glibc 2.8 - * Added to [extra] repo - * Added ChangeLog - - diff --git a/extra/kobodeluxe/ChangeLog b/extra/kobodeluxe/ChangeLog deleted file mode 100644 index 08b4c2dec..000000000 --- a/extra/kobodeluxe/ChangeLog +++ /dev/null @@ -1,8 +0,0 @@ -2009-01-06 Eric Belanger <eric@archlinux.org> - - * kobodeluxe 0.5.1-2 - * Fixed build issue - * Added game group support - * Added .desktop file and icons - * Improved package description - * Added ChangeLog diff --git a/extra/kobodeluxe/PKGBUILD b/extra/kobodeluxe/PKGBUILD index be6f139a3..8a52ce946 100644 --- a/extra/kobodeluxe/PKGBUILD +++ b/extra/kobodeluxe/PKGBUILD @@ -1,44 +1,50 @@ -# $Id: PKGBUILD 23389 2009-01-09 00:47:54Z eric $ -# Maintainer: Eric Belanger <eric@archlinux.org> -# Contributor: Damir Perisa <damir.perisa@bluewin.ch> +# $Id: PKGBUILD 122903 2011-05-07 08:05:30Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=kobodeluxe pkgver=0.5.1 -pkgrel=2 +pkgrel=3 pkgdesc="An enhanced version of Akira Higuchi's game XKobo, an addictive space shoot'em up" arch=('i686' 'x86_64' 'mips64el') url="http://www.olofson.net/kobodl/" license=('GPL' 'LGPL') -depends=('gcc-libs' 'libjpeg' 'libpng' 'sdl' 'sdl_image' 'sdl_mixer') +depends=('libjpeg' 'libpng' 'sdl_image' 'hicolor-icon-theme' 'gtk-update-icon-cache') install=kobodeluxe.install -source=(http://www.olofson.net/kobodl/download/KoboDeluxe-${pkgver}.tar.gz kobodeluxe-gcc-4.3.patch) -md5sums=('cf765559461213d651c7be042507b767' '2b76306ec997fdc64986b4425e5b7814') -sha1sums=('12abe182ccde52050cd23077092d0424d25c3e75' '274dc8e7909bc6f9fab31306c85d992af8b62674') +source=(http://www.olofson.net/kobodl/download/KoboDeluxe-${pkgver}.tar.gz \ + kobodeluxe-gcc-4.3.patch kobodeluxe-0.5.1-glibc2.10.patch) +md5sums=('cf765559461213d651c7be042507b767' + '2b76306ec997fdc64986b4425e5b7814' + '56115c9a1e3db1b95b731fdcb11f3f4f') +sha1sums=('12abe182ccde52050cd23077092d0424d25c3e75' + '274dc8e7909bc6f9fab31306c85d992af8b62674' + '9d1b3b8cef4a16b6a082fed9f93f1dc12b2a3be0') build() { - cd ${srcdir}/KoboDeluxe-${pkgver} + cd "${srcdir}/KoboDeluxe-${pkgver}" patch -p0 < ../kobodeluxe-gcc-4.3.patch - ./configure --prefix=/usr --localstatedir=/var --sharedstatedir=/var/games || return 1 - make || return 1 - make DESTDIR=${pkgdir} install || return 1 + patch -p0 < ../kobodeluxe-0.5.1-glibc2.10.patch + ./configure --prefix=/usr --localstatedir=/var --sharedstatedir=/var/games + make +} + +package() { + cd "${srcdir}/KoboDeluxe-${pkgver}" + make DESTDIR="${pkgdir}" install tar -xzf icons.tar.gz - install -D -m644 icons/KDE/kobo-deluxe.desktop ${pkgdir}/usr/share/applications/kobo-deluxe.desktop - install -D -m644 icons/KDE/icons/128x128/kobodl.png ${pkgdir}/usr/share/icons/hicolor/128x128/kobodl.png - install -D -m644 icons/KDE/icons/16x16/kobodl.png ${pkgdir}/usr/share/icons/hicolor/16x16/kobodl.png - install -D -m644 icons/KDE/icons/22x22/kobodl.png ${pkgdir}/usr/share/icons/hicolor/22x22/kobodl.png - install -D -m644 icons/KDE/icons/32x32/kobodl.png ${pkgdir}/usr/share/icons/hicolor/32x32/kobodl.png - install -D -m644 icons/KDE/icons/48x48/kobodl.png ${pkgdir}/usr/share/icons/hicolor/48x48/kobodl.png - install -D -m644 icons/KDE/icons/64x64/kobodl.png ${pkgdir}/usr/share/icons/hicolor/64x64/kobodl.png - install -D -m644 icons/Ubuntu/kobo-icon.xpm ${pkgdir}/usr/share/pixmaps/kobo-icon.xpm - ln -s /usr/share/icons/hicolor/48x48/kobodl.png ${pkgdir}/usr/share/icons/kobodl.png + install -D -m644 icons/KDE/kobo-deluxe.desktop "${pkgdir}/usr/share/applications/kobo-deluxe.desktop" + for i in 16 22 32 48 64 128 ; do + install -D -m644 icons/KDE/icons/${i}x${i}/kobodl.png "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/kobodl.png" + done + install -D -m644 icons/Ubuntu/kobo-icon.xpm "${pkgdir}/usr/share/pixmaps/kobo-icon.xpm" + ln -s /usr/share/icons/hicolor/48x48/kobodl.png "${pkgdir}/usr/share/icons/kobodl.png" - chown root:games ${pkgdir}/usr/bin/kobodl - chmod 2755 ${pkgdir}/usr/bin/kobodl - chown root:games ${pkgdir}/var/games - chmod 775 ${pkgdir}/var/games - chown root:games ${pkgdir}/var/games/kobo-deluxe - chmod 775 ${pkgdir}/var/games/kobo-deluxe - chown root:games ${pkgdir}/var/games/kobo-deluxe/scores - chmod 775 ${pkgdir}/var/games/kobo-deluxe/scores + chown root:games "${pkgdir}/usr/bin/kobodl" + chmod 2755 "${pkgdir}/usr/bin/kobodl" + chown root:games "${pkgdir}/var/games" + chmod 775 "${pkgdir}/var/games" + chown root:games "${pkgdir}/var/games/kobo-deluxe" + chmod 775 "${pkgdir}/var/games/kobo-deluxe" + chown root:games "${pkgdir}/var/games/kobo-deluxe/scores" + chmod 775 "${pkgdir}/var/games/kobo-deluxe/scores" } diff --git a/extra/kobodeluxe/kobodeluxe-0.5.1-glibc2.10.patch b/extra/kobodeluxe/kobodeluxe-0.5.1-glibc2.10.patch new file mode 100644 index 000000000..1095cc1c7 --- /dev/null +++ b/extra/kobodeluxe/kobodeluxe-0.5.1-glibc2.10.patch @@ -0,0 +1,11 @@ +--- graphics/window.cpp ++++ graphics/window.cpp +@@ -398,7 +398,7 @@ + */ + if(token) + { +- char *tok = strchr(txt, token); ++ const char *tok = strchr(txt, token); + if(tok) + tokpos = tok-txt; + else diff --git a/extra/kobodeluxe/kobodeluxe.install b/extra/kobodeluxe/kobodeluxe.install index 7136b4880..54b9f81f6 100644 --- a/extra/kobodeluxe/kobodeluxe.install +++ b/extra/kobodeluxe/kobodeluxe.install @@ -4,18 +4,17 @@ post_install() { post_upgrade() { if [ -d usr/share/kobo-deluxe/kobo-deluxe/scores ] ; then + mkdir -p var/games/kobo-deluxe/scores/ for i in usr/share/kobo-deluxe/kobo-deluxe/scores/* ; do mv $i var/games/kobo-deluxe/scores/ done rmdir usr/share/kobo-deluxe/kobo-deluxe/scores rmdir usr/share/kobo-deluxe/kobo-deluxe - chgrp -R games /var/games/kobo-deluxe/scores/ + chgrp -R games var/games/kobo-deluxe/scores/ fi - # update icon cache if gtk2 is installed. I don't want to add a gtk2 depends just for that. - [ -x usr/bin/gtk-update-icon-cache ] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor } post_remove() { - # update icon cache if gtk2 is installed. I don't want to add a gtk2 depends just for that. - [ -x usr/bin/gtk-update-icon-cache ] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor } diff --git a/extra/libgda/PKGBUILD b/extra/libgda/PKGBUILD index c24e4d6fb..41b3a0f71 100644 --- a/extra/libgda/PKGBUILD +++ b/extra/libgda/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 120419 2011-04-23 21:33:28Z ibiru $ +# $Id: PKGBUILD 123051 2011-05-07 19:17:52Z ibiru $ # Maintainer: tobias <tobias@archlinux.org> # Contributor: Tobias Kieslich <tobias@justdreams.de> pkgname=libgda -pkgver=4.2.6 +pkgver=4.2.7 pkgrel=1 pkgdesc="Data abstraction layer with mysql, pgsql, xml, sqlite providers" arch=(i686 x86_64 'mips64el') @@ -16,7 +16,7 @@ options=('!libtool') url="http://www.gnome-db.org" install=libgda.install source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('141259e19ba163500963bd5bd512cfa4eb542b24c99f2fa14a2ef27643308cd3') +sha256sums=('0c95d2ae4563bbb024c9179a20e95a4b544a7d4fc687ca79ac6b33c5adc113d5') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/libsamplerate/PKGBUILD b/extra/libsamplerate/PKGBUILD index 9f36b38ff..b5435f7c0 100644 --- a/extra/libsamplerate/PKGBUILD +++ b/extra/libsamplerate/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 100370 2010-11-23 01:14:32Z eric $ -# Maintainer: Eric Belanger <eric@archlinux.org> +# $Id: PKGBUILD 123061 2011-05-07 21:22:40Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=libsamplerate pkgver=0.1.7 -pkgrel=1 +pkgrel=2 pkgdesc="Secret Rabbit Code - aka Sample Rate Converter for audio" arch=('i686' 'x86_64' 'mips64el') url="http://www.mega-nerd.com/SRC/index.html" diff --git a/extra/libtextcat/PKGBUILD b/extra/libtextcat/PKGBUILD new file mode 100644 index 000000000..dfccfb8db --- /dev/null +++ b/extra/libtextcat/PKGBUILD @@ -0,0 +1,50 @@ +# $Id: PKGBUILD 122957 2011-05-07 14:06:48Z andyrtr $ +# Maintainer: AndyRTR <andyrtr@archlinux.org> +# Contributor: Alexander Fehr <pizzapunk gmail com> +# Contributor: William Rea <sillywilly@gmail.com> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=libtextcat +pkgver=2.2 +pkgrel=8 +pkgdesc="Library that implements N-gram-based text categorization" +arch=('i686' 'x86_64') +url="http://software.wise-guys.nl/libtextcat/" +license=('BSD') +depends=('glibc') +options=(!libtool) +source=(http://software.wise-guys.nl/download/${pkgname}-${pkgver}.tar.gz + # from http://hg.services.openoffice.org/hg/DEV300/raw-file/tip/libtextcat/data/new_fingerprints/fpdb.conf + fpdb.conf + libtextcat-2.2-exportapi.patch + libtextcat-2.2-OOo.patch) +md5sums=('128cfc86ed5953e57fe0f5ae98b62c2e' + 'f4fafe97d3aa184f5476e4918dba045d' + '4c46fcb825ec13e9f7ae3728f5f4c834' + '1d5f1026392365c58f7a7406e923f886') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + patch -Np1 -i ${srcdir}/libtextcat-2.2-exportapi.patch + patch -Np1 -i ${srcdir}/libtextcat-2.2-OOo.patch + autoreconf -fi + ./configure --prefix=/usr \ + --disable-static + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +# install -D -m644 src/textcat.h ${pkgdir}/usr/include/textcat.h + + install -dm755 ${pkgdir}/usr/share/libtextcat/{LM,ShortTexts} + install -m644 ${srcdir}/fpdb.conf ${pkgdir}/usr/share/libtextcat + install -m644 langclass/conf.txt ${pkgdir}/usr/share/libtextcat + install -m644 langclass/LM/*.lm ${pkgdir}/usr/share/libtextcat/LM + install -m644 langclass/ShortTexts/*.txt ${pkgdir}/usr/share/libtextcat/ShortTexts + + install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + sed -i 's|LM|/usr/share/libtextcat/LM|' ${pkgdir}/usr/share/libtextcat/conf.txt +} + diff --git a/extra/libtextcat/fpdb.conf b/extra/libtextcat/fpdb.conf new file mode 100644 index 000000000..329184d51 --- /dev/null +++ b/extra/libtextcat/fpdb.conf @@ -0,0 +1,86 @@ +# +# A sample config file for the language models +# provided with Gertjan van Noords language guesser +# (http://odur.let.rug.nl/~vannoord/TextCat/) +# +# Notes: +# - You may consider eliminating a couple of small languages from this +# list because they cause false positives with big languages and are +# bad for performance. (Do you really want to recognize Drents?) +# - Putting the most probable languages at the top of the list +# improves performance, because this will raise the threshold for +# likely candidates more quickly. +# + +# this file have been modified (to OOo by Jocelyn MERAND joc.mer@gmail.com) to include country and encoding +# guess strings are made as following : language-country-encoding + +afrikaans.lm af--utf8 +albanian.lm sq--utf8 +amharic_utf.lm am--utf8 +arabic.lm ar--utf8 +basque.lm eu--utf8 +belarus.lm be--utf8 +bosnian.lm bs--utf8 +breton.lm br--utf8 +catalan.lm ca--utf8 +chinese_simplified.lm zh-CN-utf8 +chinese_traditional.lm zh-TW-utf8 +croatian.lm hr--utf8 +czech.lm cs--utf8 +danish.lm da--utf8 +dutch.lm nl--utf8 +english.lm en--utf8 +esperanto.lm eo--utf8 +estonian.lm et--utf8 +finnish.lm fi--utf8 +french.lm fr--utf8 +frisian.lm fy--utf8 +georgian.lm ka--utf8 +german.lm de--utf8 +greek.lm el--utf8 +hebrew.lm he--utf8 +hindi.lm hi--utf8 +hungarian.lm hu--utf8 +icelandic.lm is--utf8 +indonesian.lm id--utf8 +irish_gaelic.lm ga--utf8 +italian.lm it--utf8 +japanese.lm ja--utf8 +korean.lm ko--utf8 +latin.lm la--utf8 +latvian.lm lv--utf8 +lithuanian.lm lt--utf8 +luxembourgish.lm lb--utf8 +malay.lm ms--utf8 +manx_gaelic.lm gv--utf8 +marathi.lm mr--utf8 +mongolian_cyrillic.lm mn--utf8 +nepali.lm ne--utf8 +norwegian.lm nb--utf8 # Norwegian (Bokmal) +persian.lm fa--utf8 # Farsi +polish.lm pl--utf8 +portuguese.lm pt-PT-utf8 +quechua.lm qu--utf8 +romanian.lm ro--utf8 +romansh.lm rm--utf8 +russian.lm ru--utf8 +sanskrit.lm sa--utf8 +scots.lm sco--utf8 +scots_gaelic.lm gd--utf8 +serbian.lm sr--utf-8 +serbian-latin.lm sh--utf-8 +slovak_ascii.lm sk-SK-utf8 +slovenian.lm sl--utf8 +spanish.lm es--utf8 +swahili.lm sw--utf8 +swedish.lm sv--utf8 +tagalog.lm tl--utf8 +tamil.lm ta--utf8 +thai.lm th--utf8 +turkish.lm tr--utf8 +ukrainian.lm uk--utf8 +vietnamese.lm vi--utf8 +welsh.lm cy--utf8 +yiddish_utf.lm yi--utf8 +zulu.lm zu--utf8 diff --git a/extra/libtextcat/libtextcat-2.2-OOo.patch b/extra/libtextcat/libtextcat-2.2-OOo.patch new file mode 100644 index 000000000..70f9d8d23 --- /dev/null +++ b/extra/libtextcat/libtextcat-2.2-OOo.patch @@ -0,0 +1,634 @@ +diff -ruN libtextcat-2.2.part1/src/constants.h libtextcat-2.2/src/constants.h +--- libtextcat-2.2.part1/src/constants.h 2007-07-25 10:46:49.000000000 +0100 ++++ libtextcat-2.2/src/constants.h 2007-07-25 10:47:25.000000000 +0100 +@@ -39,6 +39,8 @@ + */ + #include <limits.h> + ++#define _UTF8_ ++ + #define DESCRIPTION "out of place" + + /* Reported matches are those fingerprints with a score less than best +@@ -59,14 +61,21 @@ + /* Maximum number of n-grams in a fingerprint */ + #define MAXNGRAMS 400 + +-/* Maximum size of an n-gram? */ +-#define MAXNGRAMSIZE 5 ++/* Maximum number of character of an n-gram? */ ++#define MAXNGRAMSYMBOL 5 ++ ++/* Maximum size of the string representing an n-gram (must be greater than number of symbol) */ ++#ifdef _UTF8_ ++#define MAXNGRAMSIZE 20 ++#else ++#define MAXNGRAMSIZE MAXNGRAMSYMBOL ++#endif + + /* Which characters are not acceptable in n-grams? */ + #define INVALID(c) (isspace((int)c) || isdigit((int)c)) + + /* Minimum size (in characters) for accepting a document */ +-#define MINDOCSIZE 25 ++#define MINDOCSIZE 6 + + /* Maximum penalty for missing an n-gram in fingerprint */ + #define MAXOUTOFPLACE 400 +@@ -76,4 +85,7 @@ + + #define MAXSCORE INT_MAX + ++/* where the fingerprints files are stored */ ++#define DEFAULT_FINGERPRINTS_PATH "" ++ + #endif +diff -ruN libtextcat-2.2.part1/src/fingerprint.c libtextcat-2.2/src/fingerprint.c +--- libtextcat-2.2.part1/src/fingerprint.c 2007-07-25 10:46:49.000000000 +0100 ++++ libtextcat-2.2/src/fingerprint.c 2007-07-25 10:47:25.000000000 +0100 +@@ -63,6 +63,10 @@ + * - put table/heap datastructure in a separate file. + */ + ++#ifndef _UTF8_ ++#define _UTF8_ ++#endif ++ + #include "config.h" + #include <stdio.h> + #ifdef HAVE_STDLIB_H +@@ -80,10 +84,12 @@ + #include "wg_mempool.h" + #include "constants.h" + ++#include "utf8misc.h" + + #define TABLESIZE (1<<TABLEPOW) + #define TABLEMASK ((TABLESIZE)-1) + ++ + typedef struct { + + sint2 rank; +@@ -134,29 +140,14 @@ + } + + +-/* checks if n-gram lex is a prefix of key and of length len */ +-inline int issame( char *lex, char *key, int len ) +-{ +- int i; +- for (i=0; i<len; i++) { +- if ( key[i] != lex[i] ) { +- return 0; +- } +- } +- if ( lex[i] != 0 ) { +- return 0; +- } +- return 1; +-} +- + + /* increases frequency of ngram(p,len) */ +-static inline int increasefreq( table_t *t, char *p, int len ) +-{ +- uint4 hash = simplehash( p, len ) & TABLEMASK; ++static int increasefreq( table_t *t, char *p, int len ) ++{ ++ uint4 hash = simplehash( p, len ) & TABLEMASK; + entry_t *entry = t->table[ hash ]; +- +- while ( entry ) { ++ ++ while ( entry ) { + if ( issame( entry->str, p, len ) ) { + /*** Found it! ***/ + entry->cnt++; +@@ -168,7 +159,7 @@ + } + + /*** Not found, so create ***/ +- entry = wgmempool_alloc( t->pool, sizeof(entry_t) ); ++ entry = (entry_t*)(wgmempool_alloc( t->pool, sizeof(entry_t) )); + strcpy( entry->str, p ); + entry->cnt = 1; + +@@ -181,12 +172,12 @@ + #if 0 + + /* looks up ngram(p,len) */ +-static entry_t *findfreq( table_t *t, char *p, int len ) +-{ +- uint4 hash = simplehash( p, len ) & TABLEMASK; ++static entry_t *findfreq( table_t *t, char *p, int len ) ++{ ++ uint4 hash = simplehash( p, len ) & TABLEMASK; + entry_t *entry = t->table[ hash ]; +- +- while ( entry ) { ++ ++ while ( entry ) { + if ( issame( entry->str, p, len ) ) { + return entry; + } +@@ -219,7 +210,7 @@ + #define GREATER(x,y) ((x).cnt > (y).cnt) + #define LESS(x,y) ((x).cnt < (y).cnt) + +-inline static void siftup( table_t *t, unsigned int child ) ++static void siftup( table_t *t, unsigned int child ) + { + entry_t *heap = t->heap; + unsigned int parent = (child-1) >> 1; +@@ -241,7 +232,7 @@ + } + + +-inline static void siftdown( table_t *t, unsigned int heapsize, uint4 parent ) ++static void siftdown( table_t *t, unsigned int heapsize, uint4 parent ) + { + entry_t *heap = t->heap; + unsigned int child = parent*2 + 1; +@@ -458,21 +449,27 @@ + return dest; + } + +- ++/** ++* this function extract all n-gram from past buffer and put them into the table "t" ++* [modified] by Jocelyn Merand to accept utf-8 multi-character symbols to be used in OpenOffice ++*/ + static void createngramtable( table_t *t, const char *buf ) + { + char n[MAXNGRAMSIZE+1]; + const char *p = buf; + int i; ++ int pointer = 0; + + /*** Get all n-grams where 1<=n<=MAXNGRAMSIZE. Allow underscores only at borders. ***/ +- for (;;p++) { ++ while(1) { + +- const char *q = p; ++ const char *q = &p[pointer]; /*[modified] previously p++ above (for(;;p++)) now, it's pointer wich is increased so we have to get the new pointer on the buffer*/ + char *m = n; + + /*** First char may be an underscore ***/ +- *m++ = *q++; ++ int decay = charcopy(q, m); /*[modified] previously *q++ = *m++*/ ++ q = &(p[pointer+decay]); /*[modified] the old copying method do not manage multi-character symbols*/ ++ m += decay; /*[modified]*/ + *m = '\0'; + + increasefreq( t, n, 1 ); +@@ -482,19 +479,22 @@ + } + + /*** Let the compiler unroll this ***/ +- for ( i=2; i<=MAXNGRAMSIZE; i++) { ++ for ( i=2; i<=MAXNGRAMSYMBOL; i++) { + +- *m++ = *q; ++ decay = charcopy(q, m); /*[modified] like above*/ ++ m += decay; + *m = '\0'; + + increasefreq( t, n, i ); + + if ( *q == '_' ) break; +- q++; ++ q += decay; + if ( *q == '\0' ) { + return; + } + } ++ ++ pointer = nextcharstart(p,pointer); /*[modified] p[pointer] must point on the next start of symbol, but whith utf next start is not surely next char*/ + } + return; + } +diff -ruN libtextcat-2.2.part1/src/fingerprint.h.orig libtextcat-2.2/src/fingerprint.h.orig +--- libtextcat-2.2.part1/src/fingerprint.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ libtextcat-2.2/src/fingerprint.h.orig 2007-07-25 10:47:22.000000000 +0100 +@@ -0,0 +1,55 @@ ++#ifndef _FINGERPRINT_H_ ++#define _FINGERPRINT_H_ ++/* ++ * Copyright (C) 2003 WiseGuys Internet B.V. ++ * ++ * THE BSD LICENSE ++ * ++ * 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. ++ * ++ * - Neither the name of the WiseGuys Internet B.V. nor the names of ++ * its contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * 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 ++ * OWNER 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 "common.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++extern void *fp_Init(const char *name); ++extern void fp_Done( void *handle ); ++extern int fp_Create( void *handle, const char *buffer, uint4 bufsize, uint4 maxngrams ); ++extern int fp_Read( void *handle, const char *fname, int maxngrams ); ++extern sint4 fp_Compare( void *cat, void *unknown, int cutoff ); ++extern void fp_Show( void *handle ); ++extern const char *fp_Name( void *handle ); ++extern void fp_Print( void *handle, FILE *fp ); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif +diff -ruN libtextcat-2.2.part1/src/textcat.c libtextcat-2.2/src/textcat.c +--- libtextcat-2.2.part1/src/textcat.c 2007-07-25 10:46:49.000000000 +0100 ++++ libtextcat-2.2/src/textcat.c 2007-07-25 10:47:25.000000000 +0100 +@@ -74,6 +74,7 @@ + typedef struct { + + void **fprint; ++ char *fprint_disable; + uint4 size; + uint4 maxsize; + +@@ -112,11 +113,21 @@ + fp_Done( h->fprint[i] ); + } + wg_free( h->fprint ); ++ wg_free( h->fprint_disable ); + wg_free( h ); + + } + +-extern void *textcat_Init( const char *conffile ) ++/** Replaces older function */ ++extern void *textcat_Init( const char *conffile ){ ++ return special_textcat_Init( conffile, DEFAULT_FINGERPRINTS_PATH ); ++} ++ ++/** ++ * Originaly this function had only one parameter (conffile) it has been modified since OOo use ++ * Basicaly prefix is the directory path where fingerprints are stored ++ */ ++extern void *special_textcat_Init( const char *conffile, const char *prefix ) + { + textcat_t *h; + char line[1024]; +@@ -134,11 +145,13 @@ + h->size = 0; + h->maxsize = 16; + h->fprint = (void **)wg_malloc( sizeof(void*) * h->maxsize ); ++ h->fprint_disable = (char *)wg_malloc( sizeof(char*) * h->maxsize ); /*added to store the state of languages*/ + + while ( wg_getline( line, 1024, fp ) ) { + char *p; + char *segment[4]; +- int res; ++ char finger_print_file_name[512]; ++ int res; + + /*** Skip comments ***/ + #ifdef HAVE_STRCHR +@@ -156,17 +169,23 @@ + /*** Ensure enough space ***/ + if ( h->size == h->maxsize ) { + h->maxsize *= 2; +- h->fprint = (void *)wg_realloc( h->fprint, sizeof(void*) * h->maxsize ); ++ h->fprint = (void **)wg_realloc( h->fprint, sizeof(void*) * h->maxsize ); ++ h->fprint_disable = (char *)wg_realloc( h->fprint_disable, sizeof(char*) * h->maxsize ); + } + + /*** Load data ***/ + if ((h->fprint[ h->size ] = fp_Init( segment[1] ))==NULL) { + goto ERROR; + } +- if ( fp_Read( h->fprint[h->size], segment[0], 400 ) == 0 ) { ++ finger_print_file_name[0] = '\0'; ++ strcat(finger_print_file_name, prefix); ++ strcat(finger_print_file_name, segment[0]); ++ ++ if ( fp_Read( h->fprint[h->size], finger_print_file_name, 400 ) == 0 ) { + textcat_Done(h); + goto ERROR; +- } ++ } ++ h->fprint_disable[h->size] = 0xF0; /*0xF0 is the code for enabled languages, 0x0F is for disabled*/ + h->size++; + } + +@@ -203,11 +222,18 @@ + result = _TEXTCAT_RESULT_SHORT; + goto READY; + } +- ++ + /*** Calculate the score for each category. ***/ + for (i=0; i<h->size; i++) { +- int score = fp_Compare( h->fprint[i], unknown, threshold ); +- candidates[i].score = score; ++ int score; ++ if(h->fprint_disable[i] & 0x0F){ /*if this language is disabled*/ ++ score = MAXSCORE; ++ } ++ else{ ++ score = fp_Compare( h->fprint[i], unknown, threshold ); ++ /*printf("Score for %s : %i\n", fp_Name(h->fprint[i]), score);*/ ++ } ++ candidates[i].score = score; + candidates[i].name = fp_Name( h->fprint[i] ); + if ( score < minscore ) { + minscore = score; +diff -ruN libtextcat-2.2.part1/src/textcat.h libtextcat-2.2/src/textcat.h +--- libtextcat-2.2.part1/src/textcat.h 2007-07-25 10:46:49.000000000 +0100 ++++ libtextcat-2.2/src/textcat.h 2007-07-25 10:48:18.000000000 +0100 +@@ -55,10 +54,19 @@ + * Returns: handle on success, NULL on error. (At the moment, the + * only way errors can occur, is when the library cannot read the + * conffile, or one of the fingerprint files listed in it.) ++ * ++ * Replace older function (and has exacly the same behaviour) ++ * see below + */ + extern void *textcat_Init( const char *conffile ); + + /** ++ * Originaly this function had only one parameter (conffile) it has been modified since OOo must be able to load alternativ DB ++ * Basicaly prefix is the directory path where fingerprints are stored ++ */ ++extern void *special_textcat_Init( const char *conffile, const char *prefix ); ++ ++/** + * textcat_Done() - Free up resources for handle + */ + extern void textcat_Done( void *handle ); +diff -ruN libtextcat-2.2.part1/src/utf8misc.c libtextcat-2.2/src/utf8misc.c +--- libtextcat-2.2.part1/src/utf8misc.c 1970-01-01 01:00:00.000000000 +0100 ++++ libtextcat-2.2/src/utf8misc.c 2007-07-25 10:48:57.000000000 +0100 +@@ -0,0 +1,132 @@ ++/*************************************************************************** ++ * Copyright (C) 2006 by Jocelyn Merand * ++ * joc.mer@gmail.com * ++ * * ++ * THE BSD LICENSE ++ * ++ * 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. ++ * ++ * - Neither the name of the WiseGuys Internet B.V. nor the names of ++ * its contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * 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 ++ * OWNER 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. ++ ***************************************************************************/ ++ ++#ifndef _UTF8_MISC_H_ ++#include "utf8misc.h" ++#endif ++ ++ ++int nextcharstart(const char *str, int position){ ++ int pointer = position; ++ ++ if(str[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ ++ ++ /*then str[pointer] is an escape character*/ ++ ++ char escape_char = ((str[pointer] & WEIGHT_MASK) << 1); /*and we use it to count (by bit translation) following characters (only the weightest part)*/ ++ ++ while(escape_char & ESCAPE_MASK && str[pointer]){/*every step, we move the byte of 1 bit left, when first bit is 0, it's finished*/ ++ escape_char = escape_char <<1; ++ ++pointer; ++ } ++ } ++ if(str[pointer]){ /*finaly, if we are not on the \0 character, we jump to the next character*/ ++ ++pointer; ++ } ++ return pointer; ++} ++ ++ ++int charcopy(const char *str, char *dest){ ++ ++ int pointer = 0; ++ if(str[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ ++ ++ /*then str[pointer] is an escape character*/ ++ ++ char escape_char = ((str[pointer] & WEIGHT_MASK) << 1); /*and we use it to count following characters (only the weightest part)*/ ++ ++ while(escape_char & ESCAPE_MASK && str[pointer]){ /*every step, we move the byte of 1 bit left, when first bit is 0, it's finished*/ ++ dest[pointer] = str[pointer]; ++ escape_char = escape_char <<1; ++ ++pointer; ++ } ++ } ++ if(str[pointer]){ ++ dest[pointer] = str[pointer]; ++ ++pointer; ++ } ++ ++ return pointer; ++} ++ ++ ++int issame( char *lex, char *key, int len ) ++{ ++ /*printf("[%s] prefix of [%s] with length %i", lex, key, len);*/ ++ int char_counter = 0; ++ int pointer = 0; ++ while(char_counter < len) { ++ ++ if(key[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ ++ ++ /*then key[pointer] is an escap character*/ ++ ++ char escape_char = ((key[pointer] & WEIGHT_MASK) << 1); /*and we use it to count (only the weightest part)*/ ++ ++ while(escape_char & ESCAPE_MASK && key[pointer] == lex[pointer] ){ ++ escape_char = escape_char <<1; ++ ++pointer; ++ } ++ } ++ ++char_counter; /*and we are on a new utf8 character*/ ++ if ( key[pointer] != lex[pointer] ) { ++ return 0; ++ /*printf(" NO\n", lex, key, len);*/ ++ } ++ ++pointer; ++ } ++ if ( lex[pointer] != '\0' ) { ++ return 0; ++ /*printf(" NO\n");*/ ++ } ++ ++ /*printf(" YES\n");*/ ++ ++ return 1; ++} ++ ++ ++extern int utfstrlen(const char* str){ ++ int char_counter = 0; ++ int pointer = 0; ++ while(str[pointer]) { ++ pointer = nextcharstart(str, pointer); ++ ++ ++char_counter; /*and we are on a new utf8 character*/ ++ } ++ return char_counter; ++} ++ +diff -ruN libtextcat-2.2.part1/src/utf8misc.h libtextcat-2.2/src/utf8misc.h +--- libtextcat-2.2.part1/src/utf8misc.h 1970-01-01 01:00:00.000000000 +0100 ++++ libtextcat-2.2/src/utf8misc.h 2007-07-25 10:48:57.000000000 +0100 +@@ -0,0 +1,88 @@ ++/*************************************************************************** ++ * Copyright (C) 2006 by Jocelyn Merand * ++ * joc.mer@gmail.com * ++ * * ++ * THE BSD LICENSE ++ * ++ * 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. ++ * ++ * - Neither the name of the WiseGuys Internet B.V. nor the names of ++ * its contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * 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 ++ * OWNER 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. ++ ***************************************************************************/ ++ ++#ifndef _UTF8_MISC_H_ ++#define _UTF8_MISC_H_ ++ ++/** ++ * These variables are used in character processing functions ++ * These have been added to manage utf-8 symbols, particularly escape chars ++ */ ++#ifdef _UTF8_ ++#define ESCAPE_MASK 0x80 ++#define WEIGHT_MASK 0xF0 ++#else ++#define ESCAPE_MASK 0xFF ++#define WEIGHT_MASK 0x00 ++#endif ++ ++ ++/* ++ * Is used to jump to the next start of char ++ * of course it's only usefull when encoding is utf-8 ++ * This function have been added by Jocelyn Merand to use libtextcat in OOo ++ */ ++int nextcharstart(const char *str, int position); ++ ++ ++/*Copy the char in str to dest ++ * of course it's only usefull when encoding is utf8 and the symbol is encoded with more than 1 char ++ * return the number of char jumped ++ * This function have been added by Jocelyn Merand to use libtextcat in OOo ++ */ ++int charcopy(const char *str, char *dest); ++ ++ ++/* checks if n-gram lex is a prefix of key and of length len ++* if _UTF8_ is defined, it uses escap characters and len is not realy the length of lex ++* in this case, len is the number of utf-8 char strlen("€") == 3 but len == 1 ++*/ ++int issame( char *lex, char *key, int len ); ++ ++ ++/* Counts the number of characters ++* if _UTF8_ is defined, it uses escap characters and the result is not realy the length of str ++* in this case, the result is the number of utf-8 char strlen("€") == 3 but utfstrlen("€") == 1 ++*/ ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern int utfstrlen(const char* str); ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ +--- libtextcat-2.2.part2/src/Makefile.am 2007-07-25 10:55:02.000000000 +0100 ++++ libtextcat-2.2/src/Makefile.am 2007-07-25 10:55:52.000000000 +0100 +@@ -12,11 +12,11 @@ + + libtextcat_includedir = $(includedir)/libtextcat + libtextcat_include_HEADERS = \ +- common.h constants.h fingerprint.h textcat.h ++ common.h constants.h fingerprint.h textcat.h utf8misc.h + + lib_LTLIBRARIES = libtextcat.la + libtextcat_la_SOURCES = \ +- common.c fingerprint.c textcat.c wg_mempool.c ++ common.c fingerprint.c textcat.c wg_mempool.c utf8misc.c + + bin_PROGRAMS = createfp + createfp_SOURCES = createfp.c diff --git a/extra/libtextcat/libtextcat-2.2-exportapi.patch b/extra/libtextcat/libtextcat-2.2-exportapi.patch new file mode 100644 index 000000000..acf84e099 --- /dev/null +++ b/extra/libtextcat/libtextcat-2.2-exportapi.patch @@ -0,0 +1,305 @@ +diff -ruN libtextcat-2.2.orig/src/common.c libtextcat-2.2/src/common.c +--- libtextcat-2.2.orig/src/common.c 2007-06-27 17:02:34.000000000 +0100 ++++ libtextcat-2.2/src/common.c 2007-06-27 17:45:16.000000000 +0100 +@@ -45,7 +45,7 @@ + #endif + #include <stdarg.h> + #include <ctype.h> +-#include "common.h" ++#include "common_impl.h" + + extern void wgmem_error( const char *fmt, ... ) + { +@@ -55,8 +55,6 @@ + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); +- +- exit(-1); + } + + +diff -ruN libtextcat-2.2.orig/src/common_impl.h libtextcat-2.2/src/common_impl.h +--- libtextcat-2.2.orig/src/common_impl.h 1970-01-01 01:00:00.000000000 +0100 ++++ libtextcat-2.2/src/common_impl.h 2007-06-27 17:45:16.000000000 +0100 +@@ -0,0 +1,66 @@ ++#ifndef _COMMON_IMPL_H_ ++#define _COMMON_IMPL_H_ ++/** ++ * common_impl.h -- a mixed bag of helper functions ++ * ++ * Copyright (C) 2003 WiseGuys Internet B.V. ++ * ++ * THE BSD LICENSE ++ * ++ * 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. ++ * ++ * - Neither the name of the WiseGuys Internet B.V. nor the names of ++ * its contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * 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 ++ * OWNER 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 "config.h" ++#ifndef HAVE_MALLOC ++#error "This library needs a GNU like malloc to compile. 'configure' says there isn't one." ++#endif ++#ifndef HAVE_REALLOC ++#error "This library needs a GNU like realloc to compile. 'configure' says there isn't one." ++#endif ++#ifndef HAVE_STRDUP ++#error "This library needs a GNU like strdup to compile. 'configure' says there isn't one." ++#endif ++#ifdef HAVE_INTTYPES_H ++#include <inttypes.h> ++#else ++#ifdef HAVE_STDINT_H ++#include <stdint.h> ++#endif ++#endif ++#ifdef HAVE_SYS_TIME_H ++#include <sys/time.h> ++#endif ++#include "common.h" ++ ++#define WGMIN(x,y) ((x)<=(y)?(x):(y)) ++#define WGMAX(x,y) ((x)<=(y)?(y):(x)) ++#define __STR__(x) #x ++#define WGSTR(x) __STR__(x) ++ ++#endif +diff -ruN libtextcat-2.2.orig/src/createfp.c libtextcat-2.2/src/createfp.c +--- libtextcat-2.2.orig/src/createfp.c 2007-06-27 17:02:34.000000000 +0100 ++++ libtextcat-2.2/src/createfp.c 2007-06-27 17:45:16.000000000 +0100 +@@ -44,7 +44,7 @@ + #endif + + #include "fingerprint.h" +-#include "common.h" ++#include "common_impl.h" + + #define BLOCKSIZE 4096 + +diff -ruN libtextcat-2.2.orig/src/fingerprint.c libtextcat-2.2/src/fingerprint.c +--- libtextcat-2.2.orig/src/fingerprint.c 2007-06-27 17:02:34.000000000 +0100 ++++ libtextcat-2.2/src/fingerprint.c 2007-06-27 17:45:16.000000000 +0100 +@@ -76,7 +76,7 @@ + #endif + #include <ctype.h> + +-#include "common.h" ++#include "common_impl.h" + #include "wg_mempool.h" + #include "constants.h" + +diff -ruN libtextcat-2.2.orig/src/Makefile.am libtextcat-2.2/src/Makefile.am +--- libtextcat-2.2.orig/src/Makefile.am 2007-06-27 17:02:34.000000000 +0100 ++++ libtextcat-2.2/src/Makefile.am 2007-06-27 17:47:40.000000000 +0100 +@@ -8,7 +8,11 @@ + AM_LDFLAGS = -g + + noinst_HEADERS = \ +- common.h constants.h fingerprint.h textcat.h wg_mempool.h ++ common_impl.h wg_mempool.h ++ ++libtextcat_includedir = $(includedir)/libtextcat ++libtextcat_include_HEADERS = \ ++ common.h constants.h fingerprint.h textcat.h + + lib_LTLIBRARIES = libtextcat.la + libtextcat_la_SOURCES = \ +diff -ruN libtextcat-2.2.orig/src/testtextcat.c libtextcat-2.2/src/testtextcat.c +--- libtextcat-2.2.orig/src/testtextcat.c 2007-06-27 17:02:34.000000000 +0100 ++++ libtextcat-2.2/src/testtextcat.c 2007-06-27 17:45:16.000000000 +0100 +@@ -47,7 +47,7 @@ + #endif + + #include "textcat.h" +-#include "common.h" ++#include "common_impl.h" + + #define BLOCKSIZE 4096 + +diff -ruN libtextcat-2.2.orig/src/textcat.c libtextcat-2.2/src/textcat.c +--- libtextcat-2.2.orig/src/textcat.c 2007-06-27 17:02:34.000000000 +0100 ++++ libtextcat-2.2/src/textcat.c 2007-06-27 17:45:16.000000000 +0100 +@@ -65,7 +65,7 @@ + #include <alloca.h> + #endif + +-#include "common.h" ++#include "common_impl.h" + #include "fingerprint.h" + #include "textcat.h" + #include "constants.h" +diff -ruN libtextcat-2.2.orig/src/wg_mempool.c libtextcat-2.2/src/wg_mempool.c +--- libtextcat-2.2.orig/src/wg_mempool.c 2007-06-27 17:02:34.000000000 +0100 ++++ libtextcat-2.2/src/wg_mempool.c 2007-06-27 17:45:16.000000000 +0100 +@@ -41,7 +41,7 @@ + #ifdef HAVE_STRING_H + #include <string.h> + #endif +-#include "common.h" ++#include "common_impl.h" + + typedef struct memblock_s { + char *pool; +diff -ru libtextcat-2.2.orig/src/common.h libtextcat-2.2/src/common.h +--- libtextcat-2.2.orig/src/common.h 2003-05-22 14:02:29.000000000 +0100 ++++ libtextcat-2.2/src/common.h 2007-06-28 09:10:42.000000000 +0100 +@@ -1,7 +1,7 @@ + #ifndef _COMMON_H_ + #define _COMMON_H_ + /** +- * common.h -- a mixed bag of helper functions ++ * common.h + * + * Copyright (C) 2003 WiseGuys Internet B.V. + * +@@ -36,56 +36,25 @@ + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#include "config.h" +-#ifndef HAVE_MALLOC +-#error "This library needs a GNU like malloc to compile. 'configure' says there isn't one." +-#endif +-#ifndef HAVE_REALLOC +-#error "This library needs a GNU like realloc to compile. 'configure' says there isn't one." +-#endif +-#ifndef HAVE_STRDUP +-#error "This library needs a GNU like strdup to compile. 'configure' says there isn't one." +-#endif + #include <stdio.h> +-#ifdef HAVE_INTTYPES_H + #include <inttypes.h> +-#else +-#ifdef HAVE_STDINT_H +-#include <stdint.h> +-#endif +-#endif +-#ifdef HAVE_SYS_TIME_H +-#include <sys/time.h> +-#endif + #include <time.h> + +-#define WGMIN(x,y) ((x)<=(y)?(x):(y)) +-#define WGMAX(x,y) ((x)<=(y)?(y):(x)) +-#define __STR__(x) #x +-#define WGSTR(x) __STR__(x) +- +-#ifdef HAVE_INTTYPES_H +-typedef uint32_t uint4; +-typedef uint16_t uint2; +-typedef uint8_t uchar; +- +-typedef int32_t sint4; +-typedef int16_t sint2; +-typedef int8_t schar; +- +-typedef int8_t boole; +-#else +-typedef unsigned long uint4; +-typedef unsigned int uint2; +-typedef unsigned char uchar; +- +-typedef long sint4; +-typedef int sint2; +-typedef char schar; +- +-typedef char boole; ++#include <sys/time.h> ++#ifdef __cplusplus ++extern "C" { + #endif + ++typedef uint32_t uint4; ++typedef uint16_t uint2; ++typedef uint8_t uchar; ++ ++typedef int32_t sint4; ++typedef int16_t sint2; ++typedef int8_t schar; ++ ++typedef int8_t boole; ++ + typedef struct wgtimer_s { + struct timeval start; + struct timeval stop; +@@ -108,6 +76,8 @@ + extern char *wg_strgmov( char *dest, const char *src, const char *destlimit ); + extern char *wg_trim( char *dest, const char *src ); + ++#ifdef __cplusplus ++} ++#endif + + #endif +- +diff -ru libtextcat-2.2.orig/src/fingerprint.h libtextcat-2.2/src/fingerprint.h +--- libtextcat-2.2.orig/src/fingerprint.h 2003-05-19 13:16:31.000000000 +0100 ++++ libtextcat-2.2/src/fingerprint.h 2007-06-28 09:11:17.000000000 +0100 +@@ -35,6 +35,10 @@ + */ + #include "common.h" + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + extern void *fp_Init(const char *name); + extern void fp_Done( void *handle ); + extern int fp_Create( void *handle, const char *buffer, uint4 bufsize, uint4 maxngrams ); +@@ -44,4 +48,8 @@ + extern const char *fp_Name( void *handle ); + extern void fp_Print( void *handle, FILE *fp ); + ++#ifdef __cplusplus ++} ++#endif ++ + #endif +--- libtextcat-2.2.orig/src/textcat.h 2007-06-28 09:19:26.000000000 +0100 ++++ libtextcat-2.2/src/textcat.h 2007-06-28 09:20:19.000000000 +0100 +@@ -37,6 +37,10 @@ + */ + #include <stdio.h> + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + #define _TEXTCAT_RESULT_UNKOWN "UNKNOWN" + #define _TEXTCAT_RESULT_SHORT "SHORT" + +@@ -77,4 +81,9 @@ + * textcat_Version() - Returns a string describing the version of this classifier. + */ + extern char *textcat_Version(); ++ ++#ifdef __cplusplus ++} ++#endif ++ + #endif diff --git a/extra/libwpd/PKGBUILD b/extra/libwpd/PKGBUILD index f1cfa64e7..30b22c16e 100644 --- a/extra/libwpd/PKGBUILD +++ b/extra/libwpd/PKGBUILD @@ -1,24 +1,22 @@ -# $Id: PKGBUILD 110381 2011-02-19 06:05:32Z eric $ -# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# $Id: PKGBUILD 122922 2011-05-07 10:20:23Z andyrtr $ +# Maintainer: AndyRTR <andyrtr@archlinux.org> pkgname=libwpd -pkgver=0.9.1 +pkgver=0.9.2 pkgrel=1 pkgdesc="Library for importing WordPerfect (tm) documents" arch=('i686' 'x86_64' 'mips64el') url="http://libwpd.sourceforge.net/" license=('LGPL') -depends=('libgsf>=1.14.3-2') +depends=('gcc-libs') +makedepends=('libgsf>=1.14.20') options=('!libtool') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('6edd1b7eb8992888c6c82fc95859ac1b') -sha1sums=('af4bc109ad270e873652d0af80e96b42d82dddbc') +md5sums=('da43f18da732f6156cef145d06613960') build() { cd "${srcdir}/${pkgname}-${pkgver}" - - ./configure --prefix=/usr \ - --without-docs + ./configure --prefix=/usr make } diff --git a/extra/libwps/PKGBUILD b/extra/libwps/PKGBUILD new file mode 100644 index 000000000..650e94400 --- /dev/null +++ b/extra/libwps/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 122933 2011-05-07 10:59:22Z andyrtr $ +# Maintainer: AndyRTR <andyrtr@archlinux.org> +# Contributor: Robert McCathie <archaur at rmcc dot com dot au> + +pkgname=libwps +pkgver=0.2.2 +pkgrel=1 +pkgdesc="a Microsoft Works file word processor format import filter library" +arch=('i686' 'x86_64') +url="http://libwps.sourceforge.net/" +license=('LGPL') +depends=('libwpd>=0.9.2') +options=(!libtool) +source=("http://downloads.sourceforge.net/project/libwps/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2") +#md5sums=('83d4029aebf290c0a9a8fee9c99638d3') +#md5sums=('9e436bff44c60dc8b97cba0c7fc11a5c') +md5sums=('29721a16f25967d59969d5f0ae485b4a') + +build() { + cd "$srcdir/$pkgname-$pkgver" + sed -i -e 's: -Wall -Werror -pedantic::' configure.in + touch NEWS AUTHORS ChangeLog + autoreconf -fi + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + diff --git a/extra/llvm/PKGBUILD b/extra/llvm/PKGBUILD index 3587a7775..234b009b6 100644 --- a/extra/llvm/PKGBUILD +++ b/extra/llvm/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 121057 2011-04-28 21:09:26Z heftig $ +# $Id: PKGBUILD 123080 2011-05-08 02:35:16Z foutrelis $ # Maintainer: Evangelos Foutras <foutrelis@gmail.com> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Sebastian Nowicki <sebnow@gmail.com> @@ -12,7 +12,7 @@ pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer') pkgver=2.9 _gcc_ver=4.6.0 -pkgrel=4 +pkgrel=5 arch=('i686' 'x86_64') url="http://llvm.org/" license=('custom:University of Illinois/NCSA Open Source License') @@ -24,7 +24,8 @@ source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.tgz cindexer-clang-path.patch clang-toolchains-gcc-versions.patch clang-pure64.patch - enable-lto.patch) + enable-lto.patch + bug-9869-operator-h-c++0x.patch) md5sums=('793138412d2af2c7c7f54615f8943771' '634de18d04b7a4ded19ec4c17d23cfca' '70e23a3dc2b38ecb2bb4d2c48f47295d' @@ -32,7 +33,8 @@ md5sums=('793138412d2af2c7c7f54615f8943771' '87a7162dbe99e9ffce6c40bd09f5f4f0' '8da236120a9a287a977b575b8b905c93' '225ee6b531f8327f34f344a18cb4ec81' - '8f7582d7440e4a8342c3aea9ec714fb4') + '8f7582d7440e4a8342c3aea9ec714fb4' + '047cac563a557463d7ec6bd87d953f5e') build() { cd "$srcdir/$pkgname-$pkgver" @@ -73,6 +75,10 @@ build() { # Use gold instead of default linker, and always use the plugin patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch" + # Fix upstream bug #9869: + # Operator.h incompatibility with GCC 4.6 in C++0x mode + patch -Np2 -i "$srcdir/bug-9869-operator-h-c++0x.patch" + # Apply strip option to configure _optimized_switch="enable" [[ $(check_option strip) == n ]] && _optimized_switch="disable" diff --git a/extra/llvm/bug-9869-operator-h-c++0x.patch b/extra/llvm/bug-9869-operator-h-c++0x.patch new file mode 100644 index 000000000..b95d7d772 --- /dev/null +++ b/extra/llvm/bug-9869-operator-h-c++0x.patch @@ -0,0 +1,57 @@ +--- llvm/trunk/include/llvm/Operator.h 2011/02/07 16:40:21 125006 ++++ llvm/trunk/include/llvm/Operator.h 2011/05/08 01:59:22 131062 +@@ -186,28 +186,46 @@ + }; + + class AddOperator +- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {}; ++ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> { ++ ~AddOperator(); // DO NOT IMPLEMENT ++}; + class SubOperator +- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {}; ++ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> { ++ ~SubOperator(); // DO NOT IMPLEMENT ++}; + class MulOperator +- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {}; ++ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> { ++ ~MulOperator(); // DO NOT IMPLEMENT ++}; + class ShlOperator +- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {}; ++ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> { ++ ~ShlOperator(); // DO NOT IMPLEMENT ++}; + + + class SDivOperator +- : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {}; ++ : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> { ++ ~SDivOperator(); // DO NOT IMPLEMENT ++}; + class UDivOperator +- : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {}; ++ : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> { ++ ~UDivOperator(); // DO NOT IMPLEMENT ++}; + class AShrOperator +- : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {}; ++ : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> { ++ ~AShrOperator(); // DO NOT IMPLEMENT ++}; + class LShrOperator +- : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {}; ++ : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> { ++ ~LShrOperator(); // DO NOT IMPLEMENT ++}; + + + + class GEPOperator + : public ConcreteOperator<Operator, Instruction::GetElementPtr> { ++ ~GEPOperator(); // DO NOT IMPLEMENT ++ + enum { + IsInBounds = (1 << 0) + }; diff --git a/extra/mysql/PKGBUILD b/extra/mysql/PKGBUILD index 326472290..6f4d6c974 100644 --- a/extra/mysql/PKGBUILD +++ b/extra/mysql/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 118056 2011-04-05 09:37:46Z andrea $ +# $Id: PKGBUILD 122912 2011-05-07 10:07:11Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgbase=mysql pkgname=('libmysqlclient' 'mysql-clients' 'mysql') -pkgver=5.5.11 +pkgver=5.5.12 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('GPL') @@ -15,7 +15,7 @@ options=('!libtool') source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz" 'mysqld' 'my.cnf') -md5sums=('befa4e0d0aa95be6c8f6f143ae3b0641' +md5sums=('53d31a0b24f3eb3176185090eff129b9' '2234207625baa29b2ff7d7b4f088abce' '1c949c0dbea5206af0db14942d9927b6') diff --git a/extra/orca/PKGBUILD b/extra/orca/PKGBUILD deleted file mode 100644 index c2049503f..000000000 --- a/extra/orca/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id: PKGBUILD 99644 2010-11-15 23:32:08Z ibiru $ -# Maintainer: Jan de Groot <jgc@archlinux.org> -# Contributor: William Rea <sillywilly@gmail.com> - -pkgname=orca -pkgver=2.32.1 -pkgrel=1 -pkgdesc="A scriptable screen reader and magnifier" -arch=(i686 x86_64 'mips64el') -license=('LGPL') -url="http://www.gnome.org/projects/orca" -install=orca.install -options=('!libtool') -depends=('pygtk>=2.22.0' 'python2-gconf' 'python2-bonobo' 'python2-libgnome' 'python-wnck' 'dbus-python>=0.83.0' 'at-spi>=1.32.0' 'gnome-speech>=0.4.25' 'gnome-mag>=0.16.0' 'brltty' 'hicolor-icon-theme' 'pyxdg') -makedepends=('intltool') -replaces=('gnopernicus') -groups=('gnome-extra') -source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/2.32/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('44da9da70c1b47bc87fda8f3b9da4cc1df9993d92388434f5707d39b5a832629') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var - make - make DESTDIR="${pkgdir}" install -} diff --git a/extra/orca/orca.install b/extra/orca/orca.install deleted file mode 100644 index 17ca8f78a..000000000 --- a/extra/orca/orca.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/extra/phonon-gstreamer/PKGBUILD b/extra/phonon-gstreamer/PKGBUILD index 4b87c9924..18c3813c5 100644 --- a/extra/phonon-gstreamer/PKGBUILD +++ b/extra/phonon-gstreamer/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 119060 2011-04-10 18:47:30Z andrea $ +# $Id: PKGBUILD 122917 2011-05-07 10:12:53Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=phonon-gstreamer -pkgver=4.5.0 +pkgver=4.5.1 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://phonon.kde.org" @@ -12,10 +12,10 @@ depends=('gstreamer0.10-base-plugins') makedepends=('cmake' 'automoc4' 'phonon' 'mesa') provides=('phonon-backend') source=("http://download.kde.org/stable/phonon/phonon-backend-gstreamer/${pkgver}/src/phonon-backend-gstreamer-${pkgver}.tar.bz2") -md5sums=('2875139f2b7b649396125f4acc66de67') +md5sums=('021cf7740208e7212b7ce91adb6a349b') build() { - cd ${srcdir} + cd "${srcdir}" mkdir build cd build cmake ../phonon-backend-gstreamer-${pkgver} \ @@ -25,6 +25,6 @@ build() { } package() { - cd ${srcdir}/build - make DESTDIR=${pkgdir} install + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install } diff --git a/extra/python-qt/PKGBUILD b/extra/python-qt/PKGBUILD deleted file mode 100644 index cdf111a7f..000000000 --- a/extra/python-qt/PKGBUILD +++ /dev/null @@ -1,41 +0,0 @@ -# $Id: PKGBUILD 110673 2011-02-21 12:42:56Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> - -pkgname=python-qt -pkgver=4.8.3 -pkgrel=2 -arch=('i686' 'x86_64' 'mips64el') -url="http://riverbankcomputing.co.uk/software/pyqt/intro" -license=('GPL') -pkgdesc="A set of Python 3 bindings for the Qt toolkit" -depends=('python2-qt' 'python-sip') -optdepends=('phonon: enable audio and video in PyQt applications' - 'qscintilla: QScintilla API' - 'qt-assistant-compat: add PyQt online help in Qt Assistant') -makedepends=('phonon' 'qt-assistant-compat') -source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz") -md5sums=('d54fd1c37a74864faf42709c8102f254') - -build() { - cd "${srcdir}/PyQt-x11-gpl-${pkgver}" - - python configure.py \ - --confirm-license \ - --qsci-api - - # Thanks Gerardo for the rpath fix - find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g' - - make -} - -package(){ - cd "${srcdir}/PyQt-x11-gpl-${pkgver}" - # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR - make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install - - # Provided by python2-qt package - rm ${pkgdir}/usr/bin/{pylupdate4,pyrcc4,pyuic4} - rm ${pkgdir}/usr/lib/qt/plugins/designer/libpythonplugin.so - rm ${pkgdir}/usr/share/qt/qsci/api/python/PyQt4.api -} diff --git a/extra/python-sip/PKGBUILD b/extra/python-sip/PKGBUILD deleted file mode 100644 index ba45af8a9..000000000 --- a/extra/python-sip/PKGBUILD +++ /dev/null @@ -1,30 +0,0 @@ -# $Id: PKGBUILD 110667 2011-02-21 12:01:59Z stephane $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> - -pkgname=python-sip -pkgver=4.12.1 -pkgrel=2 -arch=('i686' 'x86_64' 'mips64el') -url="http://www.riverbankcomputing.com/software/sip/" -license=('custom:"sip"') -pkgdesc="A tool that makes it easy to create Python 3 bindings for C and C++ libraries" -depends=('python2-sip' 'python') -source=("http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${pkgver}.tar.gz") -md5sums=('0f8e8305b14c1812191de2e0ee22fea9') - -build() { - cd "${srcdir}/sip-${pkgver}" - - python configure.py CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}" - make -} - -package() { - cd "${srcdir}/sip-${pkgver}" - make DESTDIR="${pkgdir}" install - - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - - # Provided by python2-sip package - rm "${pkgdir}/usr/bin/sip" -} diff --git a/extra/python2-qt/PKGBUILD b/extra/python2-qt/PKGBUILD deleted file mode 100644 index de24795ff..000000000 --- a/extra/python2-qt/PKGBUILD +++ /dev/null @@ -1,41 +0,0 @@ -# $Id: PKGBUILD 107404 2011-01-24 17:30:13Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> -# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> -# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net> - -pkgname=python2-qt -pkgver=4.8.3 -pkgrel=1 -pkgdesc="A set of Python 2 bindings for the Qt toolkit" -arch=('i686' 'x86_64' 'mips64el') -url="http://riverbankcomputing.co.uk/software/pyqt/intro" -license=('GPL') -depends=('qt' 'python2-sip' 'dbus-python') -makedepends=('phonon' 'python-opengl' 'qt-assistant-compat') -optdepends=('phonon: enable audio and video in PyQt applications' - 'python-opengl: enable OpenGL 3D graphics in PyQt applications' - 'qscintilla: QScintilla API' - 'qt-assistant-compat: add PyQt online help in Qt Assistant') -replaces=('pyqt') -source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz") -md5sums=('d54fd1c37a74864faf42709c8102f254') - -build() { - cd "${srcdir}/PyQt-x11-gpl-${pkgver}" - - python2 configure.py \ - --confirm-license \ - -v /usr/share/sip \ - --qsci-api - - # Thanks Gerardo for the rpath fix - find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g' - - make -} - -package(){ - cd "${srcdir}/PyQt-x11-gpl-${pkgver}" - # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR - make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install -} diff --git a/extra/python2-sip/PKGBUILD b/extra/python2-sip/PKGBUILD deleted file mode 100644 index 477f7595d..000000000 --- a/extra/python2-sip/PKGBUILD +++ /dev/null @@ -1,30 +0,0 @@ -# $Id: PKGBUILD 107403 2011-01-24 17:30:04Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> -# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> -# Contributor: riai <riai@bigfoot.com>, Ben <ben@benmazer.net> - -pkgname=python2-sip -pkgver=4.12.1 -pkgrel=1 -pkgdesc="A tool that makes it easy to create Python 2 bindings for C and C++ libraries" -arch=('i686' 'x86_64' 'mips64el') -url="http://www.riverbankcomputing.com/software/sip/" -license=('custom:"sip"') -depends=('python2') -replaces=('sip') -source=("http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${pkgver}.tar.gz") -md5sums=('0f8e8305b14c1812191de2e0ee22fea9') - -build() { - cd "${srcdir}/sip-${pkgver}" - - python2 configure.py CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}" - make -} - -package() { - cd "${srcdir}/sip-${pkgver}" - make DESTDIR="${pkgdir}" install - - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" -} diff --git a/extra/qscintilla/PKGBUILD b/extra/qscintilla/PKGBUILD index fa2b2aaa8..d8c966d4d 100644 --- a/extra/qscintilla/PKGBUILD +++ b/extra/qscintilla/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 119950 2011-04-17 11:43:04Z andrea $ +# $Id: PKGBUILD 123072 2011-05-07 23:41:27Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org> pkgbase=qscintilla pkgname=('qscintilla' 'python-qscintilla' 'python2-qscintilla') pkgver=2.5.1 -pkgrel=1 +pkgrel=2 license=('GPL') arch=('i686' 'x86_64' 'mips64el') url="http://www.riverbankcomputing.co.uk/software/qscintilla/intro" -makedepends=('python-qt') +makedepends=('python2-pyqt') source=("http://riverbankcomputing.com/static/Downloads/QScintilla2/QScintilla-gpl-${pkgver}.tar.gz" 'configure.py-objdir-support.diff') md5sums=('dd7edef5ff674d307057a3c12dbd8fce' @@ -52,7 +52,7 @@ package_qscintilla() { package_python-qscintilla() { pkgdesc="Python 3 bindings for QScintilla2" - depends=('python-qt' 'python2-qscintilla') + depends=('pyqt' 'qscintilla') cd "${srcdir}/QScintilla-gpl-${pkgver}/Python" install -Dm755 Qsci.so \ @@ -61,7 +61,7 @@ package_python-qscintilla() { package_python2-qscintilla() { pkgdesc="Python 2 bindings for QScintilla2" - depends=('qscintilla' 'python2-qt') + depends=('python-qscintilla' 'python2-pyqt') cd "${srcdir}/QScintilla-gpl-${pkgver}/Python2" make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install diff --git a/extra/quota-tools/ChangeLog b/extra/quota-tools/ChangeLog deleted file mode 100644 index 56c760b78..000000000 --- a/extra/quota-tools/ChangeLog +++ /dev/null @@ -1,9 +0,0 @@ -2009-01-07 Eric Belanger <eric@archlinux.org> - - * quota-tools 3.17-1 - * Upstream update - -2008-05-01 Eric Belanger <eric@archlinux.org> - - * quota-tools 3.16-1 - * Upstream update diff --git a/extra/rxvt-unicode/rxvt-unicode.png b/extra/rxvt-unicode/rxvt-unicode.png Binary files differdeleted file mode 100644 index 0738a7840..000000000 --- a/extra/rxvt-unicode/rxvt-unicode.png +++ /dev/null diff --git a/extra/squid/fix-for-new-cap-headers.patch b/extra/squid/fix-for-new-cap-headers.patch deleted file mode 100644 index ce24681e8..000000000 --- a/extra/squid/fix-for-new-cap-headers.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- src/tools.c.orig 2009-11-02 10:54:49.000000000 -0500 -+++ src/tools.c 2009-11-02 10:55:05.000000000 -0500 -@@ -44,9 +44,9 @@ - #if HAVE_SYS_CAPABILITY_H - #undef _POSIX_SOURCE - /* Ugly glue to get around linux header madness colliding with glibc */ --#define _LINUX_TYPES_H -+/*#define _LINUX_TYPES_H*/ - #define _LINUX_FS_H --typedef uint32_t __u32; -+/*typedef uint32_t __u32;*/ - #include <sys/capability.h> - #endif - #endif diff --git a/extra/squid/squid-makefiles.patch b/extra/squid/squid-makefiles.patch deleted file mode 100644 index 4cefb89a0..000000000 --- a/extra/squid/squid-makefiles.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -Naur squid-2.7.STABLE2-orig/helpers/basic_auth/SMB/Makefile.in squid-2.7.STABLE2/helpers/basic_auth/SMB/Makefile.in ---- squid-2.7.STABLE2-orig/helpers/basic_auth/SMB/Makefile.in 2007-11-11 20:14:01.000000000 -0500 -+++ squid-2.7.STABLE2/helpers/basic_auth/SMB/Makefile.in 2008-06-09 21:32:52.000000000 -0400 -@@ -268,7 +268,7 @@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ - SMB_AUTH_HELPER = smb_auth.sh --SAMBAPREFIX = /usr/local/samba -+SAMBAPREFIX = /usr - SMB_AUTH_HELPER_PATH = $(libexecdir)/$(SMB_AUTH_HELPER) - libexec_SCRIPTS = $(SMB_AUTH_HELPER) - smb_auth_CFLAGS = -DSAMBAPREFIX=\"$(SAMBAPREFIX)\" -DHELPERSCRIPT=\"$(SMB_AUTH_HELPER_PATH)\" -diff -Naur squid-2.7.STABLE2-orig/src/Makefile.in squid-2.7.STABLE2/src/Makefile.in ---- squid-2.7.STABLE2-orig/src/Makefile.in 2008-01-02 20:16:40.000000000 -0500 -+++ squid-2.7.STABLE2/src/Makefile.in 2008-06-09 21:34:39.000000000 -0400 -@@ -653,13 +653,13 @@ - DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf - DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf - DEFAULT_DNSSERVER = $(libexecdir)/`echo dnsserver | sed '$(transform);s/$$/$(EXEEXT)/'` --DEFAULT_LOG_PREFIX = $(localstatedir)/logs -+DEFAULT_LOG_PREFIX = $(localstatedir)/log/squid - DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log - DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log - DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log --DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid -+DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid - DEFAULT_NETDB_FILE = $(DEFAULT_LOG_PREFIX)/netdb.state --DEFAULT_SWAP_DIR = $(localstatedir)/cache -+DEFAULT_SWAP_DIR = $(localstatedir)/cache/squid - DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'` - DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'` - DEFAULT_DISKD = $(libexecdir)/`echo diskd-daemon | sed '$(transform);s/$$/$(EXEEXT)/'` -diff -Naur squid-2.7.STABLE2-orig/src/cf.data.pre squid-2.7.STABLE2/src/cf.data.pre ---- squid-2.7.STABLE2-orig/src/cf.data.pre 2008-05-31 16:49:45.000000000 -0400 -+++ squid-2.7.STABLE2/src/cf.data.pre 2008-06-09 21:35:43.000000000 -0400 -@@ -3749,7 +3749,7 @@ - - NAME: cache_effective_user - TYPE: string --DEFAULT: nobody -+DEFAULT: proxy - LOC: Config.effectiveUser - DOC_START - If you start Squid as root, it will change its effective/real -@@ -3763,7 +3763,7 @@ - - NAME: cache_effective_group - TYPE: string --DEFAULT: none -+DEFAULT: proxy - LOC: Config.effectiveGroup - DOC_START - If you want Squid to run with a specific GID regardless of diff --git a/extra/swfdec-mozilla/PKGBUILD b/extra/swfdec-mozilla/PKGBUILD deleted file mode 100644 index d477c34be..000000000 --- a/extra/swfdec-mozilla/PKGBUILD +++ /dev/null @@ -1,21 +0,0 @@ -#$Id: PKGBUILD 17042 2008-10-24 15:55:09Z andyrtr $ -#Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgname=swfdec-mozilla -pkgver=0.8.2 -pkgrel=1 -pkgdesc="free plugin for Mozilla browsers that uses the Swfdec library for playing SWF files" -arch=('i686' 'x86_64' 'mips64el') -url="http://swfdec.freedesktop.org" -license=('LGPL') -depends=("swfdec>=$pkgver") -source=(http://swfdec.freedesktop.org/download/swfdec-mozilla/0.8/${pkgname}-${pkgver}.tar.gz) -options=('!libtool') -md5sums=('716632e0d35b3c1582c180569ba30346') - -build() { - cd ${startdir}/src/${pkgname}-${pkgver} - ./configure --prefix=/usr --disable-static --with-plugin-dir=/usr/lib/mozilla/plugins/ - make || return 1 - make DESTDIR=${startdir}/pkg install -} diff --git a/extra/swfdec/PKGBUILD b/extra/swfdec/PKGBUILD deleted file mode 100644 index d651e0497..000000000 --- a/extra/swfdec/PKGBUILD +++ /dev/null @@ -1,25 +0,0 @@ -#$Id: PKGBUILD 64546 2010-01-21 03:43:49Z eric $ -#Maintainer: Andreas Radke <andyrtr@archlinux.org> - -pkgname=swfdec -pkgver=0.8.4 -pkgrel=2 -pkgdesc="free library for decoding and rendering Flash animations" -arch=('i686' 'x86_64' 'mips64el') -url="http://swfdec.freedesktop.org" -license=('LGPL') -depends=('alsa-lib>=1.0.18' 'liboil>=0.3.15' 'gtk2>=2.14.6' 'libsoup>=2.24.2.1-1') -makedepends=('pkgconfig' 'gstreamer0.10-ffmpeg>=0.10.6-1') -optdepends=('gstreamer0.10-base: required for various audio and video formats' - 'gstreamer0.10-ffmpeg: most common audio/video format for internet flash') -source=(http://swfdec.freedesktop.org/download/swfdec/0.8/${pkgname}-${pkgver}.tar.gz) -md5sums=('aece501d0e73f3e564200a44ec03c385') -options=('!libtool' '!emptydirs') - -build() { - cd ${startdir}/src/${pkgname}-${pkgver} - ./configure --prefix=/usr --disable-static --enable-gtk \ - --enable-gstreamer --enable-soup --with-audio=alsa - make || return 1 - make DESTDIR=${startdir}/pkg install || return 1 -} diff --git a/extra/trayer/PKGBUILD b/extra/trayer/PKGBUILD index 844d36bb4..fc5a39222 100644 --- a/extra/trayer/PKGBUILD +++ b/extra/trayer/PKGBUILD @@ -1,23 +1,31 @@ -# $Id: PKGBUILD 15775 2008-10-18 20:40:50Z eric $ -# Maintainer: Thayer Williams <thayer@archlinux.org> +# $Id: PKGBUILD 122890 2011-05-07 04:26:20Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=trayer pkgver=1.0 -pkgrel=4 -pkgdesc="Swallows GTK 1.2/2.x application docklets, and KDE docklets." +pkgrel=5 +pkgdesc="A lightweight GTK2-based systray" arch=('i686' 'x86_64' 'mips64el') url="https://gna.org/projects/fvwm-crystal/" license=('GPL' 'MIT') -depends=('gtk2' 'libxmu') +depends=('gtk2') +makedepends=('libxmu') options=('!makeflags') -source=(http://download.gna.org/fvwm-crystal/trayer/$pkgver/$pkgname-$pkgver.tar.gz +source=(http://download.gna.org/fvwm-crystal/trayer/${pkgver}/${pkgname}-${pkgver}.tar.gz trayer.diff) -md5sums=('e1b0b6464f991f2c296561e377585867' '7f66eee885563871f9f76646bca6b14d') +md5sums=('e1b0b6464f991f2c296561e377585867' + '7f66eee885563871f9f76646bca6b14d') build() { - cd $startdir/src/$pkgname-$pkgver - patch -Np0 -i ${startdir}/src/trayer.diff || return 1 - make || return 1 - make PREFIX=$startdir/pkg/usr install - install -D -m644 COPYING $startdir/pkg/usr/share/licenses/$pkgname/LICENSE + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p0 -i ../trayer.diff + sed -i 's/$(LIBS) $(OBJ) $(SYSTRAYOBJ)/$(OBJ) $(SYSTRAYOBJ) $(LIBS)/' Makefile + make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make PREFIX="${pkgdir}/usr" install + install -D -m644 README "${pkgdir}/usr/share/doc/${pkgname}/README" + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/extra/xbill/PKGBUILD b/extra/xbill/PKGBUILD index 0b2e56693..7b9503c78 100644 --- a/extra/xbill/PKGBUILD +++ b/extra/xbill/PKGBUILD @@ -1,35 +1,39 @@ -# $Id: PKGBUILD 22212 2008-12-23 06:11:22Z eric $ -# Maintainer: Arjan Timmerman <arjan@archlinux.org> -# Contributor: Tom Newsom <Jeepster@gmx.co.uk> +# $Id: PKGBUILD 122895 2011-05-07 05:36:47Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=xbill pkgver=2.1 -pkgrel=6 -pkgdesc="Xbill is a game that tests you reflexes as you seek and destroy all forms of Bill" +pkgrel=7 +pkgdesc="A game that tests your reflexes as you seek and destroy all forms of Bill" arch=('i686' 'x86_64' 'mips64el') url="http://www.xbill.org/" license=('GPL') -depends=('xaw3d>=1.5E' 'libxaw') +depends=('xaw3d') +makedepends=('libxaw') install=xbill.install -source=(http://www.xbill.org/download/$pkgname-$pkgver.tar.gz) +source=(http://www.xbill.org/download/${pkgname}-${pkgver}.tar.gz) md5sums=('585e4866b15255a24203db9959407b2f') build() { - cd $srcdir/$pkgname-$pkgver + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr --mandir=/usr/share/man --localstatedir=/var/games \ - --disable-motif --enable-athena --disable-gtk || return 1 - make || return 1 - make DESTDIR=$pkgdir install || return 1 + --disable-motif --enable-athena --disable-gtk + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install # set appropriate permissions and destinations - chown root:games $pkgdir/usr/bin/xbill - chmod 2755 $pkgdir/usr/bin/xbill + chown root:games "${pkgdir}/usr/bin/xbill" + chmod 2755 "${pkgdir}/usr/bin/xbill" - chown root:games $pkgdir/var/games - chmod 775 $pkgdir/var/games - chown root:games $pkgdir/var/games/xbill - chmod 775 $pkgdir/var/games/xbill + chown root:games "${pkgdir}/var/games" + chmod 775 "${pkgdir}/var/games" + chown root:games "${pkgdir}/var/games/xbill" + chmod 775 "${pkgdir}/var/games/xbill" # Handle the scores file creation in the install script - rm $pkgdir/var/games/xbill/scores + rm "${pkgdir}/var/games/xbill/scores" } diff --git a/extra/xbill/xbill.install b/extra/xbill/xbill.install index 014c0d54b..b68d88071 100644 --- a/extra/xbill/xbill.install +++ b/extra/xbill/xbill.install @@ -1,6 +1,7 @@ pre_install() { - if [ ! -e var/games/xbill/scores ]; then - [ -e usr/var/xbill/scores ] && mv usr/var/xbill/scores var/games/xbill/scores + if [ ! -e var/games/xbill/scores -a -e usr/var/xbill/scores ]; then + mkdir -p var/games/xbill + mv usr/var/xbill/scores var/games/xbill/scores fi } diff --git a/extra/xchat-gnome/PKGBUILD b/extra/xchat-gnome/PKGBUILD deleted file mode 100644 index 94c6b5c40..000000000 --- a/extra/xchat-gnome/PKGBUILD +++ /dev/null @@ -1,50 +0,0 @@ -# $Id: PKGBUILD 112861 2011-03-07 10:29:01Z eric $ -# Maintainer: Allan McRae <allan@archlinux.org> -# Contributor: Jan de Groot <jgc@archlinux.org> - -pkgname=xchat-gnome -pkgver=0.26.1 -pkgrel=5 -pkgdesc="GNOME frontend to the popular X-Chat IRC client." -arch=('i686' 'x86_64' 'mips64el') -license=('GPL') -url="http://xchat-gnome.navi.cx/" -depends=('libgnomeui>=2.18.1-2' 'libsexy>=0.1.11' 'gconf>=2.18.0.1-4' - 'hicolor-icon-theme' 'desktop-file-utils' 'libcanberra' 'libsm') -makedepends=('gettext' 'perlxml' 'python2' 'tcl' 'libnotify' 'gnome-doc-utils>=0.10.3' - 'intltool' 'pkg-config') -optdepends=('libnotify: notifications' - 'python2: plugin' - 'tcl: plugin') -options=('!libtool') -install=xchat-gnome.install -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.26/${pkgname}-${pkgver}.tar.gz - gtk2-2.20.patch xchat-gnome-0.26.1-deprecated-symbol.patch) -md5sums=('e355d71d76cd97a0764e37bfacf09101' 'dafc2536a0c5ee3f8015af81fce69656'\ - 'f82417277f0b5e83334147c4bf63d531') -sha1sums=('303bfbf2f1bda83fbc4edab148df4764cb4b8998' 'f1bfc5af50be7c10a9db96be20185325636d8da9'\ - '9aa0abc4b7999e09cafdeb8da1ad4641552a421b') - -build() { - cd "$srcdir/${pkgname}-${pkgver}" - patch -Np1 -i "$srcdir/gtk2-2.20.patch" - patch -Np1 -i "$srcdir/xchat-gnome-0.26.1-deprecated-symbol.patch" - sed -i 's/notify_notification_new (summary, escaped, NULL, NULL);/notify_notification_new (summary, escaped, NULL);/' plugins/notify-osd/notify-osd.c - sed -i -e "s/ /\t/" src/common/dbus/Makefile.in - - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static \ - --enable-ipv6 --enable-shm \ - --disable-gtkfe --disable-scrollkeeper - make -} - -package() { - cd "$srcdir/${pkgname}-${pkgver}" - make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install - - install -d "$pkgdir/usr/share/gconf/schemas" - gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/${pkgname}.schemas" \ - "$pkgdir"/etc/gconf/schemas/*.schemas - rm -f "$pkgdir"/etc/gconf/schemas/*.schemas -} diff --git a/extra/xchat-gnome/gtk2-2.20.patch b/extra/xchat-gnome/gtk2-2.20.patch deleted file mode 100644 index 7a5dcedf2..000000000 --- a/extra/xchat-gnome/gtk2-2.20.patch +++ /dev/null @@ -1,137 +0,0 @@ -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/fe-gnome.c xchat-gnome-0.26.1/src/fe-gnome/fe-gnome.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/fe-gnome.c 2008-09-07 09:18:45.000000000 -0400 -+++ xchat-gnome-0.26.1/src/fe-gnome/fe-gnome.c 2010-03-28 16:16:52.181405173 -0400 -@@ -753,7 +753,7 @@ fe_gui_info (session * sess, int info_ty - { - switch (info_type) { - case 0: -- if (!GTK_WIDGET_VISIBLE (GTK_WINDOW (gui.main_window))) { -+ if (!gtk_widget_get_visible (GTK_WIDGET (gui.main_window))) { - return 2; - } - if (gtk_window_is_active (GTK_WINDOW (gui.main_window))) { -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/find-bar.c xchat-gnome-0.26.1/src/fe-gnome/find-bar.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/find-bar.c 2007-03-09 10:42:57.000000000 -0500 -+++ xchat-gnome-0.26.1/src/fe-gnome/find-bar.c 2010-03-28 16:26:24.300405158 -0400 -@@ -247,7 +247,7 @@ find_bar_close (FindBar *bar) - { - gint position; - -- if (!GTK_WIDGET_VISIBLE (bar)) { -+ if (!gtk_widget_get_visible (GTK_WIDGET (bar))) { - return; - } - -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/text-entry.c xchat-gnome-0.26.1/src/fe-gnome/text-entry.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/text-entry.c 2008-09-07 10:02:45.000000000 -0400 -+++ xchat-gnome-0.26.1/src/fe-gnome/text-entry.c 2010-03-28 16:39:48.755153605 -0400 -@@ -667,7 +667,7 @@ text_entry_set_current (TextEntry *entry - char *selection = NULL, *text = NULL; - int start, end; - -- g_return_if_fail (GTK_WIDGET_REALIZED (widget)); -+ g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (widget))); - - if (sess == priv->current) { - return; -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/userlist-gui.c xchat-gnome-0.26.1/src/fe-gnome/userlist-gui.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/userlist-gui.c 2008-10-13 17:02:16.000000000 -0400 -+++ xchat-gnome-0.26.1/src/fe-gnome/userlist-gui.c 2010-03-28 16:47:55.703154452 -0400 -@@ -261,12 +261,12 @@ userlist_gui_show (void) - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gui.userlist_toggle), TRUE); - -- if (!GTK_WIDGET_REALIZED (gui.userlist_window)) { -+ if (!gtk_widget_get_realized (GTK_WIDGET (gui.userlist_window))) { - gtk_widget_realize (gui.userlist_window); - } - gtk_widget_size_request (gui.userlist, &request); - -- if (GTK_WIDGET_REALIZED (gui.userlist_toggle)) -+ if (gtk_widget_get_realized (GTK_WIDGET (gui.userlist_toggle))) - anchor_widget = gui.userlist_toggle; - else - anchor_widget = gui.main_window; -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/xtext.c xchat-gnome-0.26.1/src/fe-gnome/xtext.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/xtext.c 2009-01-16 08:17:31.000000000 -0500 -+++ xchat-gnome-0.26.1/src/fe-gnome/xtext.c 2010-03-28 16:57:17.441402617 -0400 -@@ -1086,7 +1086,7 @@ gtk_xtext_size_allocate (GtkWidget * wid - xtext->avoid_trans = FALSE; - - widget->allocation = *allocation; -- if (GTK_WIDGET_REALIZED (widget)) -+ if (gtk_widget_get_realized (GTK_WIDGET (widget))) - { - xtext->buffer->window_width = allocation->width; - xtext->buffer->window_height = allocation->height; -@@ -4113,7 +4113,7 @@ gtk_xtext_set_palette (GtkXText * xtext, - xtext->palette[i] = palette[i].pixel; - } - -- if (GTK_WIDGET_REALIZED (xtext)) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - { - xtext_set_fg (xtext, xtext->fgc, XTEXT_FG); - xtext_set_bg (xtext, xtext->fgc, XTEXT_BG); -@@ -4211,7 +4211,7 @@ gtk_xtext_set_font (GtkXText *xtext, cha - - gtk_xtext_fix_indent (xtext->buffer); - -- if (GTK_WIDGET_REALIZED (xtext)) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - gtk_xtext_recalc_widths (xtext->buffer, TRUE); - - return TRUE; -@@ -4248,7 +4248,7 @@ gtk_xtext_set_background (GtkXText * xte - if (trans) - { - xtext->shaded = shaded; -- if (GTK_WIDGET_REALIZED (xtext)) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - gtk_xtext_load_trans (xtext); - return; - } -@@ -4260,14 +4260,14 @@ gtk_xtext_set_background (GtkXText * xte - if (pixmap != 0) - { - g_object_ref (pixmap); -- if (GTK_WIDGET_REALIZED (xtext)) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - { - gdk_gc_set_tile (xtext->bgc, pixmap); - gdk_gc_set_ts_origin (xtext->bgc, 0, 0); - xtext->ts_x = xtext->ts_y = 0; - gdk_gc_set_fill (xtext->bgc, GDK_TILED); - } -- } else if (GTK_WIDGET_REALIZED (xtext)) -+ } else if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - { - g_object_unref (xtext->bgc); - val.subwindow_mode = GDK_INCLUDE_INFERIORS; -@@ -4516,7 +4516,7 @@ gtk_xtext_render_page (GtkXText * xtext) - int subline; - int startline = xtext->adj->value; - -- if(!GTK_WIDGET_REALIZED(xtext)) -+ if(!gtk_widget_get_realized (GTK_WIDGET (xtext))) - return; - - if (xtext->buffer->indent < MARGIN) -@@ -4636,7 +4636,7 @@ gtk_xtext_render_page (GtkXText * xtext) - void - gtk_xtext_refresh (GtkXText * xtext, int do_trans) - { -- if (GTK_WIDGET_REALIZED (GTK_WIDGET (xtext))) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - { - #if defined(USE_XLIB) || defined(WIN32) - if (xtext->transparent && do_trans) -@@ -5204,7 +5204,7 @@ gtk_xtext_buffer_show (GtkXText *xtext, - xtext->io_tag = 0; - } - -- if (!GTK_WIDGET_REALIZED (GTK_WIDGET (xtext))) -+ if (!gtk_widget_get_realized (GTK_WIDGET (xtext))) - gtk_widget_realize (GTK_WIDGET (xtext)); - - gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &w, &h); diff --git a/extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch b/extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch deleted file mode 100644 index 5bf1e4ef5..000000000 --- a/extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 8d35b36baa8204b68c9520ec92327e34c1d7c580 Mon Sep 17 00:00:00 2001 -From: Ritesh Khadgaray <khadgaray@gmail.com> -Date: Sun, 04 Jul 2010 09:52:07 +0000 -Subject: remove deprecated GTK+ symbols, GTK_WIDGET_SET_FLAGS. - ---- -diff --git a/src/fe-gnome/xtext.c b/src/fe-gnome/xtext.c -index 92562a3..51503f8 100644 ---- a/src/fe-gnome/xtext.c -+++ b/src/fe-gnome/xtext.c -@@ -963,7 +963,7 @@ gtk_xtext_realize (GtkWidget * widget) - GdkColor col; - GdkColormap *cmap; - -- GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); -+ gtk_widget_set_realized (widget, TRUE); - xtext = GTK_XTEXT (widget); - - attributes.x = widget->allocation.x; --- -cgit v0.8.3.1 - diff --git a/extra/xchat-gnome/xchat-gnome.install b/extra/xchat-gnome/xchat-gnome.install deleted file mode 100644 index b0816ece3..000000000 --- a/extra/xchat-gnome/xchat-gnome.install +++ /dev/null @@ -1,24 +0,0 @@ -pkgname=xchat-gnome - -post_install() { - usr/sbin/gconfpkg --install ${pkgname} - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - update-desktop-database -q -} - -pre_upgrade() { - pre_remove $1 -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - usr/sbin/gconfpkg --uninstall ${pkgname} -} - -post_remove() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - update-desktop-database -q -} diff --git a/extra/xchm/PKGBUILD b/extra/xchm/PKGBUILD index d870cc608..c74241a47 100644 --- a/extra/xchm/PKGBUILD +++ b/extra/xchm/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 120950 2011-04-27 19:00:34Z giovanni $ +# $Id: PKGBUILD 122945 2011-05-07 11:59:58Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> pkgname=xchm -pkgver=1.19 +pkgver=1.20 pkgrel=1 pkgdesc="A cross-platform GUI front-end to chmlib" arch=('i686' 'x86_64' 'mips64el') @@ -13,7 +13,7 @@ install=xchm.install source=(http://downloads.sourceforge.net/sourceforge/xchm/${pkgname}-${pkgver}.tar.gz xchm.desktop xchm.xml) -md5sums=('c9d65971801e044d51476f57e91909fc' +md5sums=('85943645d20af536704a20b58ebd5849' '31fb9692b9ee9f2a205f58b9ff4bc4fe' '4102b0a393f5c60236143cc034664dd0') diff --git a/extra/xfce4-xfapplet-plugin/PKGBUILD b/extra/xfce4-xfapplet-plugin/PKGBUILD deleted file mode 100644 index 517f78b81..000000000 --- a/extra/xfce4-xfapplet-plugin/PKGBUILD +++ /dev/null @@ -1,32 +0,0 @@ -# $Id: PKGBUILD 105796 2011-01-11 20:47:13Z andyrtr $ -# Maintainer: -# Contributor: Tobias Kieslich <tobias (at) archlinux.org> - -pkgname=xfce4-xfapplet-plugin -pkgver=0.1.0 -pkgrel=7 -pkgdesc="plugin that allows to use gnome applets in the Xfce4 panel" -arch=('i686' 'x86_64' 'mips64el') -license=('GPL2') -url="http://xfce-goodies.berlios.de/" -groups=('xfce4-goodies') -depends=('xfce4-panel' 'libxfcegui4' 'gnome-panel' 'gnome-panel-bonobo') -makedepends=('') -source=(http://archive.xfce.org/src/panel-plugins/${pkgname}/0.1/${pkgname}-${pkgver}.tar.bz2) -md5sums=('6a06c44b18a97626f44a240ad3bc3244') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/lib/ \ - --localstatedir=/var \ - --disable-static \ - --disable-debug - make -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install -} |