summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 24faaf6aa47d6b8a462e19a0eab1cb4a5236431e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
pkgname=mingw-w64-ilmbase
pkgver=2.2.1
pkgrel=1
pkgdesc="Base libraries from ILM for OpenEXR (mingw-w64)"
arch=(any)
url="http://www.openexr.com"
license=('custom')
depends=("mingw-w64-crt")
makedepends=("mingw-w64-cmake")
options=('!buildflags' '!strip' 'staticlibs')
source=("http://download.savannah.nongnu.org/releases/openexr/ilmbase-$pkgver.tar.gz")
sha256sums=('cac206e63be68136ef556c2b555df659f45098c159ce24804e9d5e9e0286609e')

_architectures="i686-w64-mingw32 x86_64-w64-mingw32"

prepare() {
  cd "${srcdir}/ilmbase-$pkgver"
  sed -i "s|COMMAND eLut >|COMMAND touch|g" Half/CMakeLists.txt
  sed -i "s|COMMAND toFloat >|COMMAND touch|g" Half/CMakeLists.txt

  # useless test, besides g++ segfaults at testeuler.cpp
  sed -i "/ADD_SUBDIRECTORY ( ImathTest )/d" CMakeLists.txt

  # no clue how to fix this one properly
  #grep -lr LDBL_EPSILON Imath | xargs sed -i "s|LDBL_EPSILON|1.08420217248550443401e-19L|g"
  #grep -lr DBL_EPSILON Imath | xargs sed -i "s|DBL_EPSILON|2.2204460492503131E-16|g"
  #grep -lr FLT_EPSILON Imath | xargs sed -i "s|FLT_EPSILON|1.19209290E-07F|g"
}

build() {
  cd "${srcdir}/ilmbase-$pkgver"
  for _arch in ${_architectures}; do
    mkdir -p build-${_arch} && pushd build-${_arch}
    ${_arch}-cmake -DNAMESPACE_VERSIONING=OFF ..
    g++ -o Half/eLut ../Half/eLut.cpp
    g++ -o Half/toFloat ../Half/toFloat.cpp
    ./Half/eLut > ./Half/eLut.h
    ./Half/toFloat > ./Half/toFloat.h
    make
    popd
  done
}


package() {
  for _arch in ${_architectures}; do
    cd "${srcdir}/ilmbase-$pkgver/build-${_arch}"
    make DESTDIR="${pkgdir}" install
    install -d "$pkgdir"/usr/${_arch}/bin
    mv "$pkgdir"/usr/${_arch}/lib/*.dll "$pkgdir"/usr/${_arch}/bin
    ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
    ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a  
  done
}