mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
community/vigra to 1.11.1.r45+g8acd73a5-2
This commit is contained in:
parent
812ee5dcf4
commit
d67c27923d
3 changed files with 35 additions and 215 deletions
|
@ -5,77 +5,55 @@
|
|||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - 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}/
|
||||
}
|
||||
|
|
|
@ -1,139 +0,0 @@
|
|||
From 81958d302494e137f98a8b1d7869841532f90388 Mon Sep 17 00:00:00 2001
|
||||
From: JaimeIvanCervantes <jimmycc80@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>())
|
|
@ -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
|
||||
}
|
||||
|
Loading…
Reference in a new issue