summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: b1bec79d2d3e24efa47e45a147231e01aa61fba4 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Maintainer: bartus <aur@bartus.33mail.com>
pkgname=meshlab
pkgver=2016.12
pkgrel=5
pkgdesc="System for processing and editing of unstructured 3D models arising in 3D scanning (qt5 version)"
arch=('i686' 'x86_64')
url="http://www.meshlab.net"
provides=('meshlab')
license=('GPL2')
depends=('bzip2' 'muparser' 'levmar' 'lib3ds' 'desktop-file-utils' 'glu' 'mpir' 'openssl-1.0' 'qt5-base' 'qt5-declarative' 'qt5-script')
makedepends=('git')
#also create openctm(aur) jhead-lib structuresynth-lib to handle last dep
install="${pkgname}.install"
source=("git+https://github.com/cnr-isti-vclab/meshlab.git#tag=v2016.12"
        "git+https://github.com/cnr-isti-vclab/vcglib.git#tag=v1.0.1"
        "ssynth.patch"
        "screened_poisson.patch"
        "plugin_dir.patch"
        "shaders_dir.patch"
        "external.patch"
        "3ds.patch"
        "levmar.patch"
        "muparser.patch"
        "bzip2.patch"
        "meshlabserver_GLU.patch"
        "cpp11_abs.patch"
        "fix_locale.patch"
        "mpir.patch"
        "rpath.patch"
        "import_bundle_out.patch"
        "meshlab.desktop")
md5sums=('SKIP'
         'SKIP'
         'fcf9148ad21706f4fef558a254bee4e2'
         'd9c9e9160ee16694a225819ee4598be4'
         'f13d58ca07fa74b3d7c8f7f9d4ee6a93'
         '753dd4753081ddb428f4db8eaefe9009'
         '038494125d7bd422074fc5635c5579ca'
         'e51b027eb9d78b82de73c4724b3928cf'
         '1a53a92e12f74520b36e38d9a2311834'
         '64caafa96bef4208d641e889099eba26'
         '616b0dcf018f46a490867028d6ddc533'
         'ca962601b06fac1fb2b6bf0b408777ad'
         'c1cfb910d20db49ec195d9918036e3c3'
         '5b59b23cf66e42f8b3d3eabe466b3eaa'
         '5df295c21de5bac8d6073528823d975a'
         '78bf780b3353fe212a77eb91db6f6b6c'
         '765a59b64dd05b74f6a4bdf3962a1d93'
         '18aed0a21276a22325bf8c32166fb110')

prepare() {
  cd ${srcdir}/${pkgname}

  # remove bundled headers and libraries
  rm -fr src/external/{inc,lib}

  msg "truncate external lib"
  patch -Np1 -i ../external.patch
  msg "fix rpath"
  patch -Np1 -i ../rpath.patch
  msg "fix meshlab/src/plugins_experimental/io_TXT/ case sensitive path"
  mv src/plugins_experimental/io_TXT/io_txt.pro src/plugins_experimental/io_TXT/io_TXT.pro
  msg "fix meshalbserver missing -lGLU"
  patch -Np1 -i ../meshlabserver_GLU.patch
  msg "fix cpp11 abs()"
  patch -Np1 -i ../cpp11_abs.patch
  msg "fix decimal separator problem"
  patch -Np1 -i ../fix_locale.patch
  msg "using system mpir lib"
  patch -Np1 -i ../mpir.patch
  msg "using system bzip2 lib"
  patch -Np1 -i ../bzip2.patch
  msg "using system muparser lib"
  patch -Np1 -i ../muparser.patch
  msg "using system levmar lib"
  patch -Np1 -i ../levmar.patch
  msg "using system 3ds lib"
  patch -Np1 -i ../3ds.patch
  msg "move plugins to /usr/lib/plugins"
  patch -Np1 -i ../plugin_dir.patch
  msg "move shaders to /usr/share/meshlab/shaders"
  patch -Np1 -i ../shaders_dir.patch
  msg "fix screened poisson linux compilation"
  patch -Np1 -i ../screened_poisson.patch
  msg "compile ssynth with -fopenmp flag"
  patch -Np1 -i ../ssynth.patch
  msg "fix bundel/nvm ReadHeader"
  cd ${srcdir}/vcglib
  patch -Np1 -i ../import_bundle_out.patch
}

build() {
  cd "${srcdir}/meshlab/src"

  msg "build external libraries"
  cd external
  qmake external.pro -r 
  make

  msg "build meshlab"
  cd ..
  qmake meshlab_full.pro -r 
  make
}

package() {
  cd "${srcdir}/meshlab/src/distrib"

  # install meshlab
  install -d -m755 ${pkgdir}/usr/bin
  install -d -m755 ${pkgdir}/usr/lib/meshlab
  install -d -m755 ${pkgdir}/usr/share/meshlab
  install -t ${pkgdir}/usr/bin meshlab*
  install -t ${pkgdir}/usr/lib/meshlab libcommon*

  cp -a plugins  ${pkgdir}/usr/lib/meshlab
  cp -a shaders  ${pkgdir}/usr/share/meshlab
  cp -a textures ${pkgdir}/usr/share/meshlab
  cp -a sample   ${pkgdir}/usr/share/meshlab



  # install man pages
  install -d -m755 "${pkgdir}/usr/share/man/man1"
  install -m644 "${srcdir}/meshlab/docs/meshlab.1" "${pkgdir}"/usr/share/man/man1
  install -m644 "${srcdir}/meshlab/docs/meshlabserver.1" "${pkgdir}"/usr/share/man/man1

  # install icons
  install -d -m755 "${pkgdir}/usr/share/pixmaps"
  install -m644 "${srcdir}/meshlab/src/meshlab/images/eye_cropped.png" "${pkgdir}/usr/share/pixmaps/meshlab.png"

  # install desktop entry
  install -d -m755 "${pkgdir}/usr/share/applications"
  install -m644 "${srcdir}/meshlab.desktop" "${pkgdir}/usr/share/applications"
  sed -i "s#Version=.*#Version=$pkgver#" "${pkgdir}/usr/share/applications/meshlab.desktop"
}

# vim:set ts=2 sw=2 et: