#
# Conditional build:
%bcond_with multigl # package libglx.so in a way allowing concurrent install with nvidia/fglrx drivers
-%bcond_with dri2 # DRI2 support
-%bcond_without hal # HAL support
-%bcond_with record # RECORD extension
-%bcond_with xtrap # XTrap extension (deprecated)
+%bcond_without dri2 # DRI2 support
+%bcond_with dbus # D-BUS support
+%bcond_with hal # HAL support
+%bcond_without udev # UDEV support
+%bcond_without dmx # DMX support
+%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 1.1
+%define xorg_xserver_server_extension_abi 3.0
%define xorg_xserver_server_font_abi 0.6
-%define xorg_xserver_server_videodrv_abi 4.1
-%define xorg_xserver_server_xinput_abi 2.1
+%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.5.3
-Release: 3%{?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: 308971036e25250e7fe3cccfd5a120f8
+# Source0-md5: fb5fa2229a4dee151f4525b2f5747c8c
+Source1: 10-quirks.conf
Source2: xserver.pamd
-Patch0: %{name}-ncurses.patch
-Patch1: %{name}-xwrapper.patch
-Patch2: %{name}-exa.patch
-Patch3: %{name}-edid.patch
-Patch4: %{name}-sanity.patch
-Patch5: %{name}-pic-libxf86config.patch
-Patch6: %{name}-fb-size.patch
+Patch0: %{name}-xwrapper.patch
+Patch1: %{name}-pic-libxf86config.patch
+Patch2: %{name}-fb-size.patch
+Patch3: %{name}-less-acpi-brokenness.patch
+Patch4: %{name}-builtin-SHA1.patch
URL: http://xorg.freedesktop.org/
-BuildRequires: Mesa-libGL-devel >= 7.1
+BuildRequires: Mesa-libGL-devel >= 7.8.1
# for glx headers
BuildRequires: OpenGL-GLX-devel
BuildRequires: autoconf >= 2.57
BuildRequires: automake
BuildRequires: cpp
-%if %{with hal}
+%if %{with hal} || %{with dbus}
BuildRequires: dbus-devel
-BuildRequires: hal-devel
%endif
-BuildRequires: libdrm-devel >= 2.3.1
+%{?with_hal:BuildRequires: hal-devel}
+BuildRequires: libdrm-devel >= 2.4.5
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pam-devel
BuildRequires: perl-base
-BuildRequires: pixman-devel >= 0.9.5
+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-libXi-devel
+BuildRequires: xorg-lib-libXi-devel >= 1.2
BuildRequires: xorg-lib-libXmu-devel
BuildRequires: xorg-lib-libXpm-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
-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
-BuildRequires: xorg-proto-bigreqsproto-devel
+BuildRequires: xorg-lib-xtrans-devel >= 1.2.2
+BuildRequires: xorg-proto-bigreqsproto-devel >= 1.1.0
BuildRequires: xorg-proto-compositeproto-devel >= 0.4
BuildRequires: xorg-proto-damageproto-devel >= 1.1
-BuildRequires: xorg-proto-dmxproto-devel
-BuildRequires: xorg-proto-evieext-devel
-BuildRequires: xorg-proto-fixesproto-devel >= 4.0
+%{?with_dmx:BuildRequires: xorg-proto-dmxproto-devel}
+%{?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.4.2
+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
+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
-%{?with_xtrap:BuildRequires: xorg-proto-trapproto-devel}
BuildRequires: xorg-proto-videoproto-devel
-BuildRequires: xorg-proto-xcmiscproto-devel
-BuildRequires: xorg-proto-xextproto-devel
+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-xf86miscproto-devel
BuildRequires: xorg-proto-xf86vidmodeproto-devel
BuildRequires: xorg-proto-xineramaproto-devel
-BuildRequires: xorg-proto-xproto-devel >= 7.0.9
-BuildRequires: xorg-util-util-macros >= 0.99.2
+BuildRequires: xorg-proto-xproto-devel >= 7.0.13
+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.9.5
+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
Requires: xorg-font-font-misc-misc-base >= 1.0.0-0.3
+Suggests: xkeyboard-config
Provides: xorg-xserver-server(ansic-abi) = %{xorg_xserver_server_ansic_abi}
Provides: xorg-xserver-server(extension-abi) = %{xorg_xserver_server_extension_abi}
Provides: xorg-xserver-server(font-abi) = %{xorg_xserver_server_font_abi}
Obsoletes: XFree86-modules < 1:7.0.0
Obsoletes: XFree86-setup < 1:7.0.0
Obsoletes: Xserver
+Obsoletes: xorg-xserver-server-xorgcfg
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# avoid self-dependencies on included modules
для Xnest в той час, як Xnest керує вікнами та графічними запитами для
своїх власних клієнтів.
-%package -n xorg-xserver-Xprt
-Summary: Xprt - Xprint server for X
-Summary(pl.UTF-8): Xprt - serwer Xprint dla X
+%package -n xorg-xserver-Xephyr
+Summary: Xephyr - nested X server
+Summary(pl.UTF-8): Xephyr - zagnieżdżony serwer X
Group: X11/Servers
-Obsoletes: X11-Xprt < 1:7.0.0
-Obsoletes: XFree86-Xprt < 1:7.0.0
+Requires: pixman >= 0.15.0
-%description -n xorg-xserver-Xprt
-Xprt is the Xprint print server for X Window System for non display
-devices such as printers and fax machines.
+%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.
-%description -n xorg-xserver-Xprt -l pl.UTF-8
-Xprt to serwer wydruków Xprint dla X Window System dla urządzeń nie
-wyświetlających, takich jak drukarki czy faksy.
+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.
+
+%package -n xorg-xserver-Xfbdev
+Summary: Xfbdev - Linux framebuffer device X server
+Summary(pl.UTF-8): Xfbdev - serwer X dla framebuffera
+Group: X11/Servers
+
+%description -n xorg-xserver-Xfbdev
+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 -n xorg-xserver-Xvfb
Summary: Xvfb - virtual framebuffer X server
%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.3.0
-Requires: pixman-devel >= 0.9.5
+Requires: libdrm-devel >= 2.4.5
+Requires: pixman-devel >= 0.16.0
+Requires: xorg-lib-libpciaccess-devel
+Requires: xorg-lib-libxkbfile-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
%description devel -l pl.UTF-8
Pliki nagłówkowe dla serwera X.org.
-%package xorgcfg
-Summary: xorgcfg - graphical configuration tool for X.org server
-Summary(pl.UTF-8): xorgcfg - graficzne narzędzie konfiguracyjne dla serwera X.org
+%package -n xorg-xserver-libdri
+Summary: DRI extension library for X.org server
+Summary(pl.UTF-8): Biblioteka rozszerzenia DRI dla serwera X.org
Group: X11/Servers
Requires: %{name} = %{version}-%{release}
-# just for %{_includedir}/bitmaps dir?
-Requires: xorg-data-xbitmaps
-# for new app-defaults location
-Requires: xorg-lib-libXt >= 1.0.0
-Requires: xorg-lib-libxkbui >= 1.0.2
-
-%description xorgcfg
-xorgcfg is a tool to configure X.org server, and can be used to either
-write the initial configuration file or make customizations to the
-current configuration.
-
-%description xorgcfg -l pl.UTF-8
-xorgcfg to narzędzie do konfiguracji serwera X.org. Można go użyć do
-utworzenia początkowego pliku konfiguracyjnego lub dokonania
-modyfikacji istniejącej konfiguracji.
+Provides: xorg-xserver-module(dri)
+%if %{without multigl}
+Conflicts: xorg-driver-video-fglrx-libdri
+Conflicts: xorg-driver-video-nvidia
+%endif
+
+%description -n xorg-xserver-libdri
+DRI extension library for X.org server.
+
+%description -n xorg-xserver-libdri -l pl.UTF-8
+Biblioteka rozszerzenia DRI dla serwera X.org.
%package -n xorg-xserver-libglx
-Summary: GLX extension library fo X.org server
+Summary: GLX extension library for X.org server
Summary(pl.UTF-8): Biblioteka rozszerzenia GLX dla serwera X.org
Group: X11/Servers
Requires: %{name} = %{version}-%{release}
+Requires: xorg-xserver-libdri = %{version}-%{release}
# Mesa version glapi tables in glx/ dir come from
Provides: xorg-xserver-libglx(glapi) = 7.1.0
-Provides: xorg-xserver-modules-libglx
+Provides: xorg-xserver-module(glx)
Obsoletes: X11-OpenGL-core < 1:7.0.0
Obsoletes: XFree86-OpenGL-core < 1:7.0.0
%if %{without multigl}
+Conflicts: xorg-driver-video-fglrx-libglx
Conflicts: xorg-driver-video-nvidia
%endif
%description -n xorg-xserver-libglx
-GLX extension library fo X.org server.
+GLX extension library for X.org server.
%description -n xorg-xserver-libglx -l pl.UTF-8
Biblioteka rozszerzenia GLX dla serwera X.org.
%prep
%setup -q -n xorg-server-%{version}
-%patch0 -p1
-%patch1 -p0
+%patch0 -p0
+%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
-%patch6 -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}
%configure \
--with-os-name="PLD/Linux" \
--with-os-vendor="PLD/Team" \
- --disable-builtin-fonts \
+ --%{?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-dmx \
+ %{?with_dmx:--enable-dmx} \
--enable-glx-tls \
--enable-install-libxf86config \
%{?with_record:--enable-record} \
+ --enable-kdrive \
+ --enable-xephyr \
+ --enable-xfbdev \
+ --enable-glx-tls \
+ --disable-xsdl \
+ --disable-xfake \
--enable-secure-rpc \
- --enable-xevie \
- --enable-xorgcfg \
- %{?with_xtrap:--enable-xtrap} \
--%{?with_dri2:en}%{!?with_dri2:dis}able-dri2 \
- --disable-xprint \
--with-dri-driver-path=%{_libdir}/xorg/modules/dri \
--with-default-font-path="%{_fontsdir}/misc,%{_fontsdir}/TTF,%{_fontsdir}/OTF,%{_fontsdir}/Type1,%{_fontsdir}/100dpi,%{_fontsdir}/75dpi" \
--with-xkb-output=/var/lib/xkb
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}
%if %{without record}
sed -i -e 's/^\s*Load\s*"record".*$/#& # module disabled in this build/' /etc/X11/xorg.conf
%endif
-%if %{without xtrap}
- sed -i -e 's/^\s*Load\s*"xtrap".*$/#& # deprecated module, disabled/' /etc/X11/xorg.conf
-%endif
+ sed -i -e 's/^\s*Load\s*"xtrap".*$/#& # obsolete module/' /etc/X11/xorg.conf
fi
%files
%attr(4755,root,root) %{_bindir}/Xwrapper
%attr(755,root,root) %{_bindir}/cvt
%attr(755,root,root) %{_bindir}/gtf
-%attr(755,root,root) %{_bindir}/in[bwl]
-%attr(755,root,root) %{_bindir}/ioport
-%attr(755,root,root) %{_bindir}/out[bwl]
-%attr(755,root,root) %{_bindir}/xorgconfig
-%{_libdir}/X11/Cards
-%{_libdir}/X11/Options
%dir %{_libdir}/xorg
%{_libdir}/xorg/protocol.txt
%dir %{_libdir}/xorg/modules
%dir %{_libdir}/xorg/modules/drivers
%dir %{_libdir}/xorg/modules/extensions
%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libdbe.so
-%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libdri.so
%{?with_dri2:%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libdri2.so}
%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libextmod.so
%{?with_record:%attr(755,root,root) %{_libdir}/xorg/modules/extensions/librecord.so}
-%{?with_xtrap:%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libxtrap.so}
-%dir %{_libdir}/xorg/modules/fonts
-%attr(755,root,root) %{_libdir}/xorg/modules/fonts/lib*.so
%dir %{_libdir}/xorg/modules/input
%dir %{_libdir}/xorg/modules/linux
%attr(755,root,root) %{_libdir}/xorg/modules/linux/libfbdevhw.so
%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:/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*
%{_mandir}/man1/gtf.1x*
-%{_mandir}/man1/xorgconfig.1*
%{_mandir}/man4/exa.4*
%{_mandir}/man4/fbdevhw.4*
%{_mandir}/man5/xorg.conf.5x*
+%if %{with dmx}
%files -n xorg-xserver-Xdmx
%defattr(644,root,root,755)
%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*
%{_mandir}/man1/vdltodmx.1x*
%{_mandir}/man1/xdmxconfig.1x*
+%endif
%files -n xorg-xserver-Xnest
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/Xnest
%{_mandir}/man1/Xnest.1x*
+%files -n xorg-xserver-Xephyr
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/Xephyr
+%{_mandir}/man1/Xephyr.1x*
+
+%files -n xorg-xserver-Xfbdev
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/Xfbdev
+
%files -n xorg-xserver-Xvfb
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/Xvfb
%{_aclocaldir}/xorg-server.m4
%{_pkgconfigdir}/xorg-server.pc
-%files xorgcfg
+%files -n xorg-xserver-libdri
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/xorgcfg
-%{_includedir}/X11/bitmaps/*
-%{_includedir}/X11/pixmaps
-%{_datadir}/X11/app-defaults/XOrgCfg
-%{_mandir}/man1/xorgcfg.1x*
+%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libdri.so
%files -n xorg-xserver-libglx
%defattr(644,root,root,755)