# ARMSoC Mali FrameBuffer driver for ODROID
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>

buildarch=4

pkgname=xf86-video-armsoc-odroid
pkgver=240.78c3cda
pkgrel=4
pkgdesc='X.org graphics driver for ARM graphics - Exynos ODROID'
arch=('armv7h')
url="https://github.com/mdrjr/xf86-video-armsoc/tree/r4p0"
license=('GPL2')
makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=24.0' 'git')
conflicts=('xorg-server<1.20' 'X-ABI-VIDEODRV_VERSION<24' 'X-ABI-VIDEODRV_VERSION>=25' 'xf86-video-armsoc')
provides=(xf86-video-armsoc)
source=("$pkgname::git+https://github.com/mdrjr/xf86-video-armsoc.git#branch=r4p0"
        '0001-Adapt-Block-WakeupHandler-signature-for-ABI-23.patch'
        '0002-Use-NotifyFd-for-drm-fd.patch'
        '0003-Initialize-XRandR-before-EnterVT.patch')
md5sums=('SKIP'
         '2cf86d77a14940d24e6aacfb22cd3432'
         'abaa79ea09ebf88151e8c74b75f48ac4'
         '17d36d2a9c29b9ae467f67dba64ce524')

pkgver() {
  cd $pkgname
  echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)
}

prepare() {
  cd $pkgname
  git apply ../0001-Adapt-Block-WakeupHandler-signature-for-ABI-23.patch
  git apply ../0002-Use-NotifyFd-for-drm-fd.patch
  git apply ../0003-Initialize-XRandR-before-EnterVT.patch
}

build() {
  cd $pkgname

  # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
  # With them, module fail to load with undefined symbol.
  # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
  export CFLAGS=${CFLAGS/-fno-plt}
  export CXXFLAGS=${CXXFLAGS/-fno-plt}
  export LDFLAGS=${LDFLAGS/,-z,now}

  CFLAGS=`echo $CFLAGS | sed -e 's/vfpv3-d16/neon/'` && CXXFLAGS="$CFLAGS"
  ./autogen.sh --prefix=/usr --with-drmmode=exynos
  make
}

package() {
  cd $pkgname

  make DESTDIR="${pkgdir}" install
}