# Note: depends on qtbase
# Note: depends on qtscript
# Note: depends on patch
# Note: depends on mpir
# Note: depends on qtxmlpatterns
# Note: depends on glu
wget -c https://github.com/cnr-isti-vclab/meshlab/archive/v2016.12/meshlab-2016.12.tar.gz
tar -xzf meshlab-2016.12.tar.gz
cd meshlab-2016.12
rm -rf src/external/lib # Ditch bundled binaries
wget -c https://github.com/cnr-isti-vclab/vcglib/archive/v1.0.1/vcglib-1.0.1.tar.gz
tar -xzf vcglib-1.0.1.tar.gz
mv vcglib-1.0.1 vcglib
sed -i -e 's/<QScript.*>/<QtScript>/' src/meshlab/xmlgeneratorgui.h src/meshlabplugins/filter_photosynth/synthData.h src/meshlabplugins/filter_photosynth/downloader.cpp src/plugins_experimental/filter_sketchfab/filter_sketchfab.cpp
echo 'VCGDIR = ../../vcglib' >> src/general.pri
sed -i -e 's@/../vcglib@/vcglib@g' src/*/*/*.pro
# Arch users already made a lot of the fixes
wget -c -O bzip2.patch "https://aur.archlinux.org/cgit/aur.git/plain/bzip2.patch?h=meshlab"
wget -c -O import_bundle_out.patch "https://aur.archlinux.org/cgit/aur.git/plain/import_bundle_out.patch?h=meshlab"
wget -c -O mpir.patch "https://aur.archlinux.org/cgit/aur.git/plain/mpir.patch?h=meshlab"
wget -c -O plugin_dir.patch "https://aur.archlinux.org/cgit/aur.git/plain/plugin_dir.patch?h=meshlab"
wget -c -O qt5.11.patch "https://aur.archlinux.org/cgit/aur.git/plain/qt5.11.patch?h=meshlab"
wget -c -O rpath.patch "https://aur.archlinux.org/cgit/aur.git/plain/rpath.patch?h=meshlab"
wget -c -O screened_poisson.patch "https://aur.archlinux.org/cgit/aur.git/plain/screened_poisson.patch?h=meshlab"
wget -c -O shaders_dir.patch "https://aur.archlinux.org/cgit/aur.git/plain/shaders_dir.patch?h=meshlab"
patch -p1 < bzip2.patch
patch -p0 < import_bundle_out.patch
patch -p1 < mpir.patch
patch -p1 < plugin_dir.patch
patch -p1 < qt5.11.patch
patch -p1 < rpath.patch
patch -p1 < screened_poisson.patch
patch -p1 < shaders_dir.patch
mv src/plugins_experimental/io_TXT/io_txt.pro src/plugins_experimental/io_TXT/io_TXT.pro
cd src/external
qmake external.pro
make # Doesn't mind -j#
cd ..
qmake meshlab_full.pro
make # Doesn't mind -j#
install -D -t /usr/bin distrib/meshlab distrib/meshlabserver
install -D -t /usr/lib/meshlab distrib/lib*
install -D -t /usr/lib/meshlab/plugins distrib/plugins/*.so
install -D -t /usr/share/meshlab/shaders distrib/shaders/*.*