Advertisement
Guest User

Untitled

a guest
May 21st, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.18 KB | None | 0 0
  1. # -*- mode: shell-script -*-
  2. # Maintainer: Manuel Reimer <mail+wine@m-reimer.de>
  3. # Maintainer: Felix Yan <felixonmars@archlinux.org>
  4. # Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
  5. # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
  6. # Contributor: Eduardo Romero <eduardo@archlinux.org>
  7. # Contributor: Giovanni Scafora <giovanni@archlinux.org>
  8.  
  9. # Contains fixes to make League Of Legends work.
  10. # One fix requires a "hacked" glibc (wine-lol-glibc on AUR).
  11. # Some history:
  12. # Primary bug report: https://bugs.winehq.org/show_bug.cgi?id=47198
  13. # Additional crash fix: https://bugs.winehq.org/show_bug.cgi?id=45667#c5
  14.  
  15. pkgname=wine-lol
  16. pkgver=4.8
  17. pkgrel=3
  18.  
  19. _pkgbasever=${pkgver/rc/-rc}
  20.  
  21. source=(https://dl.winehq.org/wine/source/4.x/wine-$_pkgbasever.tar.xz
  22. "wine-staging-v$_pkgbasever.tar.gz::https://github.com/wine-staging/wine-staging/archive/v$_pkgbasever.tar.gz"
  23. 30-win32-aliases.conf
  24. wine-binfmt.conf
  25. wine-lol–poc1-wine.diff::https://bugs.winehq.org/attachment.cgi?id=64481
  26. wine-lol-patch-stub.diff::https://bugs.winehq.org/attachment.cgi?id=64496)
  27. sha512sums=('ad91c31aad86b9932777a1c5a84760f41c63cfbb5d79f1a8afd132a8948667283f85e081a454cfc0904544394eaabb00fb986eba15efd8a8409db38e793f3dab'
  28. 'f2e7fbe1ed0f77bd307185d0f7aa9e837e64f86ae98828db25e05c998ec07a9dd57dc9f3e6b093310c95ff2a517825d36420d7bd9fc9028d11bc29321ac3559e'
  29. '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
  30. 'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285'
  31. 'ed9c36aee756ee8fba0b08a3ff895893df1c771077964cbe5ce1a23f66addf7212c8ca8e601cf14e5dae82af4b275d0a11c7207acd7dc4f48fdb1216d819f9dd'
  32. '159b075f11607114ee81ef801c77969c7b630b024a8a698b5f20a208f2cf780a2109f055d420e4292b774f3e5524a05b4c05d446d5217f1c050adb12b7409e45')
  33.  
  34. pkgdesc="A compatibility layer for running Windows programs - Staging branch with League Of Legends fixes"
  35. url="http://www.wine-staging.com"
  36. arch=(x86_64)
  37. options=(staticlibs)
  38. license=(LGPL)
  39.  
  40. depends=(
  41. attr lib32-attr
  42. fontconfig lib32-fontconfig
  43. lcms2 lib32-lcms2
  44. libxml2 lib32-libxml2
  45. libxcursor lib32-libxcursor
  46. libxrandr lib32-libxrandr
  47. libxdamage lib32-libxdamage
  48. libxi lib32-libxi
  49. gettext lib32-gettext
  50. freetype2 lib32-freetype2
  51. glu lib32-glu
  52. libsm lib32-libsm
  53. gcc-libs lib32-gcc-libs
  54. libpcap lib32-libpcap
  55. desktop-file-utils
  56. wine-lol-glibc
  57. )
  58.  
  59. makedepends=(autoconf ncurses bison perl fontforge flex
  60. 'gcc>=4.5.0-2'
  61. giflib lib32-giflib
  62. libpng lib32-libpng
  63. gnutls lib32-gnutls
  64. libxinerama lib32-libxinerama
  65. libxcomposite lib32-libxcomposite
  66. libxmu lib32-libxmu
  67. libxxf86vm lib32-libxxf86vm
  68. libldap lib32-libldap
  69. mpg123 lib32-mpg123
  70. openal lib32-openal
  71. v4l-utils lib32-v4l-utils
  72. alsa-lib lib32-alsa-lib
  73. libxcomposite lib32-libxcomposite
  74. mesa lib32-mesa
  75. mesa-libgl lib32-mesa-libgl
  76. opencl-icd-loader lib32-opencl-icd-loader
  77. libxslt lib32-libxslt
  78. libpulse lib32-libpulse
  79. libva lib32-libva
  80. gtk3 lib32-gtk3
  81. gst-plugins-base-libs lib32-gst-plugins-base-libs
  82. vulkan-icd-loader lib32-vulkan-icd-loader
  83. sdl2 lib32-sdl2
  84. vkd3d lib32-vkd3d
  85. sane
  86. libgphoto2
  87. gsm
  88. ffmpeg
  89. samba
  90. opencl-headers
  91. )
  92.  
  93. optdepends=(
  94. giflib lib32-giflib
  95. libpng lib32-libpng
  96. libldap lib32-libldap
  97. gnutls lib32-gnutls
  98. mpg123 lib32-mpg123
  99. openal lib32-openal
  100. v4l-utils lib32-v4l-utils
  101. libpulse lib32-libpulse
  102. alsa-plugins lib32-alsa-plugins
  103. alsa-lib lib32-alsa-lib
  104. libjpeg-turbo lib32-libjpeg-turbo
  105. libxcomposite lib32-libxcomposite
  106. libxinerama lib32-libxinerama
  107. ncurses lib32-ncurses
  108. opencl-icd-loader lib32-opencl-icd-loader
  109. libxslt lib32-libxslt
  110. libva lib32-libva
  111. gtk3 lib32-gtk3
  112. gst-plugins-base-libs lib32-gst-plugins-base-libs
  113. vulkan-icd-loader lib32-vulkan-icd-loader
  114. sdl2 lib32-sdl2
  115. vkd3d lib32-vkd3d
  116. sane
  117. libgphoto2
  118. gsm
  119. ffmpeg
  120. cups
  121. samba dosbox
  122. )
  123.  
  124. provides=("wine-lol=$pkgver" "wine-lol-wow64=$pkgver")
  125. install=wine.install
  126.  
  127. prepare() {
  128. # Allow ccache to work
  129. mv wine-$_pkgbasever $pkgname
  130.  
  131. # apply wine-staging patchset
  132. pushd wine-staging-$_pkgbasever/patches
  133. ./patchinstall.sh DESTDIR="$srcdir/$pkgname" --all
  134. popd
  135.  
  136. # Apply League Of Legends fixes
  137. pushd "$srcdir/$pkgname"
  138. patch -p1 -i "$srcdir/wine-lol–poc1-wine.diff"
  139. patch -p1 -i "$srcdir/wine-lol-patch-stub.diff"
  140. popd
  141.  
  142. # https://bugs.winehq.org/show_bug.cgi?id=43530
  143. export CFLAGS="${CFLAGS/-fno-plt/}"
  144. export LDFLAGS="${LDFLAGS/,-z,now/}"
  145.  
  146. sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $pkgname/configure*
  147.  
  148. # Get rid of old build dirs
  149. rm -rf $pkgname-{32,64}-build
  150. mkdir $pkgname-{32,64}-build
  151. }
  152.  
  153. build() {
  154. cd "$srcdir"
  155.  
  156. # Prepare "rpath" to link against wine-lol-glibc, export it via LDFLAGS
  157. _RPATH="-rpath=/usr/wine-lol-glibc/lib,-rpath=/usr/wine-lol-glibc/lib32"
  158. export LDFLAGS="$LDFLAGS,$_RPATH"
  159.  
  160. msg2 "Building Wine-64..."
  161.  
  162. cd "$srcdir/$pkgname-64-build"
  163. ../$pkgname/configure \
  164. --prefix=/opt/wine-lol \
  165. --libdir=/opt/wine-lol/lib \
  166. --with-x \
  167. --with-gstreamer \
  168. --enable-win64 \
  169. --with-xattr
  170.  
  171. make depend LDRPATH_INSTALL="-Wl,$_RPATH" # Use wine-lib-glibc for -install
  172. make
  173.  
  174. msg2 "Building Wine-32..."
  175.  
  176. export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
  177. cd "$srcdir/$pkgname-32-build"
  178.  
  179. ../$pkgname/configure \
  180. --prefix=/opt/wine-lol \
  181. --with-x \
  182. --with-gstreamer \
  183. --with-xattr \
  184. --libdir=/opt/wine-lol/lib32 \
  185. --with-wine64="$srcdir/$pkgname-64-build"
  186.  
  187. make depend LDRPATH_INSTALL="-Wl,$_RPATH" # Use wine-lib-glibc for -install
  188. make
  189. }
  190.  
  191. package() {
  192. msg2 "Packaging Wine-32..."
  193. cd "$srcdir/$pkgname-32-build"
  194.  
  195. make prefix="$pkgdir/opt/wine-lol" \
  196. libdir="$pkgdir/opt/wine-lol/lib32" \
  197. dlldir="$pkgdir/opt/wine-lol/lib32/wine" install
  198.  
  199. msg2 "Packaging Wine-64..."
  200. cd "$srcdir/$pkgname-64-build"
  201. make prefix="$pkgdir/opt" \
  202. libdir="$pkgdir/opt/wine-lol/lib" \
  203. dlldir="$pkgdir/opt/wine-lol/lib/wine" install
  204.  
  205. # Font aliasing settings for Win32 applications
  206. install -d "$pkgdir"/etc/fonts/conf.{avail,d}
  207. install -m644 "$srcdir/30-win32-aliases.conf" "$pkgdir/etc/fonts/conf.avail"
  208. ln -s ../conf.avail/30-win32-aliases.conf "$pkgdir/etc/fonts/conf.d/30-win32-aliases.conf"
  209. install -Dm 644 "$srcdir/wine-binfmt.conf" "$pkgdir/opt/wine-lol/lib/binfmt.d/wine.conf"
  210. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement