1
0
Fork 0
inkscape/snap/snapcraft.yaml
Daniel Baumann 02d935e272
Adding upstream version 1.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 23:40:13 +02:00

226 lines
6.1 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-or-later
name: inkscape
adopt-info: inkscape
license: GPL-3.0
confinement: strict
base: core22
compression: lzo
plugs:
dot-config-inkscape:
interface: personal-files
write: [ $HOME/.config/inkscape ]
gtk-3-themes:
interface: content
target: $SNAP/data-dir/themes
default-provider: gtk-common-themes
icon-themes:
interface: content
target: $SNAP/data-dir/icons
default-provider: gtk-common-themes
slots:
inkscape-dbus:
interface: dbus
bus: session
name: org.inkscape.Inkscape
assumes: [ command-chain ]
parts:
inkscape:
plugin: cmake
source: .
cmake-parameters:
- '-DCMAKE_INSTALL_PREFIX='
build-packages:
- build-essential
- cmake
- g++
- libart-2.0-dev
- libboost-all-dev
- libcdr-dev
- libdouble-conversion-dev
- libgc-dev
- libglib2.0-dev
- libgsl-dev
- libgspell-1-dev
- libgtk-3-dev
- libgtkmm-3.0-dev
- libgtksourceview-4-dev
- libharfbuzz-dev
- liblcms2-dev
- libmagick++-dev
- libpango1.0-dev
- libpoppler-glib-dev
- libpoppler-private-dev
- libpotrace-dev
- librevenge-dev
- libsigc++-2.0-dev
- libtool
- libvisio-dev
- libwpg-dev
- libxml-parser-perl
- libxml2-dev
- libxslt1-dev
- pkg-config
- zlib1g-dev
stage-packages:
- heif-gdk-pixbuf
- gir1.2-gtk-3.0
- libatkmm-1.6-1v5
- libboost-filesystem1.74.0
- libcairomm-1.0-1v5
- libcdr-0.1-1
- libdouble-conversion3
- libgc1
- libgdk-pixbuf2.0-0
- libglibmm-2.4-1v5
- libglib2.0-bin
- libgsl27
- libgslcblas0
- libgspell-1-2
- libgtkmm-3.0-1v5
- libgtksourceview-4-common
- libgtksourceview-4-0
- liblcms2-2
- libmagick++-6.q16-8
- libpangomm-1.4-1v5
- libpoppler-glib8
- libpotrace0
- libpsl5
- librevenge-0.0-0
- libvisio-0.1-1
- libwpg-0.3-3
- libxslt1.1
- aspell
- imagemagick
- libimage-magick-perl
- libwmf-bin
- transfig
- libsvg-perl
- libxml-xql-perl
- python3-pil
- python3-gi
- python3-gi-cairo
prime:
- -lib/inkscape/*.a
- -*canberra*so* # We don't have sound permissions anyway
- -usr/lib/*/gtk-2.0
override-build: |
patch -p1 --batch --directory=$SNAPCRAFT_PART_SRC --input=$SNAPCRAFT_PART_SRC/snap/local/filedialog-native.patch
patch -p1 --batch --directory=$SNAPCRAFT_PART_SRC --input=$SNAPCRAFT_PART_SRC/snap/local/glib-spawn-no-close.patch
sed -i.bak -e 's|Icon=${INKSCAPE_ICONPATH}|Icon=${SNAP}/share/inkscape/branding/inkscape.svg|g' $SNAPCRAFT_PART_SRC/org.inkscape.Inkscape.desktop.template
snapcraftctl build
INKSCAPE_VERSION=`g++ -I${SNAPCRAFT_PART_SRC}/src ${SNAPCRAFT_PART_BUILD}/src/inkscape-version.cpp ${SNAPCRAFT_PROJECT_DIR}/snap/local/print-inkscape-version.cpp -o print-inkscape-version && ./print-inkscape-version`
echo "Inkscape Version: ${INKSCAPE_VERSION}"
snapcraftctl set-version "${INKSCAPE_VERSION}"
override-prime: |
snapcraftctl prime
sed -i "s|_have.*$||" $SNAPCRAFT_PRIME/share/bash-completion/completions/inkscape
parse-info: [ share/metainfo/org.inkscape.Inkscape.appdata.xml ]
python-deps:
plugin: python
source: .
python-packages:
- six
- lxml
- numpy
- cssselect
- pip
- appdirs
- requests
- pillow
- cachecontrol[filecache]
- pyserial
- packaging
- scour
- virtualenv
stage-packages:
- optipng
- pstoedit
# - texlive-latex-base
snap-helpers:
plugin: dump
source: snap/local/scripts
desktop-helpers:
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-subdir: gtk
plugin: make
make-parameters: ["FLAVOR=gtk3"]
build-packages:
- libgtk-3-dev
- locales
stage-packages:
- libxkbcommon0 # XKB_CONFIG_ROOT
- fonts-ubuntu
- dmz-cursor-theme
- light-themes
- adwaita-icon-theme
- gnome-themes-standard
- shared-mime-info
- libgtk-3-0
- libgtk-3-bin
- libglib2.0-bin
- locales-all
- libc-bin
- xdg-user-dirs
- ibus-gtk3
- libibus-1.0-5
- fcitx-frontend-gtk3
- librsvg2-common # SVG pixbuf loader
prime:
- -*canberra*so* # We don't have sound permissions anyway
- -usr/lib/*/gtk-2.0
override-prime: |
snapcraftctl prime
glib-compile-schemas ${SNAPCRAFT_PRIME}/usr/share/glib-2.0/schemas/
LOCPATH=${SNAPCRAFT_PRIME}/usr/lib/locale locale-gen
after: [inkscape, snap-helpers, python-deps] # Last so we compile all the schemas
gtk-locales:
plugin: nil
override-pull: |
set -eux
apt-get download "language-pack-*-base"
override-build: |
set -eux
for deb in *.deb; do dpkg-deb -x $deb .; done
find usr/share/locale-langpack -type f -not -name "gtk30*.mo" -and -not -name "glib*.mo" -and -not -name "gdk*.mo" -and -not -name "gspell*.mo" -and -not -name "coreutils*.mo" -delete
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share
cp -r usr/share/locale-langpack $SNAPCRAFT_PART_INSTALL/usr/share/
apps:
inkscape:
command: bin/inkscape
command-chain: [ bin/desktop-launch, inkscape-variables, private-fontcache ]
plugs:
- desktop
- desktop-legacy
- gsettings
- wayland
- x11
- unity7
- dot-config-inkscape
- raw-usb # plotter support
- network # for extension manager
slots:
- inkscape-dbus
desktop: share/applications/org.inkscape.Inkscape.desktop
common-id: org.inkscape.Inkscape
completer: share/bash-completion/completions/inkscape
viewer:
command: bin/inkview
command-chain: [ bin/desktop-launch, inkscape-variables, private-fontcache ]
plugs:
- desktop
- desktop-legacy
- gsettings
- wayland
- x11
- unity7
- dot-config-inkscape
hooks:
configure:
plugs:
- desktop