PKGBUILD 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. # Maintainer (arch): Maxime Gauduin <alucryd@archlinux.org>
  2. # Contributor: Themaister <maister@archlinux.us>
  3. # Contributor: lifning <definelightning@gmail.com>
  4. # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
  5. # Contributor: André Silva <emulatorman@hyperbola.info>
  6. # Contributor: Nikita Epifanov <nikgreens@protonmail.com>
  7. # Contributor: bill-auger <bill-auger@programmer.net>
  8. # rationale for inclusion in [libre]:
  9. # - disable auto-updater/downloader
  10. pkgname=retroarch
  11. pkgver=1.10.3
  12. pkgrel=2
  13. pkgrel+=.parabola1
  14. pkgdesc='Reference frontend for the libretro API'
  15. arch=(x86_64)
  16. arch+=(armv7h i686)
  17. url=http://www.libretro.com/
  18. license=(GPL)
  19. groups=(libretro)
  20. depends=(
  21. alsa-lib
  22. ffmpeg
  23. flac
  24. libass.so
  25. libdrm
  26. libfreetype.so
  27. libgl
  28. libpulse
  29. libudev.so
  30. libusb-1.0.so
  31. mbedtls
  32. mesa
  33. openal
  34. qt5-base
  35. sdl2
  36. spirv-tools
  37. v4l-utils
  38. zlib
  39. )
  40. depends+=(libmbedcrypto.so)
  41. makedepends=(
  42. gamemode
  43. git
  44. libdecor
  45. libx11
  46. libxcb
  47. libxext
  48. libxinerama
  49. libxkbcommon
  50. libxrandr
  51. libxv
  52. libxxf86vm
  53. vulkan-icd-loader
  54. wayland
  55. wayland-protocols
  56. )
  57. optdepends=(
  58. 'gamemode: GameMode support'
  59. 'libdecor: Wayland decorations'
  60. 'libretro-overlays: Collection of overlays'
  61. 'libretro-shaders: Collection of shaders'
  62. 'libxinerama: X11 support'
  63. 'libxrandr: X11 support'
  64. 'python: retroarch-cg2glsl'
  65. 'retroarch-assets-ozone: Ozone menu assets'
  66. 'retroarch-assets-xmb: XMB menu assets'
  67. 'wayland: Wayland support'
  68. )
  69. backup=(etc/retroarch.cfg)
  70. _commit=9b282aa742b6c3d2f2925ae5a12e2cd7c6b6ad38 # tag v1.10.3
  71. source=(
  72. git+https://github.com/libretro/RetroArch.git#commit=${_commit}
  73. retroarch-config.patch
  74. disable-auto-update.patch
  75. )
  76. b2sums=('SKIP'
  77. '5ecbe57126c7f9b66bdf189f0af2f1cec031cb68ea85bb9609847ba9beb0e720c902cd3330d7c286901a73e6c2e272c3f04166cf9a47bb6f80097f19dde8ce3a'
  78. '40fb95bd303cd59731d2dfd68da40032affa4bdcd07c7a5831109141e2768e18571231589375c8d97397eefebe5bf1c086dc255be8179906226c6e6c995a4f84')
  79. pkgver() {
  80. cd RetroArch
  81. git describe --tags | sed 's/^v//'
  82. }
  83. prepare() {
  84. cd RetroArch
  85. patch -Np1 -i ../retroarch-config.patch
  86. git cherry-pick -n 685948368e6b28b97e1b91bdfe5921519359a033 # FS#66843
  87. echo "applying disable-auto-update.patch"
  88. patch -Np1 -i ${srcdir}/disable-auto-update.patch
  89. }
  90. build() {
  91. cd RetroArch
  92. ./configure \
  93. --prefix=/usr \
  94. --disable-builtinflac \
  95. --disable-builtinmbedtls \
  96. --disable-builtinzlib \
  97. --disable-cg \
  98. --disable-jack \
  99. --disable-oss \
  100. --disable-sdl \
  101. --enable-dbus
  102. make
  103. make -C libretro-common/audio/dsp_filters
  104. make -C gfx/video_filters
  105. }
  106. package() {
  107. cd RetroArch
  108. make DESTDIR="${pkgdir}" install
  109. install -Dm 644 libretro-common/audio/dsp_filters/*.{dsp,so} -t "${pkgdir}"/usr/lib/retroarch/filters/audio/
  110. install -Dm 644 gfx/video_filters/*.{filt,so} -t "${pkgdir}"/usr/lib/retroarch/filters/video/
  111. }