%define _prefix /opt/freeware %define _defaultdocdir %{_prefix}/doc Name: xrender Version: 0.8.4 Release: 8 Group: X11/Libraries Summary: X Render Extension License: MIT URL: http://freedesktop.org/Software/xlibs/ BuildRoot: %{_tmppath}/%{name}-%{version}-root Source: http:///%{name}-%{version}.tar.bz2 Patch0: xrender-0.8.4-aix.patch # Use --define 'no64 1' on the command line to disable 64bit build %{!?no64:%define BUILD64 1} %{?no64:%define BUILD64 0} %define prefix64 %{_prefix}/64 %description X11 resize and rotate extension library. %prep %setup -q if test x$PATCH = x ; then PATCH=patch ; fi $PATCH -p2 -s < %{_sourcedir}/xrender-0.8.4-aix.patch %if %{BUILD64} == 1 # Prep 64-bit build in 64bit subdirectory ########################################## # Test whether we can run a 64bit command so we don't waste our time /usr/bin/locale64 >/dev/null 2>&1 mkdir 64 cd 64 bunzip2 -dc %{_sourcedir}/%{name}-%{version}.tar.bz2 |tar xf - cd %{name}-%{version} $PATCH -p2 -s < %{_sourcedir}/xrender-0.8.4-aix.patch %endif %build export X_CFLAGS="-I /opt/freeware/include" export X_LIBS="-I /opt/freeware/lib -lX11" export OBJECT_MODE=32 ksh autogen.sh --prefix=%{_prefix} gmake cp .libs/libXrender.so.1 .libs/libXrender.so.0 /usr/bin/ar -q .libs/libXrender.a .libs/libXrender.so.0 %if %{BUILD64} == 1 # Now build again as 64bit ########################### cd 64/%{name}-%{version} export OBJECT_MODE=64 ksh autogen.sh --prefix=%{_prefix} gmake cp .libs/libXrender.so.1 .libs/libXrender.so.0 # Go back to 32-bit library and add our 64bit shared object # into same archive cd ../.. /usr/bin/ar -q .libs/libXrender.a 64/%{name}-%{version}/.libs/libXrender.so.0 /usr/bin/ar -q .libs/libXrender.a 64/%{name}-%{version}/.libs/libXrender.so.1 %endif #BUILD64 %install if test "%{buildroot}" != "/"; then rm -rf %{buildroot} fi mkdir -p %{buildroot} gmake DESTDIR=%{buildroot} install cp ./.libs/libXrender.exp %{buildroot}%{_prefix}/lib # Make the links cd %{buildroot} for dir in bin lib include do mkdir -p usr/$dir cd usr/$dir ln -sf ../..%{_prefix}/$dir/* . cd - done %if %{BUILD64} == 1 #Add links for 64-bit library members ( mkdir -p %{buildroot}%{_prefix}/64/lib cd %{buildroot}%{_prefix}/64/lib ln -sf ../../../..%{_prefix}/lib/* . ) %endif %post if [ `/usr/bin/uname -v` -ne 5 ]; then ## ## Repair link back to X11 path if pointing to freeware path ## if [ -f /usr/lib/libXrender.a ]; then DEST_PATH=`/usr/bin/ls -l /usr/lib/libXrender.a | tr -s " " | cut -d" " -f11` if [ $? -ne 0 ]; then ## ## Don't know what went wrong ## exit 1 fi if [ -n "${DEST_PATH}" -a "${DEST_PATH}" == '../../opt/freeware/lib/libXrender.a' ]; then /usr/bin/mv -f /usr/lib/libXrender.a /tmp /usr/bin/ln -fs /usr/lpp/X11/lib/R7/libXrender.a /usr/lib if [ $? -ne 0 ]; then ## ## Restore whatever was there in /usr/lib ## /usr/bin/mv -f /tmp/libXrender.a /usr/lib exit 1 fi fi else /usr/bin/ln -fs /usr/lpp/X11/lib/R7/libXrender.a /usr/lib if [ $? -ne 0 ]; then exit 1 fi fi fi %postun if [ `/usr/bin/uname -v` -ne 5 ]; then ## ## Repair link back to X11 path ## /usr/bin/ln -fs /usr/lpp/X11/lib/R7/libXrender.a /usr/lib if [ $? -ne 0 ]; then exit 1 fi fi exit 0 %files %defattr (-,root,system) %doc AUTHORS COPYING README INSTALL ChangeLog %dir %{_libdir} %{_libdir}/lib*.a %{_libdir}/lib*.la %{_libdir}/lib*.exp %if %{BUILD64} == 1 %attr(755,bin,bin) %dir %{prefix64} %attr(755,bin,bin) %dir %{prefix64}/lib %{prefix64}/lib/lib*.a %{prefix64}/lib/lib*.la %{prefix64}/lib/lib*.exp %endif %dir %{_libdir}/pkgconfig %{_libdir}/pkgconfig/* %dir %{_includedir}/X11 %{_includedir}/X11/* /usr/lib/lib*.a /usr/lib/lib*.la %changelog * Wed Oct 17 2007 IBM - Release 8 - Changed spec to build RPM and to build 32 as well 64 bit lib files. - Added script code for repairing links in /usr/lib /if OS is AIX 6. * Mon Feb 13 2006 BULL - Release 7 - support 64 bit - build with type CARD32 = unsigned int - Prototype gtk 64 bit * Fri Dec 23 2005 BULL - Release 6 - Prototype gtk 64 bit * Tue Nov 15 2005 BULL - Release 5 * Wed May 25 2005 BULL - Release 4 * Tue Nov 24 2004 BULL - Release 3 * Thu Sep 30 2004 BULL - Release 2 - Removed the link "/usr/include/X11" which was overwriting a system link