# Maintainer: Ingo Meyer <i.meyer@fz-juelich.de>

pkgname="gr-framework-git"
pkgver=0.73.26.r36.gb2a1b556
pkgrel=1
pkgdesc="A universal framework for cross-platform visualization applications."
arch=("i686" "x86_64" "armv6h" "armv7h" "aarch64")
url="https://gr-framework.org"
license=("MIT")
depends=("bzip2" "cairo" "fontconfig" "freetype2" "ghostscript" "glfw"
         "libjpeg-turbo" "libpng" "libtiff" "libx11" "libxft" "libxt" "pixman"
         "qhull" "zlib" "qt6-base" "zeromq" "xerces-c")
makedepends=("git" "cmake" "patchelf" "ffmpeg" "qt5-base")
optdepends=("ffmpeg: video support"
            "qt5-base: qt5 plugin")
provides=("${pkgname%-*}=${pkgver}")
conflicts=("${pkgname%-*}")
source=("gr-framework::git+https://github.com/sciapp/gr.git#branch=develop"
        0001-Fix-loading-paths.patch)
sha256sums=('SKIP'
            '3883b1ad0a5c2d723bdfb83450cdc949a7671817e01e5d3b5f5c607843b09094')

pkgver() {
  cd gr-framework

  git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
  cd gr-framework

  patch -Np1 < ../0001-Fix-loading-paths.patch
  # Move compile time font path to where we patch to
  mkdir -p lib/gks/share/fonts/
  ln -sf ../../fonts lib/gks/share/fonts/gr
}

build() {
  cd gr-framework

  CFLAGS+=" -ffile-prefix-map=${srcdir}=${DBGSRCDIR:-/usr/src/debug}"
  CXXFLAGS+=" -ffile-prefix-map=${srcdir}=${DBGSRCDIR:-/usr/src/debug}"

  cmake -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=Release \
        -DGR_USE_BUNDLED_LIBRARIES=OFF \
        -S . \
        -B build

  cd build
  make
}

package() {
  cd gr-framework/build

  make install DESTDIR="${pkgdir}"
  mkdir "${pkgdir}/usr/lib/gr/"
  mv "${pkgdir}/usr/lib/"*.so "${pkgdir}/usr/lib/gr/"
  mv "${pkgdir}/usr/lib/gr/"lib* "${pkgdir}/usr/lib/"
  for f in "${pkgdir}/usr/lib/"*.so; do
    patchelf --set-rpath '/usr/lib/:$ORIGIN:$ORIGIN/gr' "$f"
  done
  for f in "${pkgdir}/usr/lib/gr/"*.so; do
    patchelf --set-rpath '/usr/lib/:$ORIGIN/..:$ORIGIN/gr' "$f"
  done
  mkdir "${pkgdir}/usr/share/fonts/"
  mv "${pkgdir}/usr/fonts/" "${pkgdir}/usr/share/fonts/gr"
}
