diff --git a/README.md b/README.md index 1d06e98..fe2fea6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # libxcb +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. + diff --git a/libxcb-1.0-no-assert-on-lock.patch b/libxcb-1.0-no-assert-on-lock.patch new file mode 100644 index 0000000..a29361b --- /dev/null +++ b/libxcb-1.0-no-assert-on-lock.patch @@ -0,0 +1,30 @@ +--- src/xcb_xlib.c.orig 2006-11-25 22:03:30.000000000 +0000 ++++ src/xcb_xlib.c 2006-11-25 22:19:28.000000000 +0000 +@@ -38,18 +38,20 @@ + void xcb_xlib_lock(xcb_connection_t *c) + { + _xcb_lock_io(c); +- assert(!c->xlib.lock); +- c->xlib.lock = 1; +- c->xlib.thread = pthread_self(); ++ if (!c->xlib.lock) { ++ c->xlib.lock = 1; ++ c->xlib.thread = pthread_self(); ++ } + _xcb_unlock_io(c); + } + + void xcb_xlib_unlock(xcb_connection_t *c) + { + _xcb_lock_io(c); +- assert(c->xlib.lock); +- assert(pthread_equal(c->xlib.thread, pthread_self())); +- c->xlib.lock = 0; +- pthread_cond_broadcast(&c->xlib.cond); ++ if (c->xlib.lock) { ++ assert(pthread_equal(c->xlib.thread, pthread_self())); ++ c->xlib.lock = 0; ++ pthread_cond_broadcast(&c->xlib.cond); ++ } + _xcb_unlock_io(c); + } diff --git a/libxcb.spec b/libxcb.spec new file mode 100644 index 0000000..e7648cc --- /dev/null +++ b/libxcb.spec @@ -0,0 +1,216 @@ +Name: libxcb +Version: 1.10 +Release: 2mamba +Summary: The X protocol C-language Binding (XCB) is a replacement for Xlib +Group: System/X11 +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://xcb.freedesktop.org/wiki/ +Source: http://xcb.freedesktop.org/dist/libxcb-%{version}.tar.bz2 +Patch0: %{name}-1.0-no-assert-on-lock.patch +License: MIT +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libXau-devel +BuildRequires: libXdmcp-devel +## AUTOBUILDREQ-END +%if "%{stage1}" != "1" +BuildRequires: doxygen +%endif +BuildRequires: diffutils +BuildRequires: /usr/bin/xsltproc +BuildRequires: xcb-proto-devel +%ifarch x86_64 +BuildRequires: gcc-multilib +BuildRequires: glibc-multilib-devel +BuildRequires: lib32-libXau-devel +%endif +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%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 devel +Summary: Devel package for %{name} +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{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 static libraries and header files need for development. + +%package -n lib32-%{name} +Summary: The X protocol C-language Binding (XCB) is a replacement for Xlib +Group: System/Libraries + +%description -n lib32-%{name} +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 lib32-%{name}-devel +Summary: Devel package for lib32-%{name} +Group: Development/Libraries +Requires: lib32-%{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} + +%description -n lib32-%{name}-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 static libraries and header files needed for development. + +%debug_package + +%prep +%setup -q +#%patch0 -p0 + +%build +%configure +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +%ifarch x86_64 +# x86_64 lib64 support +make clean +CC=%{_target_platform}-gcc \ +CFLAGS="%{optflags} -m32" \ +CXXLAGS="%{optflags} -m32" \ +./configure --prefix=%{_prefix} --libdir=%{_prefix}/lib +make +make install DESTDIR=`pwd`/lib32 +cp -a lib32/%{_prefix}/lib %{buildroot}%{_prefix}/ +%endif + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig +%post -n lib32-%{name} -p /sbin/ldconfig +%postun -n lib32-%{name} -p /sbin/ldconfig + +%post devel +find /usr/lib /opt/kde3/lib -name "*.la" \ + -exec sed -e "s|/usr/lib/libxcb-xlib.la||" -i \{\} \; >/dev/null 2>&1 +exit 0 + +%files +%defattr(-,root,root) +%{_libdir}/libxcb-composite.so.* +%{_libdir}/libxcb-damage.so.* +%{_libdir}/libxcb-dpms.so.* +%{_libdir}/libxcb-dri2.so.* +%{_libdir}/libxcb-dri3.so.* +%{_libdir}/libxcb-glx.so.* +%{_libdir}/libxcb-present.so.* +%{_libdir}/libxcb-randr.so.* +%{_libdir}/libxcb-record.so.* +%{_libdir}/libxcb-render.so.* +%{_libdir}/libxcb-res.so.* +%{_libdir}/libxcb-screensaver.so.* +%{_libdir}/libxcb-shape.so.* +%{_libdir}/libxcb-shm.so.* +%{_libdir}/libxcb-sync.so.* +%{_libdir}/libxcb-xevie.so.* +%{_libdir}/libxcb-xf86dri.so.* +%{_libdir}/libxcb-xfixes.so.* +%{_libdir}/libxcb-xinerama.so.* +%{_libdir}/libxcb-xkb.so.* +%{_libdir}/libxcb-xprint.so.* +%{_libdir}/libxcb-xtest.so.* +%{_libdir}/libxcb-xv.so.* +%{_libdir}/libxcb-xvmc.so.* +%{_libdir}/libxcb.so.* +%doc COPYING + +%files devel +%defattr(-,root,root) +%{_libdir}/libxcb*.a +%{_libdir}/libxcb*.la +%{_libdir}/libxcb*.so +%dir %{_includedir}/xcb +%{_includedir}/xcb/*.h +%{_libdir}/pkgconfig/xcb*.pc +%dir %{_docdir}/libxcb +%{_docdir}/libxcb/* +%{_mandir}/man3/xcb*.3* +%doc COPYING NEWS README + +%ifarch x86_64 +%files -n lib32-%{name} +%defattr(-,root,root) +%{_prefix}/lib/libxcb*.so.* +%doc COPYING + +%files -n lib32-%{name}-devel +%defattr(-,root,root) +%{_prefix}/lib/libxcb*.a +%{_prefix}/lib/libxcb*.la +%{_prefix}/lib/libxcb*.so +%{_prefix}/lib/pkgconfig/*.pc +%endif + +%changelog +* Wed Feb 12 2014 Silvan Calarco 1.10-2mamba +- rebuilt without libpthread-stubs + +* Thu Dec 26 2013 Automatic Build System 1.10-1mamba +- automatic version update by autodist + +* Sat Nov 30 2013 Automatic Build System 1.9.3-1mamba +- automatic update by autodist + +* Fri May 31 2013 Automatic Build System 1.9.1-1mamba +- automatic version update by autodist + +* Thu Oct 18 2012 Automatic Build System 1.9-1mamba +- automatic version update by autodist + +* Fri Aug 17 2012 Davide Madrisan 1.8.1-2mamba +- fix %%post devel scriptlet +- own %{_includedir}/xcb + +* Sat Aug 11 2012 Automatic Build System 1.8.1-1mamba +- automatic version update by autodist + +* Tue May 17 2011 Silvan Calarco 1.7-2mamba +- rebuilt with debug package + +* Tue Nov 09 2010 Automatic Build System 1.7-1mamba +- automatic update by autodist + +* Sat Jun 26 2010 Silvan Calarco 1.6-3mamba +- rebuilt to add pkgconfig provides + +* Sat Jun 26 2010 Automatic Build System 1.6-2mamba +- automatic rebuild by autodist + +* Sun Apr 18 2010 Automatic Build System 1.6-1mamba +- automatic update by autodist + +* Sun Jan 24 2010 Automatic Build System 1.5-1mamba +- automatic update by autodist + +* Sat Jul 18 2009 Automatic Build System 1.4-1mamba +- automatic update by autodist + +* Fri Jun 19 2009 Silvan Calarco 1.3-2mamba +- readded post script to remove libxcb-xlib from *.la files + +* Thu Jun 18 2009 Automatic Build System 1.3-1mamba +- automatic update by autodist + +* Sat Apr 04 2009 Silvan Calarco 1.2-1mamba +- automatic update by autodist + +* Tue Feb 17 2009 Silvan Calarco 1.1-1mamba +- update to 1.1 + +* Tue May 15 2007 Silvan Calarco 1.0-2mamba +- added no-assert-on-lock patch + +* Wed Feb 07 2007 Silvan Calarco 1.0-1qilnx +- package created by autospec