# Maintainer: Peter Jung <ptr1337@archlinux.org>
# Contributor: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Eduardo Romero <eduardo@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>

_pkgname=wine
pkgname=wine-for-wechat
pkgver=11.14
pkgrel=3

_pkgbasever=${pkgver/rc/-rc}

source=("git+https://gitlab.winehq.org/wine/wine.git?signed#tag=wine-$_pkgbasever"
        30-win32-aliases.conf
        wine-binfmt.conf
        wine-wechat.patch)
sha512sums=('a8cfc9c6c3575199823f632b86da566b379659281aa4e69907b0c9704e8fe00415590a54705323b03f0a56647c73d164c7428bf86b0681d421ffa0b6f2d3c4d5'
            '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
            'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285'
            'acb6f1a0db48872994d0829a40f7be239d7114bc2ca0964cbbfe44af3d02dec03cb63528c52990d22ac3b926de510faf8ad5a9f88b98b2e9914836531023684f')
validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
              DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D)

pkgdesc="A patched version of Wine for running Wechat and Netease Music without persistent shadow windows"
url="https://www.winehq.org"
arch=(x86_64)
options=(!lto pestrip)
license=(LGPL-2.1-or-later)
depends=(
  desktop-file-utils
  fontconfig
  freetype2
  libgcc
  gettext
  glib2
  glibc
  libpcap
  libunwind
  libx11
  libxcursor
  libxext
  libxkbcommon
  libxi
  libxrandr
  systemd-libs
  wayland
  ntsync-autoload
)
makedepends=(
  alsa-lib
  ffmpeg
  git
  gnutls
  gst-plugins-base-libs
  libcups
  libgphoto2
  libpulse
  libxcomposite
  libxinerama
  libxxf86vm
  mesa
  mingw-w64-gcc
  opencl-headers
  opencl-icd-loader
  pcsclite
  perl
  samba
  sane
  sdl2
  unixodbc
  v4l-utils
  vulkan-headers
  vulkan-icd-loader
)
optdepends=(
  alsa-lib
  alsa-plugins
  cups
  dosbox
  ffmpeg
  gnutls
  gst-plugins-bad
  gst-plugins-base
  gst-plugins-base-libs
  gst-plugins-good
  gst-plugins-ugly
  gstreamer
  libgphoto2
  libpulse
  libusb
  libxcomposite
  libxinerama
  opencl-icd-loader
  pcsclite
  perl
  samba
  sane
  sdl2
  unixodbc
  v4l-utils
  wine-gecko
  wine-mono
)
install=wine.install
provides=(wine=$pkgver)
conflicts=(wine)

prepare() {
  # Get rid of old build dirs
  rm -rf $_pkgname-64-build
  mkdir $_pkgname-64-build
  cd wine && patch -p1 < "$srcdir"/wine-wechat.patch
}

build() {
  # Apply flags for cross-compilation
  export CROSSCFLAGS="-O2 -pipe -g"
  export CROSSCXXFLAGS="-O2 -pipe -g"
  export CROSSLDFLAGS="-Wl,-O1"

  # Make sure correct source file paths are recorded in debug information,
  # so that wine crash reports can have correct paths
  if [[ $CFLAGS =~ (-ffile-prefix-map=[^[:space:]]+) ]]; then
    CROSSCFLAGS="$CROSSCFLAGS ${BASH_REMATCH[1]}"
    CROSSCXXFLAGS="$CROSSCXXFLAGS ${BASH_REMATCH[1]}"
  fi

  cd "$srcdir/$_pkgname-64-build"
  ../wine/configure \
    --prefix=/usr \
    --libdir=/usr/lib \
    --disable-tests \
    --enable-archs=x86_64,i386 \
    --enable-build-id

  make
}

package() {
  cd "$srcdir/$_pkgname-64-build"
  make prefix="$pkgdir/usr" \
    libdir="$pkgdir/usr/lib" \
    dlldir="$pkgdir/usr/lib/wine" install

  # Font aliasing settings for Win32 applications
  install -d "$pkgdir"/usr/share/fontconfig/conf.{avail,default}
  install -m644 "$srcdir/30-win32-aliases.conf" "$pkgdir/usr/share/fontconfig/conf.avail"
  ln -s ../conf.avail/30-win32-aliases.conf "$pkgdir/usr/share/fontconfig/conf.default/30-win32-aliases.conf"
  install -Dm 644 "$srcdir/wine-binfmt.conf" "$pkgdir/usr/lib/binfmt.d/wine.conf"
}

# vim:set ts=8 sts=2 sw=2 et:
