git » inkscape.git » main » tree

[main] / PKGBUILD

# Maintainer:
# Contributor: Tobias Kieslich <tobias@justdreams.de>
# Contributor: tobias <tobias@archlinux.org>

pkgname=inkscape
pkgver=1.4beta
pkgrel=1
pkgdesc='Professional vector graphics editor'
url='https://inkscape.org/'
license=('GPL' 'LGPL')
arch=('x86_64' 'armv7h')
makedepends=('cmake' 'boost' 'git')

depends=(
  'atkmm'
  'boost-libs'
  'cairo'
  'cairomm'
  'double-conversion'
  'fontconfig'
  'freetype2'
  'gc'
  'gcc-libs'
  'gdk-pixbuf2'
  'glib2'
  'glibc'
  'glibmm'
  'gobject-introspection-runtime'
  'graphicsmagick'
  'gsl'
  'gspell'
  'gtk3'
  'gtkmm3'
  'gtksourceview4'
  'harfbuzz'
  'hicolor-icon-theme'
  'lcms2'
#  'lib2geom'
  'libcdr'
  'libepoxy'
  'libjpeg-turbo'
  'libpng'
  'librevenge'
  'libsigc++'
  'libsoup'
  'libvisio'
  'libwpg'
  'libx11'
  'libxml2'
  'libxslt'
  'pango'
  'pangomm'
  'poppler'
  'poppler-glib'
  'potrace'
  'python'
  'python-appdirs'
  'python-beautifulsoup4'
  'python-cachecontrol'
  'python-cairo'
  'python-certifi'
  'python-chardet'
  'python-coverage'
  'python-cssselect'
  'python-filelock'
  'python-gobject'
  'python-idna'
  'python-lockfile'
  'python-lxml'
  'python-msgpack'
  'python-numpy'
  'python-packaging'
  'python-pillow'
  'python-pyserial'
  'python-requests'
  'python-six'
  'python-urllib3'
  'python-zstandard'
  'readline'
  'scour'
  'ttf-font'
  'zlib'
)
provides=(lib2geom)
replaces=(lib2geom)

optdepends=(
  'fig2dev: xfig input'
  'gvfs: import clip art'
  'pstoedit: latex formulas'
  # this pulls in texlive-basic, so should suffice
  'texlive-pstricks: latex formulas'
)

#source=("https://media.inkscape.org/dl/resources/file/${pkgname}-${pkgver}.tar.bz2")
source=("git+https://gitlab.com/inkscape/inkscape.git#tag=INKSCAPE_1_4_BETA"
        'inkscape-extensions::git+https://gitlab.com/inkscape/extensions.git'
        'inkscape-lib2geom::git+https://gitlab.com/inkscape/lib2geom.git'
        'inkscape-themes::git+https://gitlab.com/inkscape/themes.git'
	'inkscape-libcroco::git+https://gitlab.com/inkscape/libcroco.git'
        'inkscape-extras-extensions-gcodetools::git+https://gitlab.com/inkscape/extras/extensions-gcodetools.git'
        'inkscape-extras-extension-manager::git+https://gitlab.com/inkscape/extras/extension-manager.git'
        'inkscape-extras-inkscape-import-clipart::git+https://gitlab.com/inkscape/extras/inkscape-import-clipart.git'
        'inkscape-extras-extension-xaml::git+https://gitlab.com/inkscape/extras/extension-xaml.git')
sha256sums=(
#'31d286dff9a3e295b7f89f806300ecc91c306e08a273f29501082fe33f1ebafe'
SKIP
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
)

_backports=(
  # include missing header file
  '694d8ae43d06efff21adebf377ce614d660b24cd'

  # Fix build with poppler >= 24.05.0
  '96ca7a6c215aa14336b52753f56244dc8796ec43'
  # Fix build with >=poppler-24.03.0
  'f7e944575ea5247952d23f85dfa905cfa13f7b28'

  # Up C++ version to C++20.
  '1798e9c13b786f3d077ba0132592c4d5c1d1fb9b'
)

prepare() {
  cd "${pkgname}"
  git submodule set-url share/extensions ../inkscape-extensions/
  git submodule set-url src/3rdparty/2geom ../inkscape-lib2geom/
  git submodule set-url src/3rdparty/libcroco ../inkscape-libcroco/
  git submodule set-url share/themes ../inkscape-themes/
  git -c protocol.file.allow=always submodule update --init

  ( cd share/extensions/
    git submodule set-url other/gcodetools ../inkscape-extras-extensions-gcodetools/
    git submodule set-url other/inkman ../inkscape-extras-extension-manager/
    git submodule set-url other/clipart ../inkscape-extras-inkscape-import-clipart/
    git submodule set-url other/extension-xaml ../inkscape-extras-extension-xaml/
    git -c protocol.file.allow=always submodule update --init )

  local _c
  for _c in "${_backports[@]}"; do
    git log --oneline -1 "${_c}"
    git cherry-pick -n "${_c}"
  done
}

build() {
  local cmake_options=(
    -B build
    -D CMAKE_BUILD_TYPE=None
    -D CMAKE_INSTALL_PREFIX:PATH=/usr
    -W no-dev
    -S $pkgname
  )

  cmake "${cmake_options[@]}"
  cmake --build build
}

package() {
  DESTDIR="${pkgdir}" cmake --build build --target install
}