diff options
author | joerg <joerg> | 2015-03-18 10:27:54 +0000 |
---|---|---|
committer | joerg <joerg> | 2015-03-18 10:27:54 +0000 |
commit | a108e327b8d172e5e83b36c018ad56ca841b4ba9 (patch) | |
tree | 5826e7f44521d202d69c166879ddae3b3c1e0fc9 /misc | |
parent | fcbe9f29295abe127866544bb41b3dafe06d7192 (diff) | |
download | pkgsrc-a108e327b8d172e5e83b36c018ad56ca841b4ba9.tar.gz |
Resolve base class ambiguity in operators. Help finding exit(3).
Diffstat (limited to 'misc')
5 files changed, 98 insertions, 1 deletions
diff --git a/misc/kdeartwork3/distinfo b/misc/kdeartwork3/distinfo index cf018479ed0..9bea4e607a6 100644 --- a/misc/kdeartwork3/distinfo +++ b/misc/kdeartwork3/distinfo @@ -1,6 +1,10 @@ -$NetBSD: distinfo,v 1.35 2008/08/27 12:18:13 markd Exp $ +$NetBSD: distinfo,v 1.36 2015/03/18 10:27:54 joerg Exp $ SHA1 (kdeartwork-3.5.10.tar.bz2) = 928079e1bd54062b53a7cac192998a4c44022003 RMD160 (kdeartwork-3.5.10.tar.bz2) = 4078546bb1cdab86a7510f5bcd6aac54751fe47b Size (kdeartwork-3.5.10.tar.bz2) = 16621355 bytes SHA1 (patch-aa) = 22c752e2d6b9a1bca140e78bd1ec0f29c5257f26 +SHA1 (patch-kscreensaver_kdesavers_rkodesolver.cpp) = 28a6b808c871d3f7144a473d8a696a3ac7651882 +SHA1 (patch-kscreensaver_kdesavers_rotation.cpp) = 86b745d74174a179eb68cbfe61dd28f0d6b33cd6 +SHA1 (patch-kscreensaver_kdesavers_vec3.cpp) = 693ab92f18ea08a2cbf7ed9ebea9e07237eab33d +SHA1 (patch-kscreensaver_kdesavers_vec3.h) = 2672edfaf4466da1affa7783796929c2fd85f86f diff --git a/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_rkodesolver.cpp b/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_rkodesolver.cpp new file mode 100644 index 00000000000..9e1783c450d --- /dev/null +++ b/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_rkodesolver.cpp @@ -0,0 +1,12 @@ +$NetBSD: patch-kscreensaver_kdesavers_rkodesolver.cpp,v 1.1 2015/03/18 10:27:54 joerg Exp $ + +--- kscreensaver/kdesavers/rkodesolver.cpp.orig 2015-03-17 22:50:05.000000000 +0000 ++++ kscreensaver/kdesavers/rkodesolver.cpp +@@ -10,6 +10,7 @@ + // + //============================================================================ + ++#include <cstdlib> + #include <kdebug.h> + #include "rkodesolver.h" + diff --git a/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_rotation.cpp b/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_rotation.cpp new file mode 100644 index 00000000000..d49e9e0c0e3 --- /dev/null +++ b/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_rotation.cpp @@ -0,0 +1,40 @@ +$NetBSD: patch-kscreensaver_kdesavers_rotation.cpp,v 1.1 2015/03/18 10:27:54 joerg Exp $ + +--- kscreensaver/kdesavers/rotation.cpp.orig 2015-03-17 22:45:37.000000000 +0000 ++++ kscreensaver/kdesavers/rotation.cpp +@@ -123,9 +123,9 @@ std::valarray<double> EulerOdeSolver::f( + ypr[2] = -(B-A)/C * omega_body[0] * omega_body[1]; // r' + + // e1', e2', e3' +- ypr[std::slice(3,3,1)] = vec3<double>::crossprod(omega, e1); +- ypr[std::slice(6,3,1)] = vec3<double>::crossprod(omega, e2); +- ypr[std::slice(9,3,1)] = vec3<double>::crossprod(omega, e3); ++ ypr[std::slice(3,3,1)] = std::valarray<double>(vec3<double>::crossprod(omega, e1)); ++ ypr[std::slice(6,3,1)] = std::valarray<double>(vec3<double>::crossprod(omega, e2)); ++ ypr[std::slice(9,3,1)] = std::valarray<double>(vec3<double>::crossprod(omega, e3)); + + return ypr; + } +@@ -529,15 +529,17 @@ void KRotationSaver::initData() + e3_body.rotate(-m_initEulerTheta*e1_body); + // omega_body = L_body * J_body^(-1) + vec3<double> omega_body = e3_body * m_Lz; +- omega_body /= J; ++ std::valarray<double> &omega_body_ = omega_body; ++ std::valarray<double> &J_ = J; ++ omega_body_ /= J_; + + // assemble initial y for solver + std::valarray<double> y(12); +- y[std::slice(0,3,1)] = omega_body; ++ y[std::slice(0,3,1)] = std::valarray<double>(omega_body); + // 3 basis vectors of body system in fixed coordinates +- y[std::slice(3,3,1)] = e1t; +- y[std::slice(6,3,1)] = e2t; +- y[std::slice(9,3,1)] = e3t; ++ y[std::slice(3,3,1)] = std::valarray<double>(e1t); ++ y[std::slice(6,3,1)] = std::valarray<double>(e2t); ++ y[std::slice(9,3,1)] = std::valarray<double>(e3t); + + // initial rotation vector + omega diff --git a/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_vec3.cpp b/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_vec3.cpp new file mode 100644 index 00000000000..3f34d9727db --- /dev/null +++ b/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_vec3.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-kscreensaver_kdesavers_vec3.cpp,v 1.1 2015/03/18 10:27:54 joerg Exp $ + +--- kscreensaver/kdesavers/vec3.cpp.orig 2015-03-17 22:51:32.000000000 +0000 ++++ kscreensaver/kdesavers/vec3.cpp +@@ -59,7 +59,9 @@ vec3<T>& vec3<T>::rotate(const vec3<T>& + // part of vector which is parallel to r + vec3<T> par(r*(*this)/(r*r) * r); + // part of vector which is perpendicular to r +- vec3<T> perp(*this - par); ++ vec3<T> perp(*this); ++ std::valarray<T> &perp_ = perp; ++ perp -= std::valarray<T>(par); + // rotation direction, size of perp + vec3<T> rotdir(norm(perp) * normalized(crossprod(r,perp))); + *this = par + cos(phi)*perp + sin(phi)*rotdir; diff --git a/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_vec3.h b/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_vec3.h new file mode 100644 index 00000000000..7e773f45c09 --- /dev/null +++ b/misc/kdeartwork3/patches/patch-kscreensaver_kdesavers_vec3.h @@ -0,0 +1,26 @@ +$NetBSD: patch-kscreensaver_kdesavers_vec3.h,v 1.1 2015/03/18 10:27:54 joerg Exp $ + +--- kscreensaver/kdesavers/vec3.h.orig 2015-03-17 22:44:04.000000000 +0000 ++++ kscreensaver/kdesavers/vec3.h +@@ -148,7 +148,9 @@ inline vec3<T>::vec3(const std::slice_ar + template<typename T> + inline vec3<T> operator+(vec3<T> a, const vec3<T>& b) + { +- a += b; /* valarray<T>::operator+=(const valarray<T>&) */ ++ std::valarray<T> &a_ = a; ++ const std::valarray<T> &b_ = b; ++ a_ += b_; /* valarray<T>::operator+=(const valarray<T>&) */ + return a; + } + +@@ -158,7 +160,9 @@ inline vec3<T> operator+(vec3<T> a, cons + template<typename T> + inline T operator*(vec3<T> a, const vec3<T>& b) + { +- a *= b; /* valarray<T>::operator*=(const T&) */ ++ std::valarray<T> &a_ = a; ++ const std::valarray<T> &b_ = b; ++ a_ *= b_; /* valarray<T>::operator*=(const valarray<T>&) */ + return a.sum(); + } + |