summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD11
-rw-r--r--fix_isnan_scope.patch46
2 files changed, 53 insertions, 4 deletions
diff --git a/PKGBUILD b/PKGBUILD
index fc28e93d6775..67cbe3cd96a6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: h8red h8red at yandex dot ru
pkgname=kcollectd
pkgver=0.9
-pkgrel=2.1
+pkgrel=2.2
pkgdesc="Kcollectd is a small applications that allows to view rrd datacollections that have been created by collectd."
arch=('i686' 'x86_64')
url="http://www.forwiss.uni-passau.de/~berberic/Linux/kcollectd.html"
@@ -15,17 +15,20 @@ replaces=()
backup=()
options=()
source=(http://www.forwiss.uni-passau.de/~berberic/Linux/kcollectd/$pkgname-$pkgver.tar.gz
- http://ftp.de.debian.org/debian/pool/main/k/kcollectd/$pkgname'_'$pkgver-$pkgrel.diff.gz
+ http://ftp.de.debian.org/debian/pool/main/k/kcollectd/$pkgname'_'0.9-2.1.diff.gz
default_source.patch
+ fix_isnan_scope.patch
)
noextract=()
md5sums=('7fef4a660207b4c65520ee77334088fb'
'7dc0a3be745aa5156946fe6c9cec5405'
- '0680cad562a4f157bc41fca56c6ac170')
+ '0680cad562a4f157bc41fca56c6ac170'
+ '99d5797e67331de96dbba9354241fba3')
build() {
cd $srcdir
- patch -p0 -i $pkgname'_'$pkgver-$pkgrel.diff
+ patch -p0 -i $pkgname'_'0.9-2.1.diff
patch -p0 -i default_source.patch
+ patch -p0 -i fix_isnan_scope.patch
cd $pkgname-$pkgver
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .. || return 1
diff --git a/fix_isnan_scope.patch b/fix_isnan_scope.patch
new file mode 100644
index 000000000000..b475d09c5665
--- /dev/null
+++ b/fix_isnan_scope.patch
@@ -0,0 +1,46 @@
+--- kcollectd-0.9.orig/kcollectd/graph.cc 2010-01-31 21:40:10.000000000 +0300
++++ kcollectd-0.9/kcollectd/graph.cc 2016-07-11 13:10:40.602522957 +0300
+@@ -564,9 +564,9 @@
+ paint.setPen(Qt::NoPen);
+ paint.setBrush(QBrush(color_minmax[color_nr++ % 8]));
+ for(int i=0; i<size; ++i) {
+- while (i<size && (isnan(min_data[i]) || isnan(max_data[i]))) ++i;
++ while (i<size && (std::isnan(min_data[i]) || std::isnan(max_data[i]))) ++i;
+ int l = i;
+- while (i<size && !isnan(min_data[i]) && !isnan(max_data[i])) ++i;
++ while (i<size && !std::isnan(min_data[i]) && !std::isnan(max_data[i])) ++i;
+ const int asize = i-l;
+ points.resize(asize*2);
+ int k;
+@@ -597,9 +597,9 @@
+ if (!avg_data.empty()) {
+ paint.setPen(color_line[color_nr++ % 8]);
+ for(int i=0; i<size; ++i) {
+- while (i<size && isnan(avg_data[i])) ++i;
++ while (i<size && std::isnan(avg_data[i])) ++i;
+ int l = i;
+- while (i<size && !isnan(avg_data[i])) ++i;
++ while (i<size && !std::isnan(avg_data[i])) ++i;
+ const int asize = i-l;
+ points.resize(asize);
+ for(int k=0; k<asize; ++k, ++l) {
+--- kcollectd-0.9.orig/misc.cc 2009-05-10 17:42:08.000000000 +0400
++++ kcollectd-0.9/kcollectd/misc.cc 2016-07-11 13:10:59.955079187 +0300
+@@ -119,7 +119,7 @@
+ // process avg_data
+ if (!avg_data.empty()) {
+ for(std::size_t i=0; i<size; ++i) {
+- if (isnan(avg_data[i])) continue;
++ if (std::isnan(avg_data[i])) continue;
+ valid = true;
+ if (min > avg_data[i]) min = avg_data[i];
+ if (max < avg_data[i]) max = avg_data[i];
+@@ -129,7 +129,7 @@
+ // process min/max-data
+ if (!min_data.empty() && !max_data.empty()) {
+ for(std::size_t i=0; i<size; ++i) {
+- if (isnan(min_data[i]) || isnan(max_data[i])) continue;
++ if (std::isnan(min_data[i]) || std::isnan(max_data[i])) continue;
+ valid = true;
+ if (min > min_data[i]) min = min_data[i];
+ if (max < min_data[i]) max = min_data[i];