From 74a653ff8de75cbb3dd9e00c3199c4f64de3d876 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 8 Mar 2018 17:30:41 -0800 Subject: [PATCH] Backport patch to fix build from upstream git master --- ...8d302494e137f98a8b1d7869841532f90388.patch | 139 ++++++++++++++++++ vigra.spec | 12 +- 2 files changed, 146 insertions(+), 5 deletions(-) create mode 100644 81958d302494e137f98a8b1d7869841532f90388.patch diff --git a/81958d302494e137f98a8b1d7869841532f90388.patch b/81958d302494e137f98a8b1d7869841532f90388.patch new file mode 100644 index 0000000..88ed61e --- /dev/null +++ b/81958d302494e137f98a8b1d7869841532f90388.patch @@ -0,0 +1,139 @@ +From 81958d302494e137f98a8b1d7869841532f90388 Mon Sep 17 00:00:00 2001 +From: JaimeIvanCervantes +Date: Fri, 16 Jun 2017 13:21:45 -0700 +Subject: [PATCH] multi_convolution: Fix for incorrect template parameter type + when using unsigned int N for TinyVector SIZE. (Fixes #414) + +--- + include/vigra/multi_convolution.hxx | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/include/vigra/multi_convolution.hxx b/include/vigra/multi_convolution.hxx +index 1b5efa740..ec89bcf58 100644 +--- a/include/vigra/multi_convolution.hxx ++++ b/include/vigra/multi_convolution.hxx +@@ -1426,7 +1426,7 @@ gaussianSmoothMultiArray(MultiArrayView const & source, + class T2, class S2> + void + gaussianGradientMultiArray(MultiArrayView const & source, +- MultiArrayView, S2> dest, ++ MultiArrayView, S2> dest, + double sigma, + ConvolutionOptions opt = ConvolutionOptions()); + +@@ -1435,7 +1435,7 @@ gaussianSmoothMultiArray(MultiArrayView const & source, + class T2, class S2> + void + gaussianGradientMultiArray(MultiArrayView const & source, +- MultiArrayView, S2> dest, ++ MultiArrayView, S2> dest, + ConvolutionOptions opt); + + // likewise, but execute algorithm in parallel +@@ -1443,7 +1443,7 @@ gaussianSmoothMultiArray(MultiArrayView const & source, + class T2, class S2> + void + gaussianGradientMultiArray(MultiArrayView const & source, +- MultiArrayView, S2> dest, ++ MultiArrayView, S2> dest, + BlockwiseConvolutionOptions opt); + } + \endcode +@@ -1590,7 +1590,7 @@ template + inline void + gaussianGradientMultiArray(MultiArrayView const & source, +- MultiArrayView, S2> dest, ++ MultiArrayView, S2> dest, + ConvolutionOptions opt ) + { + if(opt.to_point != typename MultiArrayShape::type()) +@@ -1614,7 +1614,7 @@ template + inline void + gaussianGradientMultiArray(MultiArrayView const & source, +- MultiArrayView, S2> dest, ++ MultiArrayView, S2> dest, + double sigma, + ConvolutionOptions opt = ConvolutionOptions()) + { +@@ -1653,7 +1653,7 @@ gaussianGradientMagnitudeImpl(MultiArrayView const & src, + dest.init(0.0); + + typedef typename NumericTraits::RealPromote TmpType; +- MultiArray > grad(dest.shape()); ++ MultiArray > grad(dest.shape()); + + using namespace multi_math; + +@@ -1771,7 +1771,7 @@ gaussianGradientMagnitude(MultiArrayView, S1> const & src, + class T2, class S2> + void + symmetricGradientMultiArray(MultiArrayView const & source, +- MultiArrayView, S2> dest, ++ MultiArrayView, S2> dest, + ConvolutionOptions opt = ConvolutionOptions()); + + // execute algorithm in parallel +@@ -1779,7 +1779,7 @@ gaussianGradientMagnitude(MultiArrayView, S1> const & src, + class T2, class S2> + void + symmetricGradientMultiArray(MultiArrayView const & source, +- MultiArrayView, S2> dest, ++ MultiArrayView, S2> dest, + BlockwiseConvolutionOptions opt); + } + \endcode +@@ -1895,7 +1895,7 @@ template + inline void + symmetricGradientMultiArray(MultiArrayView const & source, +- MultiArrayView, S2> dest, ++ MultiArrayView, S2> dest, + ConvolutionOptions opt = ConvolutionOptions()) + { + if(opt.to_point != typename MultiArrayShape::type()) +@@ -2214,14 +2214,14 @@ laplacianOfGaussianMultiArray(MultiArrayView const & source, + template + void +- gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, ++ gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, + MultiArrayView divergence, + ConvolutionOptions const & opt); + + template + void +- gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, ++ gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, + MultiArrayView divergence, + double sigma, + ConvolutionOptions opt = ConvolutionOptions()); +@@ -2231,7 +2231,7 @@ laplacianOfGaussianMultiArray(MultiArrayView const & source, + template + void +- gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, ++ gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, + MultiArrayView divergence, + BlockwiseConvolutionOptions const & opt); + } +@@ -2324,7 +2324,7 @@ gaussianDivergenceMultiArray(Iterator vectorField, Iterator vectorFieldEnd, + template + inline void +-gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, ++gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, + MultiArrayView divergence, + ConvolutionOptions const & opt) + { +@@ -2338,7 +2338,7 @@ gaussianDivergenceMultiArray(MultiArrayView, S1> const & ve + template + inline void +-gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, ++gaussianDivergenceMultiArray(MultiArrayView, S1> const & vectorField, + MultiArrayView divergence, + double sigma, + ConvolutionOptions opt = ConvolutionOptions()) diff --git a/vigra.spec b/vigra.spec index 3e44b5c..fbd4d20 100644 --- a/vigra.spec +++ b/vigra.spec @@ -16,6 +16,12 @@ Group: Development/Libraries # tar zcf vigra-1.11.1-src-clean.tar.gz vigra-1.11.1/ Source0: %{name}-%{version}-src-clean.tar.gz Source1: vigra-config.sh +# Backported from upstream master, fixes a build failure: +# https://github.com/ukoethe/vigra/issues/414 +Patch0: https://github.com/ukoethe/vigra/commit/81958d302494e137f98a8b1d7869841532f90388.patch +# Avoid attempt to install non-free 'lenna' files +Patch1: vigra-1.10.0-no-lenna.patch +Patch2: vigra-1.11.1.docdir.patch URL: http://ukoethe.github.io/vigra/ BuildRequires: gcc-c++ zlib-devel libjpeg-devel libpng-devel libtiff-devel fftw-devel >= 3 BuildRequires: cmake boost-devel doxygen @@ -26,8 +32,6 @@ BuildRequires: python3-numpy-f2py boost-python3 %else Requires: python %endif -Patch2: vigra-1.10.0-no-lenna.patch -Patch3: vigra-1.11.1.docdir.patch %description VIGRA stands for "Vision with Generic Algorithms". It's a novel computer vision @@ -78,9 +82,7 @@ The python3-vigra package provides python 3 bindings for vigra %endif %prep -%setup -q -%patch2 -p1 -b .no-lenna -%patch3 -p1 +%autosetup -p1 %build # Will need to set LEMON_DIR to /usr/share/coin-or-lemon/cmake to compile WITH_LEMON