# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: jtts <jussaar@mbnet.fi>
# Contributor: Jan de Groot <jgc@archlinux.org>

pkgname=lib32-librsvg
pkgver=2.52.0
pkgrel=1
epoch=2
pkgdesc="SVG rendering library (32-bit)"
url="https://wiki.gnome.org/Projects/LibRsvg"
arch=(x86_64)
license=(LGPL)
depends=(lib32-gdk-pixbuf2 lib32-pango lib32-libxml2 librsvg)
makedepends=(gobject-introspection gtk-doc git rust lib32-rust-libs)
checkdepends=(ttf-dejavu)
provides=(librsvg-${pkgver%%.*}.so)
_commit=1729feb4c197a7dd94fe303931d51eb843bdcaf9  # tags/2.52.0^0
source=("git+https://gitlab.gnome.org/GNOME/librsvg.git#commit=$_commit"
        multilib.diff)
sha256sums=('SKIP'
            'b3d86492069009dad784f542a9c681248bc2fe3802899175e06c0c9931679536')

pkgver() {
  cd librsvg
  git describe --tags | sed 's/-/+/g'
}

prepare() {
  cd librsvg

  # Hack to cross-compile rust only
  git apply -3 ../multilib.diff

  NOCONFIGURE=1 ./autogen.sh
}

# Use LTO
export CARGO_PROFILE_RELEASE_LTO=true CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1

build() {
  cd librsvg

  export CC='gcc -m32'
  export CXX='g++ -m32'
  export PKG_CONFIG=i686-pc-linux-gnu-pkg-config
  export RUST_TARGET=i686-unknown-linux-gnu

  ./configure --prefix=/usr --disable-static --disable-vala \
    --disable-gtk-doc --disable-introspection --libdir=/usr/lib32
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' libtool
  make
}

check() {
  cd librsvg
  # Test suite is very dependent on the versions of
  # Cairo, Pango, FreeType and HarfBuzz
  make check || :
}

package() {
  cd librsvg
  make DESTDIR="$pkgdir" install
  rm -r "$pkgdir"/usr/{bin,include,share}
}

# vim:set sw=2 et:
