File libxcb.spec of Package libxcb

#
# spec file for package libxcb
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           libxcb
%define lname   libxcb1
Version:        1.11.1
Release:        0
Summary:        X11 core protocol C library
License:        MIT
Group:          Development/Libraries/C and C++
Url:            http://xcb.freedesktop.org/

#Git-Clone:	git://anongit.freedesktop.org/xcb/libxcb
#Git-Web:	http://cgit.freedesktop.org/xcb/libxcb/
#DL-URL:	http://xcb.freedesktop.org/dist/
Source:         %{name}-%{version}.tar.bz2
Source1:        baselibs.conf
Patch1:         bug-262309_xcb-xauthlocalhostname.diff
Patch2:         n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  autoconf >= 2.57
BuildRequires:  automake
BuildRequires:  libtool
BuildRequires:  pkgconfig
BuildRequires:  python-base >= 2.6
BuildRequires:  python-xml
BuildRequires:  pkgconfig(check) >= 0.9.4
BuildRequires:  pkgconfig(pthread-stubs)
BuildRequires:  pkgconfig(xau) >= 0.99.2
BuildRequires:  pkgconfig(xcb-proto) >= 1.11
BuildRequires:  pkgconfig(xorg-macros) >= 1.18
#optional#BuildRequires:	pkgconfig(xdmcp)
%if 0%{?suse_version} >= 1210
BuildRequires:  xsltproc
%else
BuildRequires:  libxslt
%endif
BuildRequires:  python-xcb-proto-devel >= 7.6_1.11

%description
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb1
Summary:        X11 core protocol C library
Group:          System/Libraries
# O/P added for 12.2
Provides:       xorg-x11-libxcb = 7.6_%version-%release
Obsoletes:      xorg-x11-libxcb < 7.6_%version-%release

%description -n libxcb1
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-composite0
Summary:        X11 Composite Extension C library
Group:          System/Libraries

%description -n libxcb-composite0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The Composite extension causes a entire sub-tree of the window
hierarchy to be rendered to an off-screen buffer. Applications can
then take the contents of that buffer and do whatever they like. The
off-screen buffer can be automatically merged into the parent window
or merged by external programs, called compositing managers.

%package -n libxcb-damage0
Summary:        X11 Damage Extension C library
Group:          System/Libraries

%description -n libxcb-damage0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The X Damage Extension allows applications to track modified regions
of drawables.

%package -n libxcb-dpms0
Summary:        X11 DPMS Extension C library
Group:          System/Libraries

%description -n libxcb-dpms0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-dri2-0
Summary:        X11 DRI2 Extension C library
Group:          System/Libraries

%description -n libxcb-dri2-0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-dri3-0
Summary:        X11 DRI3 Extension C library
Group:          System/Libraries

%description -n libxcb-dri3-0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-glx0
Summary:        X11 GLX Extension C library
Group:          System/Libraries

%description -n libxcb-glx0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-randr0
Summary:        X11 RandR Extension C library
Group:          System/Libraries

%description -n libxcb-randr0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The X Resize, Rotate and Reflect Extension (RandR) allows clients to
dynamically change X screens, so as to resize, to change the
orientation and layout of the root window of a screen.

%package -n libxcb-record0
Summary:        X11 RECORD Extension C library
Group:          System/Libraries

%description -n libxcb-record0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The RECORD extension supports the recording and reporting of all core
X protocol and arbitrary X extension protocol.

%package -n libxcb-render0
Summary:        X11 Render Extension C library
Group:          System/Libraries

%description -n libxcb-render0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-res0
Summary:        X11 Resource Extension C library
Group:          System/Libraries

%description -n libxcb-res0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-screensaver0
Summary:        X11 ScreenSaver Extension C library
Group:          System/Libraries

%description -n libxcb-screensaver0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The X Window System provides support for changing the image on a
display screen after a user-settable period of inactivity to avoid
burning the cathode ray tube phosphors. This extension allows an
external "screen saver" client to detect when the alternate image is
to be displayed and to provide the graphics.

