[packages/vigra] - added multi_convolution patch from Fedora; release 2

qboosh qboosh at pld-linux.org
Mon Apr 29 20:29:10 CEST 2019


commit 70a5ae2efc6cefed14812b9f60b877c8063959a0
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Apr 29 20:29:26 2019 +0200

    - added multi_convolution patch from Fedora; release 2

 vigra-multi_convolution.patch | 139 ++++++++++++++++++++++++++++++++++++++++++
 vigra.spec                    |   5 +-
 2 files changed, 143 insertions(+), 1 deletion(-)
---
diff --git a/vigra.spec b/vigra.spec
index ca1fffa..5795dfb 100644
--- a/vigra.spec
+++ b/vigra.spec
@@ -3,7 +3,7 @@ Summary:	Generic Programming for Computer Vision
 Summary(pl.UTF-8):	Ogólne programowanie obrazu komputerowego
 Name:		vigra
 Version:	1.11.1
-Release:	1
+Release:	2
 License:	MIT
 Group:		Libraries
 #Source0Download: http://ukoethe.github.io/vigra/#download
@@ -11,6 +11,8 @@ Source0:	https://github.com/ukoethe/vigra/releases/download/Version-1-11-1/%{nam
 # Source0-md5:	e72faf9fb82fa71fa63ba064bb63b703
 Patch0:		python-install.patch
 Patch1:		boost-python.patch
+# https://src.fedoraproject.org/rpms/vigra/raw/master/f/81958d302494e137f98a8b1d7869841532f90388.patch
+Patch2:		%{name}-multi_convolution.patch
 URL:		http://ukoethe.github.io/vigra/
 BuildRequires:	OpenEXR-devel
 BuildRequires:	boost-python-devel >= 1.40.0
