meshlab/snapcraft.yaml
2020-06-13 22:10:02 +02:00

116 lines
3.5 KiB
YAML

# Known to build in Ubuntu 18.04
name: meshlab
base: core18
version: '2020.06'
summary: MeshLab
description: |
The open source system for processing and editing 3D triangular meshes.
It provides a set of tools for editing, cleaning, healing, inspecting,
rendering, texturing and converting meshes. It offers features for processing
raw data produced by 3D digitization tools/devices and for preparing models
for 3D printing.
icon: meshlab.png
grade: stable
confinement: strict
apps:
meshlab:
command: desktop-launch meshlab
plugs: [home, x11, mir, opengl]
desktop: usr/share/applications/meshlab.desktop
meshlabserver:
command: desktop-launch meshlabserver
plugs: [home, x11, opengl]
parts:
desktop-qt5:
build-packages:
- build-essential
- qtbase5-dev
- dpkg-dev
make-parameters:
- FLAVOR=qt5
plugin: make
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-subdir: qt
stage-packages:
- libxkbcommon0
- ttf-ubuntu-font-family
- dmz-cursor-theme
- light-themes
- adwaita-icon-theme
- gnome-themes-standard
- shared-mime-info
- libqt5gui5
- libgdk-pixbuf2.0-0
- libqt5svg5
- try:
- appmenu-qt5
- locales-all
- xdg-user-dirs
- fcitx-frontend-qt5
meshlab:
after: [desktop-qt5]
plugin: qmake
qt-version: qt5
source: https://github.com/alemuntoni/meshlab.git
build-packages:
- qt5-default
- qttools5-dev-tools
- qtdeclarative5-dev
- libqt5xmlpatterns5-dev
- mesa-common-dev
- libglu1-mesa-dev
- lib3ds-dev
- libglew-dev
- libeigen3-dev
- libopenctm-dev
- libgmp-dev
- libqhull-dev
stage-packages:
- lib3ds-1-3
- libgomp1
- libopenctm1
- libqhull7
- libglew-dev
- libqt5opengl5-dev
- libqt5xmlpatterns5-dev
- libqt5gui5
override-build: |
qmake src/meshlab.pro "CONFIG+= system_eigen3 system_glew system_bzip2 system_openctm system_lib3ds"
make -j4
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/bin
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/lib/meshlab
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/applications
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/meshlab
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/doc/meshlab
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/icons
cd distrib
rm -r lib/macx64/
rm -r lib/win32-msvc/
rm -r lib/win32-msvc2008/
rm -r lib/win32-msvc2015/
rm -r lib/readme.txt
rm -r README.md
cp ../install/linux/resources/snap/meshlab.desktop $SNAPCRAFT_PART_INSTALL/usr/share/applications/
mv meshlab.png $SNAPCRAFT_PART_INSTALL/usr/share/icons/meshlab.png
mv meshlabserver $SNAPCRAFT_PART_INSTALL/usr/bin
mv meshlab $SNAPCRAFT_PART_INSTALL/usr/bin
mv LICENSE.txt $SNAPCRAFT_PART_INSTALL/usr/share/doc/meshlab/
mv privacy.txt $SNAPCRAFT_PART_INSTALL/usr/share/doc/meshlab/
mv readme.txt $SNAPCRAFT_PART_INSTALL/usr/share/doc/meshlab/
mv lib/libmeshlab-common* $SNAPCRAFT_PART_INSTALL/usr/lib/
mv plugins/ $SNAPCRAFT_PART_INSTALL/usr/lib/meshlab/
mv lib/linux/* $SNAPCRAFT_PART_INSTALL/usr/lib/meshlab/
mv shaders/ $SNAPCRAFT_PART_INSTALL/usr/share/meshlab/
#tmp: moving libIXF to bin directory
mv $SNAPCRAFT_PART_INSTALL/usr/lib/meshlab/libIFX* $SNAPCRAFT_PART_INSTALL/usr/bin/
mv $SNAPCRAFT_PART_INSTALL/usr/bin/libIFXCoreStatic.a $SNAPCRAFT_PART_INSTALL/usr/lib/meshlab/