diff --git a/community/vigra/PKGBUILD b/community/vigra/PKGBUILD index 505a97fde..535bb5272 100644 --- a/community/vigra/PKGBUILD +++ b/community/vigra/PKGBUILD @@ -9,21 +9,26 @@ pkgbase=vigra pkgname=('vigra' 'vigra-doc') pkgver=1.11.1 -pkgrel=6 +pkgrel=8 pkgdesc="Computer vision library" arch=('x86_64') url="https://ukoethe.github.io/vigra/" license=('custom:MIT') makedepends=(# runtime deps 'libpng' 'libtiff' 'openexr' 'gcc-libs' 'sh' 'hdf5' 'fftw' - # additional makedeps + # additional makedeps 'cmake' 'boost' 'python-numpy') checkdepends=('python-nose') -source=("https://github.com/ukoethe/vigra/releases/download/Version-${pkgver//./-}/vigra-${pkgver}-src.tar.gz") -sha256sums=('a5564e1083f6af6a885431c1ee718bad77d11f117198b277557f8558fa461aaf') +source=("https://github.com/ukoethe/vigra/releases/download/Version-${pkgver//./-}/vigra-${pkgver}-src.tar.gz" + 'fix-incorrect-template-parameter-type.patch') +sha256sums=('a5564e1083f6af6a885431c1ee718bad77d11f117198b277557f8558fa461aaf' + 'f151f902483dfa2b1f3d431f54bb161300cf184158c9f416fa653d19ab363cc4') prepare() { mkdir -p build + cd ${pkgbase}-${pkgver} + # https://github.com/ukoethe/vigra/issues/414 + patch -Np1 -i ../fix-incorrect-template-parameter-type.patch } build() { diff --git a/community/vigra/fix-incorrect-template-parameter-type.patch b/community/vigra/fix-incorrect-template-parameter-type.patch new file mode 100644 index 000000000..88ed61ee3 --- /dev/null +++ b/community/vigra/fix-incorrect-template-parameter-type.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())