Skip to content
Snippets Groups Projects
PKGBUILD 4.72 KiB
Newer Older
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
# Contributor: Eduardo Romero <eduardo@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
pkgname=wine
Felix Yan's avatar
Felix Yan committed
pkgver=9.20
Felix Yan's avatar
Felix Yan committed
pkgrel=1

_pkgbasever=${pkgver/rc/-rc}

Felix Yan's avatar
Felix Yan committed
source=(https://dl.winehq.org/wine/source/9.x/$pkgname-$_pkgbasever.tar.xz{,.sign}
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
        30-win32-aliases.conf
        wine-binfmt.conf)
Felix Yan's avatar
Felix Yan committed
sha512sums=('65d229cfa1c4daffd0b1cec4480bdc4f8a2bbdeb08a7885efea403b0533beda6a22616e57f8e55038fe9e033137cf2718148e38076409a8c0341b29127bbefa3'
            'SKIP'
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
            '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
            'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285')
Felix Yan's avatar
Felix Yan committed
validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
              DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D)
pkgdesc="A compatibility layer for running Windows programs"
Felix Yan's avatar
Felix Yan committed
url="https://www.winehq.org"
arch=(x86_64)
Felix Yan's avatar
Felix Yan committed
options=(staticlibs !lto)
license=(LGPL-2.1-or-later)
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
depends=(
Alex Henrie's avatar
Alex Henrie committed
  desktop-file-utils
  fontconfig      lib32-fontconfig
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  freetype2       lib32-freetype2
  gcc-libs        lib32-gcc-libs
Alex Henrie's avatar
Alex Henrie committed
  gettext         lib32-gettext
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  libpcap         lib32-libpcap
Alex Henrie's avatar
Alex Henrie committed
  libunwind       lib32-libunwind
  libxcursor      lib32-libxcursor
  libxkbcommon    lib32-libxkbcommon
Alex Henrie's avatar
Alex Henrie committed
  libxi           lib32-libxi
  libxrandr       lib32-libxrandr
  wayland         lib32-wayland
makedepends=(autoconf bison perl flex mingw-w64-gcc
Alex Henrie's avatar
Alex Henrie committed
  alsa-lib              lib32-alsa-lib
Alex Henrie's avatar
Alex Henrie committed
  gst-plugins-base-libs lib32-gst-plugins-base-libs
  libcups               lib32-libcups
  libgphoto2
  libpulse              lib32-libpulse
  libxcomposite         lib32-libxcomposite
Alex Henrie's avatar
Alex Henrie committed
  libxcomposite         lib32-libxcomposite
  libxinerama           lib32-libxinerama
  libxxf86vm            lib32-libxxf86vm
  mesa                  lib32-mesa
  mesa-libgl            lib32-mesa-libgl
Alex Henrie's avatar
Alex Henrie committed
  opencl-headers
  opencl-icd-loader     lib32-opencl-icd-loader
Alex Henrie's avatar
Alex Henrie committed
  pcsclite              lib32-pcsclite
  samba
Felix Yan's avatar
Felix Yan committed
  sane
Alex Henrie's avatar
Alex Henrie committed
  sdl2                  lib32-sdl2
  unixodbc
  v4l-utils             lib32-v4l-utils
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  vulkan-headers
Alex Henrie's avatar
Alex Henrie committed
  vulkan-icd-loader     lib32-vulkan-icd-loader
)
optdepends=(
Alex Henrie's avatar
Alex Henrie committed
  alsa-lib              lib32-alsa-lib
  alsa-plugins          lib32-alsa-plugins
  cups                  lib32-libcups
  dosbox
Alex Henrie's avatar
Alex Henrie committed
  gst-plugins-bad
  gst-plugins-base      lib32-gst-plugins-base
  gst-plugins-base-libs lib32-gst-plugins-base-libs
  gst-plugins-good      lib32-gst-plugins-good
  gst-plugins-ugly
  libgphoto2
  libpulse              lib32-libpulse
  libxcomposite         lib32-libxcomposite
  libxinerama           lib32-libxinerama
  opencl-icd-loader     lib32-opencl-icd-loader
Alex Henrie's avatar
Alex Henrie committed
  pcsclite              lib32-pcsclite
  samba
Felix Yan's avatar
Felix Yan committed
  sane
Alex Henrie's avatar
Alex Henrie committed
  sdl2                  lib32-sdl2
  unixodbc
  v4l-utils             lib32-v4l-utils
  wine-gecko
  wine-mono
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
makedepends=(${makedepends[@]} ${depends[@]})
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
install=wine.install
Emil Velikov's avatar
Emil Velikov committed
build() {
  # Allow ccache to work
  mv $pkgname-$_pkgbasever $pkgname

Felix Yan's avatar
Felix Yan committed
  # Doesn't compile without remove these flags as of 4.10
  export CFLAGS="$CFLAGS -ffat-lto-objects"
Felix Yan's avatar
Felix Yan committed

  # Apply flags for cross-compilation
  export CROSSCFLAGS="-O2 -pipe -g"
  export CROSSCXXFLAGS="-O2 -pipe -g"
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  msg2 "Building Wine-64..."
  mkdir "$pkgname-64-build"
  cd "$pkgname-64-build"
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  ../$pkgname/configure \
    --prefix=/usr \
    --libdir=/usr/lib \
    --with-x \
    --with-wayland \
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
    --with-gstreamer \
    --enable-win64
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  make
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  _wine32opts=(
    --libdir=/usr/lib32
    --with-wine64="$srcdir/$pkgname-64-build"
  )
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
  msg2 "Building Wine-32..."
  mkdir "$pkgname-32-build"
  cd "$pkgname-32-build"
  ../$pkgname/configure \
    --prefix=/usr \
    --with-x \
    --with-wayland \
    "${_wine32opts[@]}"
package() {
  msg2 "Packaging Wine-32..."
  cd "$srcdir/$pkgname-32-build"
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  make prefix="$pkgdir/usr" \
    libdir="$pkgdir/usr/lib32" \
    dlldir="$pkgdir/usr/lib32/wine" install

  msg2 "Packaging Wine-64..."
  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"
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
  install -Dm 644 "$srcdir/wine-binfmt.conf" "$pkgdir/usr/lib/binfmt.d/wine.conf"
# vim:set ts=8 sts=2 sw=2 et: