Date: Tuesday, May 18, 2021 @ 07:47:46 Author: foutrelis Revision: 936194
archrelease: copy trunk to community-staging-x86_64 Added: vigra/repos/community-staging-x86_64/ vigra/repos/community-staging-x86_64/PKGBUILD (from rev 936193, vigra/trunk/PKGBUILD) vigra/repos/community-staging-x86_64/fix-incorrect-template-parameter-type.patch (from rev 936193, vigra/trunk/fix-incorrect-template-parameter-type.patch) vigra/repos/community-staging-x86_64/py3.7.diff (from rev 936193, vigra/trunk/py3.7.diff) vigra/repos/community-staging-x86_64/vigra-openexr3.patch (from rev 936193, 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 936193, vigra/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2021-05-18 07:47:46 UTC (rev 936194) @@ -0,0 +1,77 @@ +# Maintainer: Bruno Pagani <archa...@archlinux.org> +# Contributor: AndyRTR <andy...@archlinux.org> +# Contributor: Lukas Jirkovsky <l.jirkov...@gmail.com> + +pkgbase=vigra +pkgname=(vigra vigra-doc) +pkgver=1.11.1 +pkgrel=32 +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 936193, 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-05-18 07:47:46 UTC (rev 936194) @@ -0,0 +1,139 @@ +From 81958d302494e137f98a8b1d7869841532f90388 Mon Sep 17 00:00:00 2001 +From: JaimeIvanCervantes <jimmyc...@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 936193, vigra/trunk/py3.7.diff) =================================================================== --- community-staging-x86_64/py3.7.diff (rev 0) +++ community-staging-x86_64/py3.7.diff 2021-05-18 07:47:46 UTC (rev 936194) @@ -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 936193, vigra/trunk/vigra-openexr3.patch) =================================================================== --- community-staging-x86_64/vigra-openexr3.patch (rev 0) +++ community-staging-x86_64/vigra-openexr3.patch 2021-05-18 07:47:46 UTC (rev 936194) @@ -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)