From 1ce87c66abd1395ddd267de51afc833789733b22 Mon Sep 17 00:00:00 2001 From: Niels Horn Date: Fri, 14 Sep 2012 22:12:55 -0300 Subject: [PATCH] graphics/k3d: Fixed to build against gcc-4.7 Signed-off-by: Niels Horn --- graphics/k3d/k3d.SlackBuild | 30 +++++++++++-- graphics/k3d/k3d_gcc47.patch | 87 ++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 4 deletions(-) create mode 100644 graphics/k3d/k3d_gcc47.patch diff --git a/graphics/k3d/k3d.SlackBuild b/graphics/k3d/k3d.SlackBuild index eccafb932f..1f85c0ab14 100644 --- a/graphics/k3d/k3d.SlackBuild +++ b/graphics/k3d/k3d.SlackBuild @@ -3,13 +3,32 @@ # Slackware build script for k3d # 3D modeling and animation software -# Written by Niels Horn -# (based on a script by Larry Hajali) -# Revision date: 2011/05/01 +# Copyright 2010 Larry Hajali +# Copyright 2010-2012 Niels Horn, Rio de Janeiro, RJ, Brazil +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''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 AUTHOR 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. + +# Revision date: 2012/09/14 PRGNAM=k3d VERSION=${VERSION:-0.8.0.2} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -60,6 +79,9 @@ patch -p1 < $CWD/png14.patch # Patch code for gtkmm-2.24 patch -p1 < $CWD/k3d_gtkmm224.patch +# Patch to build against gcc-4.7 +patch -p1 < $CWD/k3d_gcc47.patch + # Fix man install directory. sed -i "s|share/man|man|" man/CMakeLists.txt diff --git a/graphics/k3d/k3d_gcc47.patch b/graphics/k3d/k3d_gcc47.patch new file mode 100644 index 0000000000..56603d2d2b --- /dev/null +++ b/graphics/k3d/k3d_gcc47.patch @@ -0,0 +1,87 @@ +--- k3d-source-0.8.0.2/k3dsdk/gil/boost/gil/extension/dynamic_image/apply_operation_base.hpp 2010-07-02 23:27:47.000000000 -0300 ++++ k3d-source-0.8.0.2_patched/k3dsdk/gil/boost/gil/extension/dynamic_image/apply_operation_base.hpp 2012-09-14 15:48:20.000000000 -0300 +@@ -114,7 +114,7 @@ + template + struct reduce_bind1 { + const T2& _t2; +- mutable Op& _op; ++ Op& _op; + + typedef typename Op::result_type result_type; + +@@ -127,7 +127,7 @@ + struct reduce_bind2 { + const Bits1& _bits1; + std::size_t _index1; +- mutable Op& _op; ++ Op& _op; + + typedef typename Op::result_type result_type; + +--- k3d-source-0.8.0.2/k3dsdk/data.h 2010-07-02 23:27:46.000000000 -0300 ++++ k3d-source-0.8.0.2_patched/k3dsdk/data.h 2012-09-14 16:50:20.000000000 -0300 +@@ -580,7 +580,7 @@ + + try + { +- set_value(boost::lexical_cast(*new_value), Hint); ++ this->set_value(boost::lexical_cast(*new_value), Hint); + return true; + } + catch(...) +@@ -865,7 +865,7 @@ + + try + { +- set_value(boost::lexical_cast(*new_value), Hint); ++ this->set_value(boost::lexical_cast(*new_value), Hint); + return true; + } + catch(...) +@@ -1011,7 +1011,7 @@ + + try + { +- set_value(boost::lexical_cast(*new_value), Hint); ++ this->set_value(boost::lexical_cast(*new_value), Hint); + return true; + } + catch(...) +@@ -1146,7 +1146,7 @@ + if(!new_value) + return false; + +- set_value(*new_value, Hint); ++ this->set_value(*new_value, Hint); + return true; + } + +@@ -1671,7 +1671,7 @@ + /// This little bit of magic makes it possible for base classes (such as node_storage) to update their own values while observing the correct undo policy + void internal_set_value(const value_t& Value, ihint* const Hint) + { +- set_value(Value, Hint); ++ this->set_value(Value, Hint); + } + }; + +--- k3d-source-0.8.0.2/modules/animation/interpolator.h 2010-07-02 23:27:55.000000000 -0300 ++++ k3d-source-0.8.0.2_patched/modules/animation/interpolator.h 2012-09-14 16:45:16.000000000 -0300 +@@ -92,7 +92,7 @@ + { + time_t t_lower, t_upper; + value_t v_lower, v_upper; +- get_surrounding_keys(Time, Keyframes, t_lower, t_upper, v_lower, v_upper); ++ this->get_surrounding_keys(Time, Keyframes, t_lower, t_upper, v_lower, v_upper); + return lerp(t_lower, t_upper, v_lower, v_upper, Time); + } + protected: +@@ -116,7 +116,7 @@ + { + time_t t_lower, t_upper; + value_t v_lower, v_upper; +- get_surrounding_keys(Time, Keyframes, t_lower, t_upper, v_lower, v_upper); ++ this->get_surrounding_keys(Time, Keyframes, t_lower, t_upper, v_lower, v_upper); + return lerp(t_lower, t_upper, v_lower, v_upper, Time); + } + protected: