
It was added in 3a3a2755b
as a potential way to export colorful meshes
to Horizon EDA but ended up being supported only by SolveSpace. Since no
software can consume the exported q3do files the feature is superfluous.
See https://github.com/solvespace/solvespace/issues/795 for details.
81 lines
2.9 KiB
YAML
81 lines
2.9 KiB
YAML
name: solvespace
|
|
base: core18
|
|
summary: Parametric 2d/3d CAD
|
|
adopt-info: solvespace
|
|
description: |
|
|
SOLVESPACE is a free (GPLv3) parametric 3d CAD tool.
|
|
Applications include
|
|
* modeling 3d parts — draw with extrudes, revolves, and Boolean (union / difference) operations
|
|
* modeling 2d parts — draw the part as a single section, and export DXF, PDF, SVG; use 3d assembly to verify fit
|
|
* 3d-printed parts — export the STL or other triangle mesh expected by most 3d printers
|
|
* preparing CAM data — export 2d vector art for a waterjet machine or laser cutter; or generate STEP or STL, for import into third-party CAM software for machining
|
|
* mechanism design — use the constraint solver to simulate planar or spatial linkages, with pin, ball, or slide joints
|
|
* plane and solid geometry — replace hand-solved trigonometry and spreadsheets with a live dimensioned drawing
|
|
|
|
confinement: strict
|
|
license: GPL-3.0
|
|
|
|
layout:
|
|
/usr/share/solvespace:
|
|
symlink: $SNAP/usr/share/solvespace
|
|
|
|
apps:
|
|
solvespace:
|
|
command: usr/bin/solvespace
|
|
desktop: solvespace.desktop
|
|
extensions: [gnome-3-34]
|
|
plugs: [opengl, unity7, home, removable-media, gsettings, network]
|
|
environment:
|
|
__EGL_VENDOR_LIBRARY_DIRS: $SNAP/gnome-platform/usr/share/glvnd/egl_vendor.d:$SNAP/usr/share/glvnd/egl_vendor.d
|
|
cli:
|
|
command: usr/bin/solvespace-cli
|
|
extensions: [gnome-3-34]
|
|
plugs: [home, removable-media, network]
|
|
|
|
parts:
|
|
solvespace:
|
|
plugin: cmake
|
|
source: ./solvespace-snap-src
|
|
source-type: local
|
|
override-pull: |
|
|
snapcraftctl pull
|
|
version_major=$(grep "solvespace_VERSION_MAJOR" CMakeLists.txt | tr -d "()" | cut -d" " -f2)
|
|
version_minor=$(grep "solvespace_VERSION_MINOR" CMakeLists.txt | tr -d "()" | cut -d" " -f2)
|
|
version="$version_major.$version_minor~$(git rev-parse --short=8 HEAD)"
|
|
snapcraftctl set-version "$version"
|
|
git describe --exact-match HEAD && grade="stable" || grade="devel"
|
|
snapcraftctl set-grade "$grade"
|
|
git submodule update --init extlib/libdxfrw extlib/mimalloc
|
|
configflags:
|
|
- -DCMAKE_INSTALL_PREFIX=/usr
|
|
- -DCMAKE_BUILD_TYPE=Release
|
|
- -DENABLE_TESTS=OFF
|
|
- -DSNAP=ON
|
|
- -DENABLE_OPENMP=ON
|
|
- -DENABLE_LTO=ON
|
|
build-packages:
|
|
- zlib1g-dev
|
|
- libpng-dev
|
|
- libfreetype6-dev
|
|
- libjson-c-dev
|
|
- libgl-dev
|
|
- libsigc++-2.0-dev
|
|
- libspnav-dev
|
|
- git
|
|
- g++
|
|
stage-packages:
|
|
- libspnav0
|
|
- libsigc++-2.0-0v5
|
|
|
|
cleanup:
|
|
after: [solvespace]
|
|
plugin: nil
|
|
build-snaps: [core18, gnome-3-34-1804]
|
|
override-prime: |
|
|
# Remove all files from snap that are already included in the base snap or in
|
|
# any connected content snaps
|
|
set -eux
|
|
for snap in "core18" "gnome-3-34-1804"; do # List all content-snaps and base snaps you're using here
|
|
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" \;
|
|
done
|