%package -n libxcb-shape0
Summary:        X11 Shape Extension C library
Group:          System/Libraries

%description -n libxcb-shape0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

- X11 Nonrectangular Window Shape extension (Xshape)

%package -n libxcb-shm0
Summary:        X11 Shared Memory Extension C library
Group:          System/Libraries

%description -n libxcb-shm0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The MIT Shared Memory (MIT-SHM) Extension allows exchanging image
data between client and server using shared memory, so that it does
not need to be transferred over sockets.

%package -n libxcb-sync1
Summary:        X11 Sync Extension C library
Group:          System/Libraries

%description -n libxcb-sync1
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-present0
Summary:        X11 Present Extension C library
Group:          System/Libraries

%description -n libxcb-present0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-xevie0
Summary:        X11 Xevie Extension C library
Group:          System/Libraries

%description -n libxcb-xevie0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The EvIE (Event Interception Extension) allows for clients to be able
to intercept all events coming through the server and then decide
what to do with them, including being able to modify or discard
events.

%package -n libxcb-xf86dri0
Summary:        X11 XFree86-DRI Extension C library
Group:          System/Libraries

%description -n libxcb-xf86dri0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

%package -n libxcb-xfixes0
Summary:        X11 Xfixes Extension C library
Group:          System/Libraries

%description -n libxcb-xfixes0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The X Fixes extension provides applications with work-arounds for
various limitations in the core protocol.

%package -n libxcb-xkb1
Summary:        X11 Keyboard Extension C library
Group:          System/Libraries

%description -n libxcb-xkb1
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

Xkb extends the ability to control the keyboard
over what is offered by the X Window System core protocol.

%package -n libxcb-xinerama0
Summary:        X11 Xinerama Extension C library
Group:          System/Libraries

%description -n libxcb-xinerama0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

Xinerama is an extension to the X Window System which enables
multi-headed X applications and window managers to use two or more
physical displays as one large virtual display.

%package -n libxcb-xprint0
Summary:        X11 XPrint Extension C library
Group:          System/Libraries

%description -n libxcb-xprint0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

libxcb-xprint provides APIs to allow client applications to render to
non-display devices.

%package -n libxcb-xtest0
Summary:        X11 XTEST Extension C library
Group:          System/Libraries

%description -n libxcb-xtest0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The XTEST extension is a minimal set of client and server extensions
required to completely test the X11 server with no user intervention.
This extension is not intended to support general journaling and
playback of user actions.

%package -n libxcb-xv0
Summary:        X11 video Extension C library
Group:          System/Libraries

%description -n libxcb-xv0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

The X Video Extension (Xv) extension provides support for video
adaptors attached to an X display. It takes the approach that a
display may have one or more video adaptors, each of which has one or
more ports through which independent video streams pass.

%package -n libxcb-xvmc0
Summary:        X11 Video Motion Compensation Extension C library
Group:          System/Libraries

%description -n libxcb-xvmc0
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

X-Video Motion Compensation (XvMC), is an extension of the X video
extension (Xv) for the X Window System. The XvMC API allows video
programs to offload portions of the video decoding process to the GPU
video-hardware.

%package devel
Summary:        Development files for the X11 protocol C library
Group:          Development/Libraries/C and C++
Requires:       libxcb-composite0 = %version
Requires:       libxcb-damage0 = %version
Requires:       libxcb-dpms0 = %version
Requires:       libxcb-dri2-0 = %version
Requires:       libxcb-dri3-0 = %version
Requires:       libxcb-glx0 = %version
Requires:       libxcb-present0 = %version
Requires:       libxcb-randr0 = %version
Requires:       libxcb-record0 = %version
Requires:       libxcb-render0 = %version
Requires:       libxcb-res0 = %version
Requires:       libxcb-screensaver0 = %version
Requires:       libxcb-shape0 = %version
Requires:       libxcb-shm0 = %version
Requires:       libxcb-sync1 = %version
Requires:       libxcb-xevie0 = %version
Requires:       libxcb-xf86dri0 = %version
Requires:       libxcb-xfixes0 = %version
Requires:       libxcb-xinerama0 = %version
Requires:       libxcb-xkb1 = %version
Requires:       libxcb-xprint0 = %version
Requires:       libxcb-xtest0 = %version
Requires:       libxcb-xv0 = %version
Requires:       libxcb-xvmc0 = %version
# O/P added for 12.2
Provides:       xorg-x11-libxcb-devel = 7.6_%version-%release
Obsoletes:      xorg-x11-libxcb-devel < 7.6_%version-%release

