# Description: layout tool
# URL:         http://scribus.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  boost cups harfbuzz-icu hunspell libart_lgpl poppler qt5

name=scribus
version=1.5.6.1
release=1
source=(https://downloads.sourceforge.net/$name/$name-$version.tar.xz
  https://poppler.freedesktop.org/poppler-0.90.0.tar.xz)

# snatched from contrib/inkscape, thx romster :>
poppler() {
  cmake -Spoppler-0.90.0 -Bbuild-poppler -GNinja \
    -D CMAKE_INSTALL_PREFIX=$SRC/poppler \
    -D CMAKE_INSTALL_LIBDIR=$SRC/poppler/lib \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
    -D CMAKE_C_FLAGS_RELEASE="$CFLAGS" \
    -D ENABLE_UNSTABLE_API_ABI_HEADERS=ON \
    -D ENABLE_UTILS=ON \
    -D ENABLE_SPLASH=ON \
    -D ENABLE_CPP=ON \
    -D ENABLE_GLIB=ON \
    -D ENABLE_QT5=OFF \
    -D ENABLE_ZLIB=ON \
    -D ENABLE_CMS=lcms2 \
    -D ENABLE_LIBOPENJPEG=none \
    -D WITH_NSS3=OFF \
    -Wno-dev

  cmake --build build-poppler
  cmake --install build-poppler

  install -D -t $PKG/usr/lib/ $SRC/poppler/lib/libpoppler.so.101

  export CXXFLAGS+=" -I$SRC/poppler/include -I$SRC/poppler/include/poppler"
  export PKG_CONFIG_PATH="$SRC/poppler/lib/pkgconfig:$PKG_CONFIG_PATH"
  cd $SRC
}

build() {
  # build a static poppler to use with the build
  # scribus is using the internal poppler api which
  # is known to break every other release
  [ ! -e '/usr/lib/libpoppler.so.101' ] && poppler

  sed \
    -e 's|#!/usr/bin/python|#!/usr/bin/python3|' \
    -e 's|#!/usr/bin/env python|#!/usr/bin/env python3|' \
    -i $name-$version/scribus/plugins/scriptplugin/{samples,scripts}/*

  cmake -S $name-$version -B build -G Ninja \
    -D CMAKE_INSTALL_PREFIX=/usr \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
    -D CMAKE_C_FLAGS_RELEASE="$CFLAGS" \
    -Wno-dev
  cmake --build build
  DESTDIR=$PKG cmake --install build

  rm -r $PKG/usr/share/man/??
  rm -r $PKG/usr/share/doc
  find $PKG \( \
    -iname '*changelog*' -o \
    -iname '*news*' -o \
    -iname '*todo*' -o \
    -iname '*readme*' -o \
    -iname '*copying*' \) -exec rm -fr '{}' \+
}