@@ -111,6 +113,7 @@ Dokumentacja programisty do biblioteki vigra.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 %cmake . \
diff --git a/vigra-multi_convolution.patch b/vigra-multi_convolution.patch
new file mode 100644
index 0000000..88ed61e
--- /dev/null
+++ b/vigra-multi_convolution.patch
@@ -0,0 +1,139 @@
+From 81958d302494e137f98a8b1d7869841532f90388 Mon Sep 17 00:00:00 2001
+From: JaimeIvanCervantes <jimmycc80 at hotmail.com>
+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<N, T1, S1> const & source,
+                   class T2, class S2>
+         void
+         gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source,
+-                                   MultiArrayView<N, TinyVector<T2, N>, S2> dest,
++                                   MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest,
+                                    double sigma,
+                                    ConvolutionOptions<N> opt = ConvolutionOptions<N>());
+ 
+@@ -1435,7 +1435,7 @@ gaussianSmoothMultiArray(MultiArrayView<N, T1, S1> const & source,
+                                   class T2, class S2>
+         void
+         gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source,
+-                                   MultiArrayView<N, TinyVector<T2, N>, S2> dest,
++                                   MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest,
+                                    ConvolutionOptions<N> opt);
+ 
+         // likewise, but execute algorithm in parallel
+@@ -1443,7 +1443,7 @@ gaussianSmoothMultiArray(MultiArrayView<N, T1, S1> const & source,
+                                   class T2, class S2>
+         void
+         gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source,
+-                                   MultiArrayView<N, TinyVector<T2, N>, S2> dest,
++                                   MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest,
+                                    BlockwiseConvolutionOptions<N> opt);
+     }
+     \endcode
+@@ -1590,7 +1590,7 @@ template <unsigned int N, class T1, class S1,
+                           class T2, class S2>
+ inline void
+ gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source,
+-                           MultiArrayView<N, TinyVector<T2, N>, S2> dest,
++                           MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest,
+                            ConvolutionOptions<N> opt )
+ {
+     if(opt.to_point != typename MultiArrayShape<N>::type())
+@@ -1614,7 +1614,7 @@ template <unsigned int N, class T1, class S1,
+           class T2, class S2>
+ inline void
+ gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source,
+-                           MultiArrayView<N, TinyVector<T2, N>, S2> dest,
++                           MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest,
+                            double sigma,
+                            ConvolutionOptions<N> opt = ConvolutionOptions<N>())
+ {
+@@ -1653,7 +1653,7 @@ gaussianGradientMagnitudeImpl(MultiArrayView<N+1, T1, S1> const & src,
+     dest.init(0.0);
+ 
+     typedef typename NumericTraits<T1>::RealPromote TmpType;
+-    MultiArray<N, TinyVector<TmpType, N> > grad(dest.shape());
++    MultiArray<N, TinyVector<TmpType, int(N)> > grad(dest.shape());
+ 
+     using namespace multi_math;
+ 
+@@ -1771,7 +1771,7 @@ gaussianGradientMagnitude(MultiArrayView<N+1, Multiband<T1>, S1> const & src,
+                                   class T2, class S2>
+         void
+         symmetricGradientMultiArray(MultiArrayView<N, T1, S1> const & source,
+-                                    MultiArrayView<N, TinyVector<T2, N>, S2> dest,
++                                    MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest,
+                                     ConvolutionOptions<N> opt = ConvolutionOptions<N>());
+ 
+         // execute algorithm in parallel
+@@ -1779,7 +1779,7 @@ gaussianGradientMagnitude(MultiArrayView<N+1, Multiband<T1>, S1> const & src,
+                                   class T2, class S2>
+         void
+         symmetricGradientMultiArray(MultiArrayView<N, T1, S1> const & source,
+-                                    MultiArrayView<N, TinyVector<T2, N>, S2> dest,
++                                    MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest,
+                                     BlockwiseConvolutionOptions<N> opt);
+     }
+     \endcode
+@@ -1895,7 +1895,7 @@ template <unsigned int N, class T1, class S1,
+                           class T2, class S2>
+ inline void
+ symmetricGradientMultiArray(MultiArrayView<N, T1, S1> const & source,
+-                            MultiArrayView<N, TinyVector<T2, N>, S2> dest,
++                            MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest,
+                             ConvolutionOptions<N> opt = ConvolutionOptions<N>())
+ {
+     if(opt.to_point != typename MultiArrayShape<N>::type())
+@@ -2214,14 +2214,14 @@ laplacianOfGaussianMultiArray(MultiArrayView<N, T1, S1> const & source,
+         template <unsigned int N, class T1, class S1,
+                                   class T2, class S2>
+         void
+-        gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField,
++        gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField,
+                                      MultiArrayView<N, T2, S2> divergence,
+                                      ConvolutionOptions<N> const & opt);
+ 
+         template <unsigned int N, class T1, class S1,
+                                   class T2, class S2>
+         void
+-        gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField,
++        gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField,
+                                      MultiArrayView<N, T2, S2> divergence,
+                                      double sigma,
+                                      ConvolutionOptions<N> opt = ConvolutionOptions<N>());
+@@ -2231,7 +2231,7 @@ laplacianOfGaussianMultiArray(MultiArrayView<N, T1, S1> const & source,
+         template <unsigned int N, class T1, class S1,
+                                   class T2, class S2>
+         void
+-        gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField,
++        gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField,
+                                      MultiArrayView<N, T2, S2> divergence,
+                                      BlockwiseConvolutionOptions<N> const & opt);
+     }
+@@ -2324,7 +2324,7 @@ gaussianDivergenceMultiArray(Iterator vectorField, Iterator vectorFieldEnd,
+ template <unsigned int N, class T1, class S1,
+                           class T2, class S2>
+ inline void
+-gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField,
++gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField,
+                              MultiArrayView<N, T2, S2> divergence,
+                              ConvolutionOptions<N> const & opt)
+ {
+@@ -2338,7 +2338,7 @@ gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & ve
+ template <unsigned int N, class T1, class S1,
+                           class T2, class S2>
+ inline void
+-gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField,
++gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField,
+                              MultiArrayView<N, T2, S2> divergence,
+                              double sigma,
+                              ConvolutionOptions<N> opt = ConvolutionOptions<N>())
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/vigra.git/commitdiff/70a5ae2efc6cefed14812b9f60b877c8063959a0



More information about the pld-cvs-commit mailing list