From 8e5a0a990a12a59cadb687cae22a1960fce1660b Mon Sep 17 00:00:00 2001 From: root Date: Thu, 7 Feb 2013 00:08:35 -0800 Subject: Thu Feb 7 00:08:35 PST 2013 --- extra/fluxbox/PKGBUILD | 10 +-- extra/fluxbox/fluxbox-fix_timer.diff | 78 ++++++++++++++++++++++ extra/strigi/PKGBUILD | 25 +++---- extra/xf86-video-sisimedia/PKGBUILD | 9 ++- ...disable-UploadToScreen-DownloadFromScreen.patch | 64 ++++++++++++++++++ 5 files changed, 165 insertions(+), 21 deletions(-) create mode 100644 extra/fluxbox/fluxbox-fix_timer.diff create mode 100644 extra/xf86-video-sisimedia/disable-UploadToScreen-DownloadFromScreen.patch (limited to 'extra') diff --git a/extra/fluxbox/PKGBUILD b/extra/fluxbox/PKGBUILD index eec6c8611..6f832a720 100644 --- a/extra/fluxbox/PKGBUILD +++ b/extra/fluxbox/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 174300 2013-01-04 04:35:47Z eric $ +# $Id: PKGBUILD 177083 2013-02-06 03:07:57Z eric $ # Maintainer: Eric BĂ©langer pkgname=fluxbox pkgver=1.3.3 -pkgrel=1 +pkgrel=2 pkgdesc="A lightweight and highly-configurable window manager" arch=('i686' 'x86_64') url="http://www.fluxbox.org" @@ -12,12 +12,14 @@ depends=('libxft' 'libxpm' 'libxinerama' 'libxrandr' 'gcc-libs' 'imlib2' 'fribid optdepends=('xorg-xmessage: for using the fbsetbg and fluxbox-generate_menu utilities') options=('!makeflags') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.lzma \ - fluxbox.desktop) + fluxbox.desktop fluxbox-fix_timer.diff) sha1sums=('6892259dd495424291194fde242230cca95abce3' - 'f3f83b8ce84d79c2f8670ef687e0dd89ab0552b8') + 'f3f83b8ce84d79c2f8670ef687e0dd89ab0552b8' + 'bc10368d7a157f83428897e2b7aced7ce620dec3') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/fluxbox-fix_timer.diff" ./configure --prefix=/usr \ --enable-xft --enable-xinerama \ --enable-imlib2 --enable-nls diff --git a/extra/fluxbox/fluxbox-fix_timer.diff b/extra/fluxbox/fluxbox-fix_timer.diff new file mode 100644 index 000000000..dceb1043b --- /dev/null +++ b/extra/fluxbox/fluxbox-fix_timer.diff @@ -0,0 +1,78 @@ +From 4d307dcd10af9d817ff5c05fc40ae7487564cb31 Mon Sep 17 00:00:00 2001 +From: Mathias Gumz +Date: Sat, 12 Jan 2013 08:24:11 +0000 +Subject: Fix bug: handle the list of Timers not in-place + +With commit 541c8c4 we switched from an (manually) ordered list to a +std::set<> to handle the active timers. The code which checks for overdue +timers now traverses and modifies the std::set<> in place. This might +lead to an infinite loop. Examples of such bad behavior are "flickering of +the tooltip" (bug #3590078) or crashes (bug #3600143) or just insanely high +cpu load when autoraising windows or submenus. + +We now make a copy of the std::set<> traverse this instead of the original. +--- +diff --git a/src/FbTk/Timer.cc b/src/FbTk/Timer.cc +index f63ea38..dd736dd 100644 +--- a/src/FbTk/Timer.cc ++++ b/src/FbTk/Timer.cc +@@ -52,6 +52,7 @@ + #endif + + #include ++#include + #include + + +@@ -195,32 +196,35 @@ void Timer::updateTimers(int fd) { + return; + } + ++ // stoping / restarting the timers modifies the list in an upredictable ++ // way. to avoid problems such as infinite loops we save the current ++ // (ordered) list of timers into a list and work on it. ++ ++ ssize_t i; ++ const ssize_t ts = s_timerlist.size(); ++ std::vector timers; ++ ++ timers.reserve(ts); ++ for (it = s_timerlist.begin(); it != s_timerlist.end(); ++it ) { ++ timers.push_back(*it); ++ } ++ + now = FbTime::now(); +- for (it = s_timerlist.begin(); it != s_timerlist.end(); ) { ++ for (i = 0; i < ts; ++i) { ++ ++ FbTk::Timer* t = timers[i]; + +- // t->fireTimeout() might add timers to the list +- // this invalidates 'it'. thus we store the current timer +- Timer* t = *it; + if (now < t->getEndTime()) { + break; + } + + t->fireTimeout(); +- +- // find the iterator to the timer again +- // and continue working on the list +- it = s_timerlist.find(t); +- it++; +- s_timerlist.erase(t); ++ t->stop(); + + if (! t->doOnce()) { // restart the current timer +- t->m_timing = false; + t->start(); +- } else { +- t->stop(); + } + } +- + } + + +-- +cgit v0.9.1 diff --git a/extra/strigi/PKGBUILD b/extra/strigi/PKGBUILD index 44eb094e2..86ff21d01 100644 --- a/extra/strigi/PKGBUILD +++ b/extra/strigi/PKGBUILD @@ -1,34 +1,29 @@ -# $Id: PKGBUILD 164838 2012-08-06 23:07:43Z andrea $ +# $Id: PKGBUILD 177081 2013-02-05 23:18:31Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Tobias Powalowski pkgname=strigi -pkgver=0.7.7 -pkgrel=2 -pkgdesc="Fast crawling desktop search engine with Qt4 GUI" +pkgver=0.7.8 +pkgrel=1 +pkgdesc="Fast crawling desktop search engine with Qt GUI" arch=('i686' 'x86_64') url='http://strigi.sourceforge.net/' license=('GPL2') -depends=('exiv2' 'libxml2' 'boost-libs') -makedepends=('qt' 'cmake' 'pkg-config' 'boost') +depends=('exiv2' 'libxml2' 'boost-libs' 'qt') +makedepends=('cmake' 'pkg-config' 'boost') optdepends=('kdegraphics-strigi-analyzer: strigi analyzers for various graphics file' 'kdesdk-strigi-analyzer: strigi analyzer for KDE SDK') -#source=("http://www.vandenoever.info/software/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2" - 'gcc47.patch') -md5sums=('ca0a0fd5c2b99879f6330837aeede996' - '1acb9b31a4859dc427fc4d387fd8aa2f') +source=("http://www.vandenoever.info/software/${pkgname}/${pkgname}-${pkgver}.tar.bz2") +md5sums=('d69443234f4286d71997db9de543331a') build() { - pushd ${pkgname}-${pkgver}/strigidaemon - patch -p1 -i "${srcdir}"/gcc47.patch - popd - mkdir build cd build cmake ../${pkgname}-${pkgver} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_LIBDIR=lib \ -DENABLE_INOTIFY=ON \ -DENABLE_LOG4CXX=OFF \ -DENABLE_FAM=OFF \ diff --git a/extra/xf86-video-sisimedia/PKGBUILD b/extra/xf86-video-sisimedia/PKGBUILD index cc18267a8..3c7340046 100644 --- a/extra/xf86-video-sisimedia/PKGBUILD +++ b/extra/xf86-video-sisimedia/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 170686 2012-11-09 14:38:32Z jgc $ +# $Id: PKGBUILD 177523 2013-02-06 18:40:48Z jgc $ # Maintainer: Jan de Groot pkgname=xf86-video-sisimedia pkgver=0.9.1 -pkgrel=5 +pkgrel=6 pkgdesc="X.org SiS 671 video driver" arch=(i686 x86_64) url="http://www.linuxconsulting.ro/xorg-drivers/" @@ -38,6 +38,7 @@ source=(ftp://ftp.archlinux.org/other/xf86-video-sisimedia/xf86-video-sisimedia- sisimedia-no-xaa.patch sisimedia-xorg-1.13.patch deprecated-sym2.patch + disable-UploadToScreen-DownloadFromScreen.patch COPYING) sha1sums=('22e6616df49ec82755daae08043a29aaf92fa430' '61715bb86180decde55a56fad9a12d841c89fbb2' @@ -65,6 +66,7 @@ sha1sums=('22e6616df49ec82755daae08043a29aaf92fa430' '370af234867df98206a98c8cd0a6c89323593f6b' '4ea333d659abe2b78f07511467c5356f39bf8695' '9bef0b61c0505cc64464073d73684e6933d3f84c' + 'ff95fd41be43560245caa40adc6b481f2dafca7d' 'a64e244f274bcb155f892d0488a1a4b1b2f7d70d') build() { @@ -95,11 +97,14 @@ build() { patch -Np1 -i "${srcdir}/sisimedia-xorg-1.13.patch" patch -Np1 -i "${srcdir}/deprecated-sym2.patch" + patch -Np1 -i "${srcdir}/disable-UploadToScreen-DownloadFromScreen.patch" sed -i -e 's,sis_drv,sisimedia_drv,g' src/Makefile.am sed -i -e 's,\"sis\",\"sisimedia\",g' src/sis.h sed -i -e 's,sisModuleData,sisimediaModuleData,g' src/sis_driver.c + sed -i -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac + autoreconf -fi ./configure --prefix=/usr --disable-dri diff --git a/extra/xf86-video-sisimedia/disable-UploadToScreen-DownloadFromScreen.patch b/extra/xf86-video-sisimedia/disable-UploadToScreen-DownloadFromScreen.patch new file mode 100644 index 000000000..4cc75989f --- /dev/null +++ b/extra/xf86-video-sisimedia/disable-UploadToScreen-DownloadFromScreen.patch @@ -0,0 +1,64 @@ +diff -ruN xf86-video-sis-0.9.1.orig/src/sis300_accel.c xf86-video-sis-0.9.1/src/sis300_accel.c +--- xf86-video-sis-0.9.1.orig/src/sis300_accel.c 2012-11-26 12:27:14.151119857 +0100 ++++ xf86-video-sis-0.9.1/src/sis300_accel.c 2012-11-26 12:36:19.227926454 +0100 +@@ -1284,8 +1284,8 @@ + /* Composite not supported */ + + /* Upload, download to/from Screen */ +- pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen; +- pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen; ++ //pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen; ++ //pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen; + } + #else /*xorg>7.0*/ + +@@ -1332,8 +1332,8 @@ + /* Composite not supported */ + + /* Upload, download to/from Screen */ +- pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen; +- pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen; ++ //pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen; ++ //pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen; + + } + #endif +diff -ruN xf86-video-sis-0.9.1.orig/src/sis310_accel.c xf86-video-sis-0.9.1/src/sis310_accel.c +--- xf86-video-sis-0.9.1.orig/src/sis310_accel.c 2012-11-26 12:27:14.151119857 +0100 ++++ xf86-video-sis-0.9.1/src/sis310_accel.c 2012-11-26 12:35:58.597921440 +0100 +@@ -1819,8 +1819,8 @@ + #endif + + /* Upload, download to/from Screen */ +- pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen; +- pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen; ++ //pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen; ++ //pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen; + + #else /*Xorg>= 7.0*/ + +@@ -1869,8 +1869,8 @@ + #endif + + /* Upload, download to/from Screen */ +- pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen; +- pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen; ++ //pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen; ++ //pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen; + #endif /*end of Xorg>=7.0*/ + + } +diff -ruN xf86-video-sis-0.9.1.orig/src/sis_accel.c xf86-video-sis-0.9.1/src/sis_accel.c +--- xf86-video-sis-0.9.1.orig/src/sis_accel.c 2012-11-26 12:27:14.154453191 +0100 ++++ xf86-video-sis-0.9.1/src/sis_accel.c 2012-11-26 12:36:44.464598873 +0100 +@@ -862,8 +862,8 @@ + /* Composite not supported */ + + /* Upload, download to/from Screen */ +- pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen; +- pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen; ++ //pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen; ++ //pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen; + + #endif /*end of Xorg>=7.0 EXA Setting*/ + } -- cgit v1.2.3-54-g00ecf