# Conditional build:
%bcond_with multigl # package libglx.so in a way allowing concurrent install with nvidia/fglrx drivers
%bcond_without dri2 # DRI2 support
-%bcond_without dbus # D-BUS support
-%bcond_without hal # HAL support
+%bcond_with dbus # D-BUS support
+%bcond_with hal # HAL support
+%bcond_without udev # UDEV support
%bcond_without dmx # DMX support
-%bcond_with record # RECORD extension
+%bcond_without record # RECORD extension
#
# ABI versions, see hw/xfree86/common/xf86Module.h
%define xorg_xserver_server_ansic_abi 0.4
-%define xorg_xserver_server_extension_abi 2.0
+%define xorg_xserver_server_extension_abi 3.0
%define xorg_xserver_server_font_abi 0.6
-%define xorg_xserver_server_videodrv_abi 5.0
-%define xorg_xserver_server_xinput_abi 4.0
+%define xorg_xserver_server_videodrv_abi 7.0
+%define xorg_xserver_server_xinput_abi 9.0
+%define rel 1
Summary: X.org server
Summary(pl.UTF-8): Serwer X.org
Name: xorg-xserver-server
-Version: 1.6.0
-Release: 6%{?with_multigl:.mgl}
+Version: 1.8.1.901
+Release: %{rel}%{?with_multigl:.mgl}
License: MIT
Group: X11/Servers
Source0: http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
-# Source0-md5: aafe73f5807ce8bb534727ecb72467c7
+# Source0-md5: fb5fa2229a4dee151f4525b2f5747c8c
+Source1: 10-quirks.conf
Source2: xserver.pamd
Patch0: %{name}-xwrapper.patch
Patch1: %{name}-pic-libxf86config.patch
Patch2: %{name}-fb-size.patch
-Patch3: %{name}-exa.patch
-Patch4: %{name}-xinerama-bug20557.patch
-Patch5: %{name}-preferred-thinko.patch
-Patch6: %{name}-xinerama-cursors.patch
-Patch7: %{name}-xtest-pointerscreen.patch
-Patch8: %{name}-less-acpi-brokenness.patch
-Patch9: %{name}-xiproptoint.patch
-Patch10: %{name}-xatom-float.patch
+Patch3: %{name}-less-acpi-brokenness.patch
+Patch4: %{name}-builtin-SHA1.patch
URL: http://xorg.freedesktop.org/
-BuildRequires: Mesa-libGL-devel >= 7.3
+BuildRequires: Mesa-libGL-devel >= 7.8.1
# for glx headers
BuildRequires: OpenGL-GLX-devel
BuildRequires: autoconf >= 2.57
BuildRequires: ncurses-devel
BuildRequires: pam-devel
BuildRequires: perl-base
-BuildRequires: pixman-devel >= 0.14.0
+BuildRequires: pixman-devel >= 0.16.0
BuildRequires: pkgconfig >= 1:0.19
+BuildRequires: udev-devel
BuildRequires: xorg-app-mkfontscale
+BuildRequires: xorg-font-font-util >= 1.1
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXau-devel
BuildRequires: xorg-lib-libXaw-devel
+BuildRequires: xorg-lib-libXdamage-devel
BuildRequires: xorg-lib-libXdmcp-devel
BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXfont-devel
BuildRequires: xorg-lib-libXrender-devel
BuildRequires: xorg-lib-libXres-devel
BuildRequires: xorg-lib-libXt-devel >= 1.0.0
-BuildRequires: xorg-lib-libXtst-devel
+BuildRequires: xorg-lib-libXtst-devel >= 1.0.99.2
BuildRequires: xorg-lib-libXv-devel
BuildRequires: xorg-lib-libXxf86dga-devel
BuildRequires: xorg-lib-libXxf86misc-devel
BuildRequires: xorg-lib-libXxf86vm-devel
-%{?with_dmx:BuildRequires: xorg-lib-libdmx-devel}
+%{?with_dmx:BuildRequires: xorg-lib-libdmx-devel >= 1.0.99.1}
BuildRequires: xorg-lib-libfontenc-devel
BuildRequires: xorg-lib-libpciaccess-devel
BuildRequires: xorg-lib-libxkbfile-devel
BuildRequires: xorg-lib-libxkbui-devel >= 1.0.2
BuildRequires: xorg-lib-xtrans-devel >= 1.2.2
-BuildRequires: xorg-proto-bigreqsproto-devel
+BuildRequires: xorg-proto-bigreqsproto-devel >= 1.1.0
BuildRequires: xorg-proto-compositeproto-devel >= 0.4
BuildRequires: xorg-proto-damageproto-devel >= 1.1
%{?with_dmx:BuildRequires: xorg-proto-dmxproto-devel}
-%{?with_dri2:BuildRequires: xorg-proto-dri2proto-devel >= 1.99.3}
-BuildRequires: xorg-proto-evieext-devel
-BuildRequires: xorg-proto-fixesproto-devel >= 4.0
+%{?with_dri2:BuildRequires: xorg-proto-dri2proto-devel >= 2.1}
+BuildRequires: xorg-proto-fixesproto-devel >= 4.1
BuildRequires: xorg-proto-fontcacheproto-devel
BuildRequires: xorg-proto-fontsproto-devel
BuildRequires: xorg-proto-glproto-devel >= 1.4.8
-BuildRequires: xorg-proto-inputproto-devel >= 1.5.0
+BuildRequires: xorg-proto-inputproto-devel >= 1.9.99.902
BuildRequires: xorg-proto-kbproto-devel >= 1.0.3
BuildRequires: xorg-proto-printproto-devel
BuildRequires: xorg-proto-randrproto-devel >= 1.2.99.3
%{?with_record:BuildRequires: xorg-proto-recordproto-devel}
-BuildRequires: xorg-proto-renderproto-devel >= 0.9.3
+BuildRequires: xorg-proto-renderproto-devel >= 0.11
BuildRequires: xorg-proto-resourceproto-devel
BuildRequires: xorg-proto-scrnsaverproto-devel >= 1.1.0
BuildRequires: xorg-proto-videoproto-devel
-BuildRequires: xorg-proto-xcmiscproto-devel
-BuildRequires: xorg-proto-xextproto-devel >= 7.0.3
+BuildRequires: xorg-proto-xcmiscproto-devel >= 1.2.0
+BuildRequires: xorg-proto-xextproto-devel >= 1:7.0.99.3
BuildRequires: xorg-proto-xf86bigfontproto-devel
BuildRequires: xorg-proto-xf86dgaproto-devel
BuildRequires: xorg-proto-xf86driproto-devel >= 2.0.4
BuildRequires: xorg-proto-xf86vidmodeproto-devel
BuildRequires: xorg-proto-xineramaproto-devel
BuildRequires: xorg-proto-xproto-devel >= 7.0.13
-BuildRequires: xorg-util-util-macros >= 0.99.2
+BuildRequires: xorg-util-util-macros >= 1.5
#BR: xcalibrateproto, tslib (for KDRIVE only)
#BR: glitz-devel >= 0.4.3 (for XGL and EGL only)
Requires(triggerpostun): sed >= 4.0
-Requires: pixman >= 0.14.0
+Requires: pixman >= 0.16.0
Requires: xkeyboard-config
# for rgb.txt
Requires: xorg-app-rgb >= 0.99.3
Requires: xorg-app-xkbcomp
+%{?with_hal:Suggests: dbus}
+%{?with_hal:Suggests: hal}
+%{?with_udev:Suggests: udev-core}
+Suggests: udev-acl
+Suggests: xorg-driver-input-evdev
# xserver requires fixed and cursor fonts
Requires: xorg-font-font-alias
Requires: xorg-font-font-cursor-misc
Summary: Xephyr - nested X server
Summary(pl.UTF-8): Xephyr - zagnieżdżony serwer X
Group: X11/Servers
+Requires: pixman >= 0.15.0
%description -n xorg-xserver-Xephyr
Xephyr is a a kdrive server that outputs to a window on a pre-existing
'host' X display. Think Xnest but with support for modern extensions
like composite, damage and randr.
-Unlike Xnest which is an X proxy, i.e. limited to the
-capabilities of the host X server, Xephyr is a real X server which
-uses the host X server window as "framebuffer" via fast SHM XImages.
+Unlike Xnest which is an X proxy, i.e. limited to the capabilities of
+the host X server, Xephyr is a real X server which uses the host X
+server window as "framebuffer" via fast SHM XImages.
It also has support for 'visually' debugging what the server is
painting.
%description -n xorg-xserver-Xephyr -l pl.UTF-8
Xephyr jest serwerem opartym na kdrive wyświetlającym w oknie na
-istniejącym ekranie X. Można o nim myśleć jako o Xnest ze wsparciem
-do wspólczesnych rozszerzeń jak composite, damage i randr.
+istniejącym ekranie X. Można o nim myśleć jako o Xnest ze wsparciem do
+wspólczesnych rozszerzeń jak composite, damage i randr.
%package -n xorg-xserver-Xfbdev
Summary: Xfbdev - Linux framebuffer device X server
Group: X11/Servers
%description -n xorg-xserver-Xfbdev
-Xfbdev is a Linux framebuffer device X server based on the
-kdrive X server.
+Xfbdev is a Linux framebuffer device X server based on the kdrive X
+server.
%description -n xorg-xserver-Xfbdev -l pl.UTF-8
Xfbdev jest serwerem X dla framebuffera opartym na kdrive.
%package devel
Summary: Header files for X.org server
-Summary(pl.UTF-8): Pliki nagłówkowe dla servera X.org
+Summary(pl.UTF-8): Pliki nagłówkowe dla serwera X.org
Group: X11/Development/Libraries
Requires: libdrm-devel >= 2.4.5
-Requires: pixman-devel >= 0.14.0
+Requires: pixman-devel >= 0.16.0
Requires: xorg-lib-libpciaccess-devel
Requires: xorg-lib-libxkbfile-devel
-Requires: xorg-proto-dri2proto-devel
+Requires: xorg-proto-dri2proto-devel >= 2.1
Requires: xorg-proto-fontsproto-devel
+Requires: xorg-proto-inputproto-devel >= 1.9.99.902
+Requires: xorg-proto-randrproto-devel >= 1.2.99.3
Requires: xorg-proto-renderproto-devel >= 0.9.3
Requires: xorg-proto-videoproto-devel
-Requires: xorg-proto-xextproto-devel
-Requires: xorg-proto-xproto-devel >= 7.0.9
+Requires: xorg-proto-xextproto-devel >= 1:7.0.99.3
+Requires: xorg-proto-xproto-devel >= 7.0.13
Obsoletes: X11-Xserver-devel < 1:7.0.0
Obsoletes: XFree86-Xserver-devel < 1:7.0.0
Requires: %{name} = %{version}-%{release}
Provides: xorg-xserver-module(dri)
%if %{without multigl}
-Conflicts: xorg-driver-video-nvidia
Conflicts: xorg-driver-video-fglrx-libdri
+Conflicts: xorg-driver-video-nvidia
%endif
%description -n xorg-xserver-libdri
Obsoletes: X11-OpenGL-core < 1:7.0.0
Obsoletes: XFree86-OpenGL-core < 1:7.0.0
%if %{without multigl}
-Conflicts: xorg-driver-video-nvidia
Conflicts: xorg-driver-video-fglrx-libglx
+Conflicts: xorg-driver-video-nvidia
%endif
%description -n xorg-xserver-libglx
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
# xserver uses pixman-1 API/ABI so put that explictly here
sed -i -e 's#<pixman\.h#<pixman-1/pixman.h#g' ./fb/fb.h ./include/miscstruct.h ./render/picture.h
fi
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
--with-os-vendor="PLD/Team" \
--%{?with_dbus:en}%{!?with_dbus:dis}able-config-dbus \
%{!?with_hal:--disable-config-hal} \
+ --%{?with_udev:en}%{!?with_udev:dis}able-config-udev \
--enable-aiglx \
--enable-builddocs \
--enable-dga \
--enable-kdrive \
--enable-xephyr \
--enable-xfbdev \
+ --enable-glx-tls \
--disable-xsdl \
--disable-xfake \
--enable-secure-rpc \
DESTDIR=$RPM_BUILD_ROOT
install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/xserver
-install -d $RPM_BUILD_ROOT/etc/security/console.apps
+install -d $RPM_BUILD_ROOT/etc/{security/console.apps,X11/xorg.conf.d}
install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{dri,drivers,input}
+install -d $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
+
:> $RPM_BUILD_ROOT/etc/security/console.apps/xserver
:> $RPM_BUILD_ROOT/etc/security/blacklist.xserver
rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{*,*/*}.{la,a}
+install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d/10-quirks.conf
+
%if %{with multigl}
cd $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions
mv -f libglx.so libglx.so.%{version}
%attr(4755,root,root) %{_bindir}/Xwrapper
%attr(755,root,root) %{_bindir}/cvt
%attr(755,root,root) %{_bindir}/gtf
-%{_libdir}/X11/Options
%dir %{_libdir}/xorg
%{_libdir}/xorg/protocol.txt
%dir %{_libdir}/xorg/modules
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/xserver
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.xserver
%config(missingok) /etc/security/console.apps/xserver
-%{?with_dbus:%{_sysconfdir}/dbus-1/system.d/xorg-server.conf}
+%{?with_dbus:/etc/dbus-1/system.d/xorg-server.conf}
+%dir /etc/X11/xorg.conf.d
+%dir %{_datadir}/X11/xorg.conf.d
+# overwrite these settings with local configs in /etc/X11/xorg.conf.d
+%verify(not md5 mtime size) %{_datadir}/X11/xorg.conf.d/*.conf
%{_mandir}/man1/Xorg.1x*
%{_mandir}/man1/Xserver.1x*
%{_mandir}/man1/cvt.1*
%attr(755,root,root) %{_bindir}/Xdmx
%attr(755,root,root) %{_bindir}/dmxaddinput
%attr(755,root,root) %{_bindir}/dmxaddscreen
+%attr(755,root,root) %{_bindir}/dmxinfo
%attr(755,root,root) %{_bindir}/dmxreconfig
%attr(755,root,root) %{_bindir}/dmxresize
%attr(755,root,root) %{_bindir}/dmxrminput
%attr(755,root,root) %{_bindir}/dmxtodmx
%attr(755,root,root) %{_bindir}/dmxwininfo
%attr(755,root,root) %{_bindir}/vdltodmx
-%attr(755,root,root) %{_bindir}/xdmx
%attr(755,root,root) %{_bindir}/xdmxconfig
%{_mandir}/man1/Xdmx.1x*
%{_mandir}/man1/dmxtodmx.1x*