Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37491168
en ru br
ALT Linux repos
S:21.1.8-alt1
5.0: 1.6.1-alt3
4.1: 1.4.2-alt10.M41.1

Group :: System/X11
RPM: xorg-server

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define xf86 XFree86

%define mesaversion 7.0.4
%define xorgversion 7.3.2

%define _libexecdir /usr/libexec
%define _modulesdir %_libdir/X11/modules
%define _fontsdir %_datadir/fonts
%define _deffontdir catalogue:%_sysconfdir/X11/fontpath.d

%define _mesasrcdir %_prefix/src/Mesa-%mesaversion

%def_enable dmx
%def_disable xprint
%def_disable xorgcfg
%def_enable aiglx
%def_disable ipv6
%def_disable static

%def_enable glx_tls

%def_enable xephyr
%if_enabled xephyr
%def_enable kdrive
%else
%def_disable kdrive
%endif

Name: xorg-server
Version: 1.4.2
Release: alt10.M41.1
Serial: 2
License: MIT/X11
Summary: Xserver - X Window System display server
Group: System/X11
Url: http://xorg.freedesktop.org
Packager: Valery Inozemtsev <shrek at altlinux.ru>

Obsoletes: %xf86-server xorg-x11-server
Provides: %xf86-server = 4.4 xserver-wrapper xorg-x11-server = %serial:%version-%release
PreReq: xorg-server-control >= 1.3-alt1 %name-common = %version-%release
Conflicts: xorg-x11-xfs <= 1:1.0.1-alt3

Provides: XORG_ABI_VIDEODRV = 2.0
Provides: XORG_ABI_XINPUT = 2.0

Requires: libxorgconfig = %version-%release libXfont
Requires: xset iceauth xdpyinfo
Requires: xorg-drv-vesa xorg-drv-mouse xorg-drv-keyboard xorg-drv-evdev

Source: %name-%version.tar
Patch: %name-%version-%release.patch

BuildRequires: flex libfreetype-devel libICE-devel libSM-devel libX11-devel libXau-devel libXaw-devel
BuildRequires: libXTrap-devel libXdmcp-devel libXext-devel libXfixes-devel libXfontcache-devel
BuildRequires: libXmu-devel libXpm-devel libXrandr-devel libXrender-devel libXres-devel libXv-devel
BuildRequires: libXt-devel libXtst-devel libXxf86misc-devel libXxf86vm-devel libdmx-devel
BuildRequires: libdrm-devel libfontenc-devel libmesa-devel libncurses-devel libtinfo-devel libSDL-devel
BuildRequires: libxkbfile-devel libxkbui-devel zlib-devel mkfontdir mkfontscale xorg-util-macros
BuildRequires: libXi-devel libXfont-devel xorg-proto-devel libpixman-devel xorg-xtrans-devel >= 1.2.1-alt1.M41.1
BuildRequires: Mesa-sources = %mesaversion libhal-devel

%description
X  is  the  generic name for the X Window System display server.  It is
frequently a link or a copy of the appropriate server binary for  driving
the most frequently used server on a given machine.

%package common
Summary: The X server common files
Group: System/X11
PreReq: startup >= 0.9.2-alt1
Requires: xorg-x11-rgb xorg-x11-xauth fonts-bitmap-misc >= 7.0.0-alt2
Requires: xkbcomp xkeyboard-config libhal > 0.5.11-alt8
Provides: xorg-x11-server-common = %serial:%version-%release libXiconfig
Obsoletes: xorg-x11-server-common libXiconfig

%description common
%name-common is common files for X.Org.

%package -n xorg-extensions-glx
Summary: GLX extensions
Group: System/X11
PreReq: libmesa >= %mesaversion x11setupdrv >= 0.4
Provides: xorg-x11-extensions-dri = %serial:%version-%release xorg-x11-extensions-glx = %serial:%version-%release
Obsoletes: xorg-x11-extensions-dri xorg-x11-extensions-glx
Requires: %name = %version-%release glxinfo xdriinfo

%description -n xorg-extensions-glx
GLX extensions for X server

%package -n xorg-drv-multimedia
Summary: Multimedia drivers
Group: System/X11
Requires: %name = %version-%release
Provides: xorg-x11-drv-multimedia = %serial:%version-%release
Obsoletes: xorg-x11-drv-multimedia

%description -n xorg-drv-multimedia
Multimedia drivers for X server