%description devel
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

This package contains the development headers for the library found
in %lname.

%package devel-doc
Summary:        Documentation for libxcb
Group:          Documentation/Man
BuildArch:      noarch

%description devel-doc
The X protocol C-language Binding (XCB) is a replacement for Xlib
featuring a small footprint, latency hiding, direct access to the
protocol, improved threading support, and extensibility.

This subpackage contains the manual pages and documentation for
libxcb.

%prep
%setup -q
%patch -P 1 -p0
%patch2 -p1

%build
./autogen.sh
%configure --docdir=%_docdir/%name \
           --disable-static \
           --enable-xkb \
           --enable-sendfds
make %{?_smp_mflags}

%install
make install DESTDIR="%buildroot"
rm -f "%buildroot/%_libdir"/*.la

%post   -n libxcb1 -p /sbin/ldconfig

%postun -n libxcb1 -p /sbin/ldconfig

%post   -n libxcb-composite0 -p /sbin/ldconfig

%postun -n libxcb-composite0 -p /sbin/ldconfig

%post   -n libxcb-damage0 -p /sbin/ldconfig

%postun -n libxcb-damage0 -p /sbin/ldconfig

%post   -n libxcb-dpms0 -p /sbin/ldconfig

%postun -n libxcb-dpms0 -p /sbin/ldconfig

%post   -n libxcb-dri2-0 -p /sbin/ldconfig

%postun -n libxcb-dri2-0 -p /sbin/ldconfig

%post   -n libxcb-dri3-0 -p /sbin/ldconfig

%postun -n libxcb-dri3-0 -p /sbin/ldconfig

%post   -n libxcb-glx0 -p /sbin/ldconfig

%postun -n libxcb-glx0 -p /sbin/ldconfig

%post   -n libxcb-randr0 -p /sbin/ldconfig

%postun -n libxcb-randr0 -p /sbin/ldconfig

%post   -n libxcb-record0 -p /sbin/ldconfig

%postun -n libxcb-record0 -p /sbin/ldconfig

%post   -n libxcb-render0 -p /sbin/ldconfig

%postun -n libxcb-render0 -p /sbin/ldconfig

%post   -n libxcb-res0 -p /sbin/ldconfig

%postun -n libxcb-res0 -p /sbin/ldconfig

%post   -n libxcb-screensaver0 -p /sbin/ldconfig

%postun -n libxcb-screensaver0 -p /sbin/ldconfig

%post   -n libxcb-shape0 -p /sbin/ldconfig

%postun -n libxcb-shape0 -p /sbin/ldconfig

%post   -n libxcb-shm0 -p /sbin/ldconfig

%postun -n libxcb-shm0 -p /sbin/ldconfig

%post   -n libxcb-sync1 -p /sbin/ldconfig

%postun -n libxcb-sync1 -p /sbin/ldconfig

%post   -n libxcb-present0 -p /sbin/ldconfig

%postun -n libxcb-present0 -p /sbin/ldconfig

%post   -n libxcb-xevie0 -p /sbin/ldconfig

%postun -n libxcb-xevie0 -p /sbin/ldconfig

%post   -n libxcb-xf86dri0 -p /sbin/ldconfig

%postun -n libxcb-xf86dri0 -p /sbin/ldconfig

%post   -n libxcb-xfixes0 -p /sbin/ldconfig

%postun -n libxcb-xfixes0 -p /sbin/ldconfig

%post   -n libxcb-xkb1 -p /sbin/ldconfig

%postun -n libxcb-xkb1 -p /sbin/ldconfig

%post   -n libxcb-xinerama0 -p /sbin/ldconfig

%postun -n libxcb-xinerama0 -p /sbin/ldconfig

%post   -n libxcb-xprint0 -p /sbin/ldconfig

%postun -n libxcb-xprint0 -p /sbin/ldconfig

%post   -n libxcb-xtest0 -p /sbin/ldconfig

%postun -n libxcb-xtest0 -p /sbin/ldconfig

%post   -n libxcb-xv0 -p /sbin/ldconfig

%postun -n libxcb-xv0 -p /sbin/ldconfig

%post   -n libxcb-xvmc0 -p /sbin/ldconfig

%postun -n libxcb-xvmc0 -p /sbin/ldconfig

%files -n libxcb1
%defattr(-,root,root)
%_libdir/libxcb.so.1*

%files -n libxcb-composite0
%defattr(-,root,root)
%_libdir/libxcb-composite.so.0*

%files -n libxcb-damage0
%defattr(-,root,root)
%_libdir/libxcb-damage.so.0*

%files -n libxcb-dpms0
%defattr(-,root,root)
%_libdir/libxcb-dpms.so.0*

%files -n libxcb-dri2-0
%defattr(-,root,root)
%_libdir/libxcb-dri2.so.0*

%files -n libxcb-dri3-0
%defattr(-,root,root)
%_libdir/libxcb-dri3.so.0*

%files -n libxcb-glx0
%defattr(-,root,root)
%_libdir/libxcb-glx.so.0*

%files -n libxcb-randr0
%defattr(-,root,root)
%_libdir/libxcb-randr.so.0*

%files -n libxcb-record0
%defattr(-,root,root)
%_libdir/libxcb-record.so.0*

%files -n libxcb-render0
%defattr(-,root,root)
%_libdir/libxcb-render.so.0*

%files -n libxcb-res0
%defattr(-,root,root)
%_libdir/libxcb-res.so.0*

%files -n libxcb-screensaver0
%defattr(-,root,root)
%_libdir/libxcb-screensaver.so.0*

%files -n libxcb-shape0
%defattr(-,root,root)
%_libdir/libxcb-shape.so.0*

%files -n libxcb-shm0
%defattr(-,root,root)
%_libdir/libxcb-shm.so.0*

%files -n libxcb-sync1
%defattr(-,root,root)
%_libdir/libxcb-sync.so.1*

%files -n libxcb-present0
%defattr(-,root,root)
%_libdir/libxcb-present.so.0*

%files -n libxcb-xevie0
%defattr(-,root,root)
%_libdir/libxcb-xevie.so.0*

%files -n libxcb-xf86dri0
%defattr(-,root,root)
%_libdir/libxcb-xf86dri.so.*

%files -n libxcb-xfixes0
%defattr(-,root,root)
%_libdir/libxcb-xfixes.so.*

%files -n libxcb-xkb1
%_libdir/libxcb-xkb.so.1*

%files -n libxcb-xinerama0
%defattr(-,root,root)
%_libdir/libxcb-xinerama.so.0*

%files -n libxcb-xprint0
%defattr(-,root,root)
%_libdir/libxcb-xprint.so.0*

%files -n libxcb-xtest0
%defattr(-,root,root)
%_libdir/libxcb-xtest.so.0*

%files -n libxcb-xv0
%defattr(-,root,root)
%_libdir/libxcb-xv.so.0*

%files -n libxcb-xvmc0
%defattr(-,root,root)
%_libdir/libxcb-xvmc.so.0*

%files devel
%defattr(-,root,root)
%_includedir/xcb
%_libdir/libxcb*.so
%_libdir/pkgconfig/xcb*.pc

%files devel-doc
%defattr(-,root,root)
%_docdir/%name
%_mandir/man3/xcb*

%changelog