From d67c27923d04606eb3e23b1fc99fe04966aea895 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Wed, 4 Aug 2021 19:01:23 +0000 Subject: [PATCH] community/vigra to 1.11.1.r45+g8acd73a5-2 --- community/vigra/PKGBUILD | 92 +++++------- ...ix-incorrect-template-parameter-type.patch | 139 ------------------ community/vigra/py3.7.diff | 19 --- 3 files changed, 35 insertions(+), 215 deletions(-) delete mode 100644 community/vigra/fix-incorrect-template-parameter-type.patch delete mode 100644 community/vigra/py3.7.diff diff --git a/community/vigra/PKGBUILD b/community/vigra/PKGBUILD index d8208440b..f33c37e87 100644 --- a/community/vigra/PKGBUILD +++ b/community/vigra/PKGBUILD @@ -5,77 +5,55 @@ # ALARM: Kevin Mihelich # - build v5 with -DCMAKE_CXX_FLAGS=-std=c++11 -DWITH_BOOST_THREAD=1 to fix FTBFS -pkgbase=vigra -pkgname=(vigra vigra-doc) -pkgver=1.11.1 -pkgrel=35 +pkgname=vigra +pkgver=1.11.1.r45+g8acd73a5 +pkgrel=2 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) +depends=(libpng libtiff openexr gcc-libs sh hdf5 fftw) +makedepends=(git 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 +optdepends=('python: for python bindings' + 'boost-libs: for python bindings') +source=(git+https://github.com/ukoethe/vigra#commit=8acd73a5e0408326e2a3c1ed1c2c70ffe2b954d0 vigra-openexr3.patch) -sha256sums=('a5564e1083f6af6a885431c1ee718bad77d11f117198b277557f8558fa461aaf' - 'f151f902483dfa2b1f3d431f54bb161300cf184158c9f416fa653d19ab363cc4' - '8fcdcce50c377be44387cbd4a001dadf5e03b32483de55c05a359c887e95a05b' - '2572717e39f916c7c463b8f49306b683c5923906be2721f7da181c58b3a2b34b') +sha256sums=(SKIP + 2572717e39f916c7c463b8f49306b683c5923906be2721f7da181c58b3a2b34b) + +pkgver() { + cd ${pkgname} + git describe --long --tags | sed 's/^Version-//;s/\([^-]*-g\)/r\1/;s/-/./g;s/\.g/+g/' +} 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 + cd ${pkgbase} + # Fix build with openexr 3 + patch -p1 < ../vigra-openexr3.patch } 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" \ - $([ $CARCH == arm ] && echo "-DCMAKE_CXX_FLAGS=-std=c++11 -DWITH_BOOST_THREAD=1") + cmake -B build -S ${pkgbase} \ + -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" \ + $([ $CARCH == arm ] && echo "-DCMAKE_CXX_FLAGS=-std=c++11 -DWITH_BOOST_THREAD=1") 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') +# Numerous failures, upstream almost dead +# https://github.com/ukoethe/vigra/issues/409 +# https://github.com/ukoethe/vigra/issues/491 +#check() { +# make -C build -j1 -k check +#} +package() { 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}/ + install -Dm644 ${pkgbase}/LICENSE.txt -t "${pkgdir}"/usr/share/licenses/${pkgname}/ } diff --git a/community/vigra/fix-incorrect-template-parameter-type.patch b/community/vigra/fix-incorrect-template-parameter-type.patch deleted file mode 100644 index 88ed61ee3..000000000 --- a/community/vigra/fix-incorrect-template-parameter-type.patch +++ /dev/null @@ -1,139 +0,0 @@ -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/community/vigra/py3.7.diff b/community/vigra/py3.7.diff deleted file mode 100644 index 498713748..000000000 --- a/community/vigra/py3.7.diff +++ /dev/null @@ -1,19 +0,0 @@ -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 - } -