%package -n xorg-xvfb
Summary: A virtual framebuffer X Windows System server for X.Org
Group: System/X11
Requires: %name-common = %version-%release
Provides: %xf86-Xvfb = 4.4 xorg-x11-Xvfb = %xorgversion-%release xorg-x11-xvfb = %serial:%version-%release
Obsoletes: %xf86-Xvfb xorg-x11-Xvfb xorg-x11-xvfb

%description -n xorg-xvfb
Xvfb (X Virtual Frame Buffer) is an X Windows System server
that is capable of running on machines with no display hardware and no
physical input devices.  Xvfb emulates a dumb framebuffer using virtual
memory.  Xvfb doesn't open any devices, but behaves otherwise as an X
display.  Xvfb is normally used for testing servers.  Using Xvfb, the mfb
or cfb code for any depth can be exercised without using real hardware
that supports the desired depths.  Xvfb has also been used to test X
clients against unusual depths and screen configurations, to do batch
processing with Xvfb as a background rendering engine, to do load testing,
to help with porting an X server to a new platform, and to provide an
unobtrusive way of running applications which really don't need an X
server but insist on having one.

If you need to test your X server or your X clients, you may want to
install Xvfb for that purpose.

%package -n xorg-xnest
Summary: A nested X.Org server
Group: System/X11
Requires: %name-common = %version-%release
Provides: %xf86-Xnest = 4.4 xorg-x11-Xnest = %xorgversion-%release xorg-x11-xnest = %serial:%version-%release
Obsoletes: %xf86-Xnest xorg-x11-Xnest xorg-x11-xnest

%description -n xorg-xnest
Xnest is an X Window System server which runs in an X window.
Xnest is a 'nested' window server, actually a client of the
real X server, which manages windows and graphics requests
for Xnest, while Xnest manages the windows and graphics
requests for its own clients.

You will need to install Xnest if you require an X server which
will run as a client of your real X server (perhaps for
testing purposes).

%package -n xorg-xephyr
Summary: A kdrive-based X server
Group: System/X11
Requires: %name-common = %version-%release
Provides: xorg-x11-xephyr = %serial:%version-%release
Obsoletes: xorg-x11-xephyr

