summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Horn <niels.horn@gmail.com>2012-09-14 22:12:55 -0300
committerNiels Horn <niels.horn@slackbuilds.org>2012-09-14 22:12:55 -0300
commit1ce87c66abd1395ddd267de51afc833789733b22 (patch)
treeffe92d2c09a0e8c10074888eb616ac15f2d8ddee
parent7be480d0704878bb6d0ee1d3cc54456add82d70d (diff)
downloadslackbuilds-1ce87c66abd1395ddd267de51afc833789733b22.tar.gz
graphics/k3d: Fixed to build against gcc-4.7
Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
-rw-r--r--graphics/k3d/k3d.SlackBuild30
-rw-r--r--graphics/k3d/k3d_gcc47.patch87
2 files changed, 113 insertions, 4 deletions
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 <niels.horn@gmail.com>
-# (based on a script by Larry Hajali)
-# Revision date: 2011/05/01
+# Copyright 2010 Larry Hajali <larryhaja[at]gmail[dot]com>
+# 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 <typename T2, typename Op>
+ 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<value_t>(*new_value), Hint);
++ this->set_value(boost::lexical_cast<value_t>(*new_value), Hint);
+ return true;
+ }
+ catch(...)
+@@ -865,7 +865,7 @@
+
+ try
+ {
+- set_value(boost::lexical_cast<value_t>(*new_value), Hint);
++ this->set_value(boost::lexical_cast<value_t>(*new_value), Hint);
+ return true;
+ }
+ catch(...)
+@@ -1011,7 +1011,7 @@
+
+ try
+ {
+- set_value(boost::lexical_cast<value_t>(*new_value), Hint);
++ this->set_value(boost::lexical_cast<value_t>(*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: