[arch-commits] Commit in vigra/repos (5 files)

Felix Yan felixonmars at archlinux.org
Tue Jun 8 17:26:47 UTC 2021


    Date: Tuesday, June 8, 2021 @ 17:26:47
  Author: felixonmars
Revision: 959723

archrelease: copy trunk to community-staging-x86_64

Added:
  vigra/repos/community-staging-x86_64/
  vigra/repos/community-staging-x86_64/PKGBUILD
    (from rev 959722, vigra/trunk/PKGBUILD)
  vigra/repos/community-staging-x86_64/fix-incorrect-template-parameter-type.patch
    (from rev 959722, vigra/trunk/fix-incorrect-template-parameter-type.patch)
  vigra/repos/community-staging-x86_64/py3.7.diff
    (from rev 959722, vigra/trunk/py3.7.diff)
  vigra/repos/community-staging-x86_64/vigra-openexr3.patch
    (from rev 959722, vigra/trunk/vigra-openexr3.patch)

---------------------------------------------+
 PKGBUILD                                    |   77 ++++++++++++++
 fix-incorrect-template-parameter-type.patch |  139 ++++++++++++++++++++++++++
 py3.7.diff                                  |   19 +++
 vigra-openexr3.patch                        |   21 +++
 4 files changed, 256 insertions(+)

Copied: vigra/repos/community-staging-x86_64/PKGBUILD (from rev 959722, vigra/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2021-06-08 17:26:47 UTC (rev 959723)
@@ -0,0 +1,77 @@
+# Maintainer: Bruno Pagani <archange at archlinux.org>
+# Contributor: AndyRTR <andyrtr at archlinux.org>
+# Contributor: Lukas Jirkovsky <l.jirkovsky at gmail.com>
+
+pkgbase=vigra
+pkgname=(vigra vigra-doc)
+pkgver=1.11.1
+pkgrel=33
+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
+             cmake boost python-numpy)
+checkdepends=(python-nose)
+source=("https://github.com/ukoethe/vigra/releases/download/Version-${pkgver//./-}/vigra-${pkgver}-src.tar.gz"
+        fix-incorrect-template-parameter-type.patch py3.7.diff
+        vigra-openexr3.patch)
+sha256sums=('a5564e1083f6af6a885431c1ee718bad77d11f117198b277557f8558fa461aaf'
+            'f151f902483dfa2b1f3d431f54bb161300cf184158c9f416fa653d19ab363cc4'
+            '8fcdcce50c377be44387cbd4a001dadf5e03b32483de55c05a359c887e95a05b'
+            '2572717e39f916c7c463b8f49306b683c5923906be2721f7da181c58b3a2b34b')
+
+prepare() {
+  cd ${pkgbase}-${pkgver}
+  # https://github.com/ukoethe/vigra/issues/414
+  patch -Np1 -i ../fix-incorrect-template-parameter-type.patch
+  # python 3.7 compat
+  patch -Np1 -i ../py3.7.diff
+  patch -p1 < ../vigra-openexr3.patch # Fix build with openexr 3
+}
+
+build() {
+  cmake -B build -S ${pkgbase}-${pkgver} \
+      -DCMAKE_INSTALL_PREFIX=/usr \
+      -DPYTHON_EXECUTABLE=/usr/bin/python \
+      -DWITH_OPENEXR=true \
+      -DWITH_VIGRANUMPY=1 \
+      -DDOCINSTALL=share/doc \
+      -DCMAKE_C_FLAGS="-DH5_USE_110_API" \
+      -DCMAKE_CXX_FLAGS="-DH5_USE_110_API"
+  make -C build
+}
+
+check() {
+  make -C build -j1 -k check || echo "Tests failed" # https://github.com/ukoethe/vigra/issues/409
+}
+
+package_vigra() {
+  pkgdesc="Computer vision library"
+  depends=(libpng libtiff openexr gcc-libs sh hdf5 fftw)
+  optdepends=('python: for python bindings'
+              'boost-libs: for python bindings')
+
+  make -C build DESTDIR="${pkgdir}" install
+
+  install -Dm644 ${pkgbase}-${pkgver}/LICENSE.txt -t "${pkgdir}"/usr/share/licenses/${pkgname}/
+  
+  # Remove doc
+  rm -r "${pkgdir}"/usr/share/doc
+}
+
+package_vigra-doc() {
+  pkgdesc="Computer vision library - documentation and examples"
+  #arch=('any') # Not supported for now, maybe later
+
+  make -C build DESTDIR="${pkgdir}" install
+
+  # Remove vigra package content
+  rm -r "${pkgdir}"/usr/{bin,include,lib}
+  # Remove doctrees https://github.com/ukoethe/vigra/pull/477
+  rm -r "${pkgdir}"/usr/share/doc/vigranumpy/doctrees/
+
+  install -Dm644 ${pkgbase}-${pkgver}/LICENSE.txt -t "${pkgdir}"/usr/share/licenses/${pkgname}/
+}

Copied: vigra/repos/community-staging-x86_64/fix-incorrect-template-parameter-type.patch (from rev 959722, vigra/trunk/fix-incorrect-template-parameter-type.patch)
===================================================================
--- community-staging-x86_64/fix-incorrect-template-parameter-type.patch	                        (rev 0)
+++ community-staging-x86_64/fix-incorrect-template-parameter-type.patch	2021-06-08 17:26:47 UTC (rev 959723)
@@ -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>())

Copied: vigra/repos/community-staging-x86_64/py3.7.diff (from rev 959722, vigra/trunk/py3.7.diff)
===================================================================
--- community-staging-x86_64/py3.7.diff	                        (rev 0)
+++ community-staging-x86_64/py3.7.diff	2021-06-08 17:26:47 UTC (rev 959723)
@@ -0,0 +1,19 @@
+diff -u -r vigra-1.11.1/vigranumpy/src/core/vigranumpycore.cxx vigra-1.11.1-py3.7/vigranumpy/src/core/vigranumpycore.cxx
+--- vigra-1.11.1/vigranumpy/src/core/vigranumpycore.cxx	2017-05-19 17:01:08.000000000 +0200
++++ vigra-1.11.1-py3.7/vigranumpy/src/core/vigranumpycore.cxx	2018-07-29 18:29:46.514547076 +0200
+@@ -59,10 +59,14 @@
+ 	Py_ssize_t size = PyUnicode_GET_DATA_SIZE(s.ptr());
+ 	const char * data = PyUnicode_AS_DATA(s.ptr());
+ 	return checksum(data, size);
+-#else
++#elif (PY_MAJOR_VERSION == 3) && (PY_MINOR_VERSION < 7)
+ 	Py_ssize_t size = 0;
+ 	char * data = PyUnicode_AsUTF8AndSize(s.ptr(), &size);
+ 	return checksum(data, size);
++#else
++	Py_ssize_t size = 0;
++	const char * data = PyUnicode_AsUTF8AndSize(s.ptr(), &size);
++	return checksum(data, size);
+ #endif
+ }
+ 

Copied: vigra/repos/community-staging-x86_64/vigra-openexr3.patch (from rev 959722, vigra/trunk/vigra-openexr3.patch)
===================================================================
--- community-staging-x86_64/vigra-openexr3.patch	                        (rev 0)
+++ community-staging-x86_64/vigra-openexr3.patch	2021-06-08 17:26:47 UTC (rev 959723)
@@ -0,0 +1,21 @@
+diff --git a/config/FindOpenEXR.cmake b/config/FindOpenEXR.cmake
+index ef36cdbf..0423e247 100644
+--- a/config/FindOpenEXR.cmake
++++ b/config/FindOpenEXR.cmake
+@@ -23,6 +23,16 @@
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 
++find_package(OpenEXR 3.0 CONFIG QUIET)
++if(TARGET OpenEXR::OpenEXR)
++    find_package(Threads)
++    SET(OPENEXR_FOUND TRUE)
++    SET(OPENEXR_INCLUDE_DIR OpenEXR::OpenEXR)
++    SET(OPENEXR_LIBRARIES OpenEXR::OpenEXR)
++    SET(OPENEXR_VERSION ${OpenEXR_VERSION})
++    return()
++endif()
++
+ FIND_PATH(OPENEXR_INCLUDE_DIR ImfRgbaFile.h PATH_SUFFIXES OpenEXR)
+ 
+ FOREACH(V "" -2_2 -2_1 -2_0 -1_7)



More information about the arch-commits mailing list