%description -n xorg-xephyr
Xephyr is a kdrive based X Server which targets a window on
a host X Server as its framebuffer. Unlike Xnest it supports
modern X extensions (even if host server doesn't) such as Composite,
Damage, randr etc.

It uses SHM Images and shadow framebuffer updates to provide
good performance.
It also has a visual debugging mode for observing screen updates.

%package -n xorg-xdmx
Summary: Multi-head X server
Group: System/X11
Requires: %name = %version-%release
Obsoletes: xorg-x11-Xdmx xorg-x11-xdmx
Provides: xorg-x11-Xdmx = %xorgversion-%release xorg-x11-xdmx = %serial:%version-%release

%description -n xorg-xdmx
Xdmx  is  a proxy X server that uses one or more other X servers as its
display devices.  It provides multi-head X functionality  for  displays
that  might  be  located  on  different  machines.  Xdmx functions as a
front-end X server that acts as a proxy to a set of back-end X servers.
All  of  the  visible  rendering  is  passed to the back-end X servers.
Clients connect to the Xdmx front-end, and  everything  appears  as  it
would  in  a  regular multi-head configuration.  If Xinerama is enabled
(e.g., with +xinerama on the command line), the clients  see  a  single
large screen.

Xdmx communicates to the back-end X servers using the standard X11 pro-
tocol, and standard and/or commonly available X server extensions.

%package -n libxorgconfig
Summary: Shared libraries for read and write XOrg configuration files
Group: System/Libraries

%description -n libxorgconfig
This package contains the shared libraries for read and write XOrg configuration
files.

%package -n libxorgconfig-devel
Summary: xf86config Library and Header Files
Group: Development/C
Requires: libxorgconfig = %version-%release
Conflicts: XFree86-devel < 4.4 xorg-x11-devel <= 0:6.9.0

%description -n libxorgconfig-devel
libxorgconfig-devel contains the libraries and header files needed to
develop programs which make use of libxorgconfig.

%package -n xorg-sdk
Summary: SDK for X server driver module development
Group: Development/C
Requires: libdrm-devel libpixman-devel libxorgconfig-devel
Provides: xorg-x11-sdk = %serial:%version-%release
Obsoletes: xorg-x11-sdk

%description -n xorg-sdk
The SDK package provides the developmental files which are necessary for
developing X server driver modules, and for compiling driver modules
outside of the standard X11 source code tree.  Developers writing video
drivers, input drivers, or other X modules should install this package.

%prep
%setup -q
%patch -p1

%build
%autoreconf
%configure \
--with-os-name="%(cat %_sysconfdir/altlinux-release)" \
--with-os-vendor="%(uname -m)" \
--with-builder-addr="%packager" \
--with-vendor-web=https://bugzilla.altlinux.org/ \
--with-serverconfig-path=%_sysconfdir/X11/xserver \
--with-module-dir=%_modulesdir \
--with-dri-driver-path=%_modulesdir/dri \
--with-mesa-source=%_mesasrcdir \
--with-log-dir=%_logdir \
--with-xkb-path=%_datadir/X11/xkb \
--with-xkb-output=%_localstatedir/xkb \
--with-rgb-path=%_datadir/X11/rgb \
--with-default-font-path=%_deffontdir \
--with-fontdir=%_datadir/X11/fonts \
--enable-config-hal \
--disable-afb \
--disable-cfb \
--disable-mfb \
--disable-config-dbus \
%{subst_enable dmx} \
%{subst_enable glx_tls} \
%{subst_enable xephyr} \
%{subst_enable kdrive} \
%{subst_enable aiglx} \
%{subst_enable ipv6} \
%{subst_enable xorgcfg} \
%{subst_enable xprint} \
%{subst_enable static}
%make_build

%install
%make DESTDIR=%buildroot install

find %buildroot%_modulesdir -name \*.la -delete

mkdir -p %buildroot%_modulesdir/{drivers,input}

mkdir -p %buildroot%_datadir/X11
mkdir -p %buildroot%_sysconfdir/X11/app-defaults

mkdir -p %buildroot%_sysconfdir/X11/lib

# move GLX

mkdir -p %buildroot%_libdir/X11/mesa_gl
mv %buildroot%_modulesdir/extensions/libglx.so %buildroot%_libdir/X11/mesa_gl/libglx-x11.so
ln -sf ../../..%_libdir/X11/mesa_gl/libglx-x11.so %buildroot%_sysconfdir/X11/lib/libglx.so
ln -sf ../../../../..%_sysconfdir/X11/lib/libglx.so %buildroot%_modulesdir/extensions/libglx.so

mv %buildroot%_modulesdir/libwfb.so %buildroot%_modulesdir/libwfb-x11.so
ln -sf ../../..%_modulesdir/libwfb-x11.so %buildroot%_sysconfdir/X11/lib/libwfb.so
ln  -sf ../../../..%_sysconfdir/X11/lib/libwfb.so %buildroot%_modulesdir/libwfb.so

# script for switch libGL and GLX

install -pD -m755 x11-switch %buildroot%_libexecdir/X11/drv.d/x11
subst "s, at  at libdir at  at ,%_libdir,g" %buildroot%_libexecdir/X11/drv.d/x11

install -pD -m644 xserver.pamd %buildroot%_sysconfdir/pam.d/xserver
mkdir -p %buildroot%_sysconfdir/security/console.apps
touch %buildroot%_sysconfdir/security/console.apps/xserver

# rpm macros

install -pD -m644 xorg-sdk.rpmmacros %buildroot%_sysconfdir/rpm/macros.d/xorg-sdk

%pre
%_sbindir/groupadd -r -f xgrp
%pre_control xorg-server

%post
[ -r %_sysconfdir/X11/lib/libwfb.so ] || \
ln -sf ../../..%_modulesdir/libwfb-x11.so %_sysconfdir/X11/lib/libwfb.so
%post_control xorg-server

%triggerin -- %xf86-server, xorg-x11-server <= 2:1.3.0.0-alt23
cd %_sysconfdir/X11
for d in xorg.conf XF86Config XF86Config-4; do
if [ -r $d -a -w $d ]; then
subst '/^.*Load.*\"\(pex5\|xie\|xtt\|drm\|type1\).*\"/d' $d
subst 's,Load\(.*\)\"\/usr\/X11R6\/lib\/modules\/extensions\/libglx.\(a\|so\)\",Load\1"glx",' $d
subst 's,^\(.*RgbPath.*\)\(\"\/usr\/X11R6\/lib\/X11\/rgb\"\),\1"%_datadir/X11/rgb",' $d
subst 's/^.*ModulePath/#&/' $d
subst 's/^.*FontPath/#&/' $d
subst '/^.*Option.*\"XkbRules\".*/d' $d
subst 's,Option\(.*\"XkbOptions\".*grp:\)ctrl_toggle\(.*\),Option\1rctrl_toggle\2,' $d
subst 's,Option\(.*\"XkbOptions\".*grp:\)rctrl_shift_toggle\(.*\),Option\1ctrl_shift_toggle\2,' $d
subst 's,Driver\(.*\)\"[kK]eyboard\",Driver\1"kbd",' $d
subst 's,Driver\(.*\)\"\(.*_gatos\)\",Driver\1"ati",' $d
subst 's,Driver\(.*\)\"via.*\",Driver\1"openchrome",' $d
fi
done
for d in XF86Config-4 XF86Config ; do
if [ -r $d ]; then
if [ -r xorg.conf ]; then
mv -f $d $d.obsoleted
else
mv -f $d xorg.conf
fi
fi
done

%post -n xorg-extensions-glx
if [ -r %_sysconfdir/X11/xorg.conf ]; then
%_bindir/x11setupdrv
else
[ -r %_sysconfdir/X11/lib/libglx.so ] || \
ln -sf ../../..%_libdir/X11/mesa_gl/libglx-x11.so %_sysconfdir/X11/lib/libglx.so
fi
%post_ldconfig

%postun -n xorg-extensions-glx -p %postun_ldconfig

%post -n libxorgconfig -p %post_ldconfig

%postun -n libxorgconfig -p %postun_ldconfig

%files
%config(noreplace) %_sysconfdir/pam.d/xserver
%config(missingok noreplace) %_sysconfdir/security/console.apps/xserver
%dir %_sysconfdir/X11/lib
%ghost %_sysconfdir/X11/lib/libwfb.so
%_bindir/X
%attr(0700,root,root) %_bindir/Xorg
%_bindir/gtf
%_bindir/cvt
%dir %_modulesdir/drivers
%dir %_modulesdir/input
%_modulesdir/fonts
%dir %_modulesdir/linux
%_modulesdir/linux/libfbdevhw.so
%dir %_modulesdir/extensions
%_modulesdir/extensions/libdbe.so
%_modulesdir/extensions/libextmod.so
%_modulesdir/extensions/librecord.so
%_modulesdir/extensions/libxtrap.so
%_modulesdir/*.so
%_man1dir/Xorg.1*
%_man1dir/gtf.1*
%_man1dir/cvt.1*
%_man1dir/Xserver.1*
%_man4dir/fbdevhw.4*
%_man4dir/exa.4*
%_man5dir/xorg.conf.5*

%files common
%dir %_sysconfdir/X11/app-defaults
%_sysconfdir/X11/xserver
%config(noreplace missingok) %_sysconfdir/hal/fdi/policy/10-x11-input.fdi
%dir %_libdir/X11
%dir %_datadir/X11
%dir %_modulesdir
%_localstatedir/xkb
%_man5dir/SecurityPolicy.5*

%files -n xorg-extensions-glx
%ghost %_sysconfdir/X11/lib/libglx.so
%dir %_libexecdir/X11
%_libexecdir/X11/drv.d
%dir %_modulesdir/extensions
%_modulesdir/extensions/libGLcore.so
%_modulesdir/extensions/libglx.so
%_modulesdir/extensions/libdri.so
%_libdir/X11/mesa_gl

%files -n xorg-drv-multimedia
%_modulesdir/multimedia

%files -n xorg-xvfb
%_bindir/Xvfb
%_man1dir/Xvfb.1*

%files -n xorg-xnest
%_bindir/Xnest
%_man1dir/Xnest.1*

%if_enabled xephyr
%files -n xorg-xephyr
%_bindir/Xephyr
%endif

%if_enabled dmx
%files -n xorg-xdmx
%_bindir/*dmx*
%_man1dir/*dmx*.1*
%endif

%files -n libxorgconfig
%_libdir/*.so.*

%files -n libxorgconfig-devel
%_includedir/*.h
%_libdir/libx*.so

%files -n xorg-sdk
%_includedir/xorg
%_pkgconfigdir/*.pc
%_datadir/aclocal/*.m4
%_sysconfdir/rpm/macros.d/xorg-sdk

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin