# $Id$ PNAME="xorg-server" PVER="1.20.8" PBUILD="r3" SPLIT_PACKAGES="xorg-server xvfb xorg-server-dev" PCAT="x11-base" DESCRIPTION="Modular X.Org X Server." HOMEPAGE="http://xorg.freedesktop.org" # mesa sources are needed to compile opengl extensions MESA_PVER="20.1.5" MESA_SRCFILE="mesa-${MESA_PVER/_/-}.tar.xz" MESA_SRCDIR="${BUILDDIR}/mesa-${MESA_PVER/_/-}" PROVIDE="virtual/x11" # see hw/xfree86/common/xf86Module.h for ABI versions # or installed pkg-config file PROVIDE+="virtual/X-ABI-VIDEODRV-24.0 virtual/X-ABI-XINPUT-24.1 virtual/X-ABI-EXTENSION-10.0" DEPEND=">= x11-libs/libXfont2-2.0 >= x11-libs/libXau-1.0.9 >= x11-libs/libXdmcp-1.1 >= x11-libs/pixman-0.40 >= media-libs/freetype-2.6 >= media-fonts/font-misc-misc-1 >= app-crypt/libgcrypt-1.8 >= app-crypt/libgpg-error-1.38 >= sys-libs/libsystemd-242 >= sys-fs/udev-242 >= sys-apps/dbus-x11-1.12 >= x11-libs/libXext-1.3 >= x11-libs/libX11-1.6 >= x11-libs/libXi-1.7 == media-libs/mesa-${MESA_PVER} >= media-libs/libepoxy-1.5 >= sys-libs/libunwind-1.4 >= x11-libs/libxshmfence-1.3 >= x11-misc/xkeyboard-config-2.30 >= x11-apps/iceauth-1.0.8 >= x11-apps/rgb-1.0.6 >= x11-apps/xauth-1.1 >= x11-libs/libpciaccess-0.16" #>= media-fonts/font-cursor-misc-1 # >= x11-apps/xinit-1.3 XVFB_DEPEND="${DEPEND}" ALX_DEV_DEPEND="== x11-proto/xorg-protos-7.7.${PVER} >= x11-libs/pixman-dev-0.40 >= x11-libs/libpciaccess-dev-0.16 >= x11-libs/libdrm-dev-2.4.102 == media-libs/mesa-dev-${MESA_PVER} >= x11-libs/libglvnd-dev-1.3 >= x11-libs/libxkbfile-dev-1 >= x11-libs/libXfont2-dev-2.0 >= sys-libs/libunwind-dev-1.4 >= app-crypt/libgcrypt-dev-1.8 >= app-crypt/libgpg-error-dev-1.38 >= x11-apps/rgb-dev-1.0.6" SDEPEND=">= media-fonts/font-util-1.3 >= x11-libs/libdrm-2.4.102 >= x11-libs/libXtst-1.2 >= x11-libs/libXres-1.0.7 >= x11-libs/xcb-util-image-0.4 >= x11-libs/xcb-util-keysyms-0.4 >= x11-libs/xcb-util-wm-0.3.9 >= x11-libs/libxkbfile-1 ${ALX_DEV_DEPEND} >= x11-libs/libXau-dev-1.0.8 >= x11-libs/libXdmcp-dev-1.1 >= media-libs/freetype-dev-2.6 >= sys-apps/systemd-dev-242 >= sys-fs/udev-dev-242 >= sys-apps/dbus-dev-1.12 >= x11-libs/libXext-dev-1.3 >= x11-libs/libX11-dev-1.6 >= x11-libs/libXi-dev-1.7 >= media-libs/libepoxy-dev-1.5 >= x11-libs/libxshmfence-dev-1.3 >= x11-libs/libXtst-dev-1.2 >= x11-libs/libXres-dev-1.0.7 >= x11-libs/xcb-util-image-dev-0.4 >= x11-libs/xcb-util-keysyms-dev-0.4 >= x11-libs/xcb-util-wm-dev-0.3.9" # base files ALX_PKG_KEEP="etc/X11 usr/bin/X usr/bin/Xorg* usr/$(mlibdir)/${PNAME} usr/$(mlibdir)/xorg/protocol.txt var/lib/xkb/README.compiled" # generic modules ALX_PKG_KEEP+=" usr/$(mlibdir)/xorg/modules/libvgahw.so usr/$(mlibdir)/xorg/modules/libvbe.so usr/$(mlibdir)/xorg/modules/libshadow.so usr/$(mlibdir)/xorg/modules/libexa.so usr/$(mlibdir)/xorg/modules/libint10.so usr/$(mlibdir)/xorg/modules/libfb.so usr/$(mlibdir)/xorg/modules/libshadowfb.so usr/$(mlibdir)/xorg/modules/libglamoregl.so usr/$(mlibdir)/xorg/modules/libfbdevhw.so" # generic extensions ALX_PKG_KEEP+=" usr/$(mlibdir)/xorg/modules/extensions/libextmod.so usr/$(mlibdir)/xorg/modules/extensions/libdbe.so usr/$(mlibdir)/xorg/modules/extensions/libglx.so usr/$(mlibdir)/xorg/modules/extensions/libdri.so usr/$(mlibdir)/xorg/modules/extensions/libdri2.so usr/$(mlibdir)/xorg/modules/extensions/librecord.so" # other drivers ALX_PKG_KEEP+=" usr/$(mlibdir)/xorg/modules/drivers usr/$(mlibdir)/xorg/modules/drivers/extensions usr/$(mlibdir)/xorg/modules/drivers/input usr/$(mlibdir)/xorg/modules/drivers/linux usr/$(mlibdir)/xorg/modules/drivers/multimedia" # libwfb module is needed by the proprietary nvidia-drivers ALX_PKG_KEEP+=" usr/$(mlibdir)/xorg/modules/libwfb.so" # keep cvt and gtf for modline calculating ALX_PKG_KEEP+=" usr/bin/cvt usr/bin/gtf" UP2SUBDIR="xserver" sminclude xorg mtools alx-split SRC_URI=( ${SRC_URI[*]} mirror://${PNAME}/${SRCFILE} ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE} ftp://ftp.freedesktop.org/pub/mesa/${MESA_SRCFILE} #sourceforge://mesa3d/${MESA_SRCFILE} mirror://mesa/${MESA_SRCFILE} mirror://${PNAME}/xvfb-run mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch ) split_info_xvfb() { DESCRIPTION="A virtual framebuffer X11 server." DEPEND="${XVFB_DEPEND}" } src_prepare() { munpack ${SRCFILE} || die munpack ${MESA_SRCFILE} || die cd ${SRCDIR} # adopted from redhat; use a black background mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die # fix build issues, some wrapper files which should be generated # at build time exist and the makefile doesn't whipe them. we patch # the makefile to clean them and whipe these wrapper files rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die # fix xorg.conf.d location sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die mautoreconf || die } src_compile() { cd ${SRCDIR} xorg_src_configure \ --with-mesa-source=${MESA_SRCDIR} \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/$(mlibdir)/${PNAME} \ --with-xkb-output=/var/lib/xkb \ --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \ --disable-install-setuid \ --enable-suid-wrapper \ --enable-ipv6 \ --enable-xorg \ --disable-dmx \ --enable-xvfb \ --disable-xnest \ --enable-dri \ --enable-dri2 \ --enable-dri3 \ --enable-glamor \ --enable-xtrap \ --enable-xevie \ --enable-xcsecurity \ --enable-libunwind \ --disable-xprint \ --enable-glx-tls \ --enable-glx \ --disable-static \ --disable-config-dbus \ --disable-config-hal \ --enable-config-udev \ --enable-composite \ --enable-xinerama \ --enable-systemd-logind \ --with-sha1=libgcrypt \ || die mmake || die } alx_generic_src_install() { xorg_src_install || die # needed directories minstalldir /usr/bin || die # missing symlink mlink Xorg /usr/bin/X || die # xvfb mdelete /usr/bin/Xvfb || die } src_install_xvfb() { cd ${SRCDIR} minstallexec hw/vfb/Xvfb || die # xvfb-run script to ease things minstallexec -s xvfb-run || die # needed directory mkeepdir /usr/share/X11/xkb/compiled || die } postinstall_xorg-server() { # provided by xf86-input-evdev now if [ -f ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf ] then rm ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf fi }