PKGBUILD 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. # $Id$
  2. # Maintainer: AndyRTR <andyrtr@archlinux.org>
  3. # Maintainer: Jan de Groot <jgc@archlinux.org>
  4. pkgbase=xorg-server
  5. pkgname=('xorg-server' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
  6. pkgver=1.19.6
  7. pkgrel=1
  8. arch=('x86_64')
  9. license=('custom')
  10. groups=('xorg')
  11. url="http://xorg.freedesktop.org"
  12. makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto'
  13. 'inputproto' 'fontsproto' 'videoproto' 'presentproto' 'compositeproto' 'recordproto' 'scrnsaverproto'
  14. 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont2' 'renderproto' 'libpciaccess' 'libxv'
  15. 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres'
  16. 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt' 'libepoxy'
  17. 'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' 'dri3proto'
  18. 'libxshmfence' 'libunwind' 'wayland-protocols' 'git')
  19. source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
  20. 0001-nvidia-add-modulepath-support.patch
  21. 0002-xserver-autobind-hotplug.patch
  22. 0004-config-udev-skip-tty-inputs.patch
  23. 0005-config-udev-split-device_added-for-further-work.patch
  24. 0006-config-udev-drop-ID_INPUT-code.patch
  25. 0007-move-logind-ifdefs-to-call-sites.patch
  26. 0008-add-support-for-weston-launch-protocol.patch
  27. xvfb-run
  28. xvfb-run.1)
  29. prepare() {
  30. cd "${pkgbase}-${pkgver}"
  31. # merged upstream in trunk
  32. patch -Np1 -i ../0001-nvidia-add-modulepath-support.patch
  33. # patch from Fedora, not yet merged
  34. patch -Np1 -i ../0002-xserver-autobind-hotplug.patch
  35. patch -Np1 -i ../0004-config-udev-skip-tty-inputs.patch
  36. patch -Np1 -i ../0005-config-udev-split-device_added-for-further-work.patch
  37. patch -Np1 -i ../0006-config-udev-drop-ID_INPUT-code.patch
  38. patch -Np1 -i ../0007-move-logind-ifdefs-to-call-sites.patch
  39. patch -Np1 -i ../0008-add-support-for-weston-launch-protocol.patch
  40. autoreconf -vfi
  41. }
  42. build() {
  43. # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
  44. # With them, module fail to load with undefined symbol.
  45. # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
  46. export CFLAGS=${CFLAGS/-fno-plt}
  47. export CXXFLAGS=${CXXFLAGS/-fno-plt}
  48. export LDFLAGS=${LDFLAGS/,-z,now}
  49. cd "${pkgbase}-${pkgver}"
  50. ./configure --prefix=/usr \
  51. --enable-dri \
  52. --enable-composite \
  53. --enable-xcsecurity \
  54. --enable-libunwind \
  55. --enable-xorg \
  56. --enable-xephyr \
  57. --enable-glamor \
  58. --enable-xwayland \
  59. --enable-config-udev \
  60. --enable-weston-launch \
  61. --enable-record \
  62. --disable-xfbdev \
  63. --disable-xfake \
  64. --disable-static \
  65. --without-systemd-daemon \
  66. --libexecdir=/usr/lib/xorg-server \
  67. --sysconfdir=/etc \
  68. --localstatedir=/var \
  69. --with-xkb-path=/usr/share/X11/xkb \
  70. --with-xkb-output=/var/lib/xkb \
  71. --with-fontrootdir=/usr/share/fonts \
  72. --with-sha1=libgcrypt
  73. # --without-dtrace \
  74. # --disable-linux-acpi --disable-linux-apm \
  75. make
  76. # Disable subdirs for make install rule to make splitting easier
  77. sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \
  78. -e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
  79. -e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
  80. -e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \
  81. -e 's/^XWAYLAND_SUBDIRS =.*/XWAYLAND_SUBDIRS =/' \
  82. -i hw/Makefile
  83. }
  84. package_xorg-server-common() {
  85. pkgdesc="Xorg server common files"
  86. depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap)
  87. cd "${pkgbase}-${pkgver}"
  88. install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
  89. install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
  90. make -C xkb DESTDIR="${pkgdir}" install-data
  91. install -m755 -d "${pkgdir}/usr/share/man/man1"
  92. install -m644 man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
  93. install -m755 -d "${pkgdir}/usr/lib/xorg"
  94. install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
  95. }
  96. package_xorg-server() {
  97. pkgdesc="Xorg X server"
  98. depends=(libepoxy libxfont2 pixman xorg-server-common libunwind libgl
  99. libpciaccess libbsd libdrm libxshmfence) # FS#52949
  100. # see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
  101. # and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg
  102. provides=('X-ABI-VIDEODRV_VERSION=23' 'X-ABI-XINPUT_VERSION=24.1' 'X-ABI-EXTENSION_VERSION=10.0' 'x-server')
  103. conflicts=('nvidia-utils<=331.20' 'glamor-egl' 'xf86-video-modesetting')
  104. replaces=('glamor-egl' 'xf86-video-modesetting')
  105. install=xorg-server.install
  106. cd "${pkgbase}-${pkgver}"
  107. make DESTDIR="${pkgdir}" install
  108. rm -rf "${pkgdir}/var"
  109. rm -rf "${pkgdir}/usr/share/X11"
  110. rm -f "${pkgdir}/usr/share/man/man1/Xserver.1"
  111. rm -f "${pkgdir}/usr/lib/xorg/protocol.txt"
  112. install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server"
  113. ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server/COPYING"
  114. rm -rf "${pkgdir}/usr/lib/pkgconfig"
  115. rm -rf "${pkgdir}/usr/include"
  116. rm -rf "${pkgdir}/usr/share/aclocal"
  117. }
  118. package_xorg-server-xwayland() {
  119. pkgdesc="run X clients under wayland"
  120. depends=(libxfont2 libepoxy libunwind libelogind libgl pixman xorg-server-common)
  121. cd "${pkgbase}-${pkgver}/hw/xwayland"
  122. make DESTDIR="${pkgdir}" install
  123. install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xwayland"
  124. ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xwayland/COPYING"
  125. }
  126. package_xorg-server-devel() {
  127. pkgdesc="Development files for the X.Org X server"
  128. depends=(# see pkgdir/usr/lib/pkgconfig/xorg-server.pc
  129. xproto randrproto renderproto xextproto inputproto kbproto
  130. fontsproto pixman videoproto xf86driproto glproto
  131. mesa dri2proto dri3proto xineramaproto libpciaccess
  132. resourceproto scrnsaverproto presentproto
  133. # not technically required but almost every Xorg pkg needs it to build
  134. xorg-util-macros)
  135. cd "${pkgbase}-${pkgver}"
  136. make DESTDIR="${pkgdir}" install
  137. rm -rf "${pkgdir}/usr/bin"
  138. rm -rf "${pkgdir}/usr/share/man"
  139. rm -rf "${pkgdir}/usr/share/doc"
  140. rm -rf "${pkgdir}/usr/share/X11"
  141. rm -rf "${pkgdir}/usr/lib/xorg"
  142. rm -rf "${pkgdir}/usr/lib/xorg-server"
  143. rm -rf "${pkgdir}/var"
  144. install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
  145. ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
  146. }
  147. md5sums=('3e47777ff034a331aed2322b078694a8'
  148. '75a60eb4b99b64cda18614e9c085a2d3'
  149. 'ec10c9be9a7f1b352393684b658976d2'
  150. '2b12a0032984901a8c4b6311fbd14e54'
  151. '927ebd3870b26d669bfb0a0142ba5a63'
  152. 'e6284fbb111a924b0c617d01fe570fd3'
  153. '7411b4a6c271c62bfc7abfcee3c22550'
  154. '134cb9affc5abfd29b23c5696cdef53f'
  155. '52fd3effd80d7bc6c1660d4ecf23d31c'
  156. '376c70308715cd2643f7bff936d9934b')
  157. md5sums=('3e47777ff034a331aed2322b078694a8'
  158. '75a60eb4b99b64cda18614e9c085a2d3'
  159. 'ec10c9be9a7f1b352393684b658976d2'
  160. '2b12a0032984901a8c4b6311fbd14e54'
  161. '927ebd3870b26d669bfb0a0142ba5a63'
  162. 'e6284fbb111a924b0c617d01fe570fd3'
  163. '7411b4a6c271c62bfc7abfcee3c22550'
  164. 'd2dd1b18c7d07a7f17624b468c248a00'
  165. '52fd3effd80d7bc6c1660d4ecf23d31c'
  166. '376c70308715cd2643f7bff936d9934b')