Summary: The GIMP ToolKit Name: gtk+ Version: 1.2.10 Release: 6 License: LGPLv2+ Group: System Environment/Libraries URL: http://www.gtk.org/ Source0: ftp://ftp.gimp.org/pub/gtk/v1.2/%{name}-%{version}.tar.gz Source1: ftp://ftp.gimp.org/pub/gtk/v1.2/%{name}-%{version}.tar.gz.md5 Source2: gtkrc-default Source3: gtkrc.ja.utf8 Source4: gtkrc.ko.utf8 Source5: gtkrc.zh_CN.utf8 Source6: gtkrc.zh_TW.utf8 Patch0: %{name}-%{version}-aix51.patch Patch1: gtk+-1.2.6-ahiguti.patch Patch5: gtk+-1.2.8-wrap-alnum.patch # Improve exposure compression Patch11: gtk+-1.2.10-expose.patch # Handle focus tracking for embedded window properly Patch12: gtk+-1.2.10-focus.patch # Find gtkrc files for the current encoding better Patch13: gtk+-1.2.10-encoding.patch # Don't screw up CTEXT encoding for UTF-8 Patch14: gtk+-1.2.10-ctext.patch # Don't warn about missing fonts for UTF-8 Patch15: gtk+-1.2.10-utf8fontset.patch # Accept KP_Enter as a synonym for Return everywhere Patch16: gtk+-1.2.10-kpenter.patch # Allow theme switching to work properly when no windows are realized Patch17: gtk+-1.2.10-themeswitch.patch # Fix crash when switching themes Patch18: gtk+-1.2.10-pixmapref.patch # Fix computation of width of missing characters Patch19: gtk+-1.2.10-missingchar.patch # Fix sizes of Ukrainian fontsets Patch20: gtk+-1.2.10-ukfont.patch # Fix file selection delete-dir when changing directory problem # also, fix memory corruption problem when changing directories. Patch21: gtk+-1.2.10-deletedir.patch # Improve warning for missing fonts Patch22: gtk+-1.2.10-fontwarning.patch # Allow themes to make scrollbar trough always repaint Patch23: gtk+-1.2.10-troughpaint.patch # Fix a crash that can happen in some apps when the current # locale is not supported by XLib. Patch24: gtk+-1.2.10-localecrash.patch # Patch from CVS to fix b.g.o #56349 Patch26: gtk+-1.2.10-dndorder.patch # Patch from CVS to fix b.g.o #94812 Patch27: gtk+-1.2.10-clistfocusrow.patch # Fix GTK+ to obey X server's default bell volume Patch28: gtk+-1.2.10-bellvolume.patch # Hack up the configure scripts to deal with some obscure # breakage with ancient libtool Patch29: gtk+-1.2.10-libtool.patch # Add a dependency on libgdk to libgtk (#106677) Patch30: gtk+-1.2.10-gtkgdkdep.patch Patch31: gtk+-underquoted.patch Patch32: gtk+-1.2.10-ppc64.patch # do not allow for undefined symbols in shared libraries -- Rex Patch33: gtk+-1.2.10-no_undefined.patch # http://bugzilla.redhat.com/222298 Patch34: gtk+-1.2.10-multilib.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: glib-devel >= %{version} BuildRequires: gettext BuildRequires: patch, make, coreutils Requires: glib >= %{version} Requires: gettext Requires: /sbin/install-info, info %define _libdir64 %{_prefix}/lib64 %description The gtk+ package contains the GIMP ToolKit (GTK+), a library for creating graphical user interfaces for the X Window System. GTK+ was originally written for the GIMP (GNU Image Manipulation Program) image processing program, but is now used by several other programs as well. The library is available as 32-bit and 64-bit. %package devel Summary: Development tools for GTK+ (GIMP ToolKit) applications Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: glib-devel >= %{version} Requires: pkg-config %description devel Libraries, header files and documentation for developing GTK+ (GIMP ToolKit) applications. If you are compiling a 32-bit program, no special compiler options are needed. If you are compiling a 64-bit program, you have to compile and link your application with "cc -q64" or "gcc -maix64". %prep export PATH=/opt/freeware/bin:$PATH %setup -q %patch0 %patch1 -p1 -b .ahiguti %patch5 -p1 -b .alnum %patch11 -p1 -b .expose %patch12 -p1 -b .focus %patch13 -p1 -b .encoding %patch14 -p1 -b .ctext %patch15 -p1 -b .utf8fontset %patch16 -p1 -b .kpenter %patch17 -p1 -b .themeswitch %patch18 -p1 -b .pixmapref %patch19 -p1 -b .missingchar %patch20 -p1 -b .ukfont %patch21 -p1 -b .deletedir %patch22 -p1 -b .fontwarning %patch23 -p0 -b .troughpaint %patch24 -p1 -b .localecrash %patch26 -p0 -b .dndorder %patch27 -p0 -b .clistfocusrow %patch28 -p1 -b .bellvolume %patch29 -p1 -b .libtool %patch30 -p1 -b .gtkgdkdep %patch31 -p1 -b .underquoted %patch32 -p1 -b .ppc64 %patch33 -p1 -b .no_undefined %patch34 -p1 -b .multilib mkdir -p ../64bit cp -r * ../64bit/ mv ../64bit . %build # setup environment for 32-bit and 64-bit builds export AR="ar -X32_64" export NM="nm -X32_64" # first build the 64-bit version export CC="cc -q64 -Wl,-brtl" # we need this to get shared libraries export LDFLAGS="-Wl,-b64 -Wl,-brtl" cd 64bit ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir64} \ --sysconfdir=/etc \ --disable-glibtest \ --enable-shared --enable-static /opt/freeware/bin/sed -i -e "s|-L\/opt\/freeware\/lib|-L\/opt\/freeware\/lib64|g" config.status ./config.status gmake %{?_smp_mflags} cd .. # now build the 32-bit version export CC="cc -Wl,-brtl" # we need this to get shared libraries export LDFLAGS="-Wl,-brtl -L/opt/freeware/lib" ./configure \ --prefix=%{_prefix} \ --sysconfdir=/etc \ --enable-shared --enable-static gmake %{?_smp_mflags} %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} export PATH=/opt/freeware/bin:$PATH # # Make cleaned-up versions of examples and tutorial for installation # ./mkinstalldirs tmpdocs/tutorial install -p -m0644 docs/html/gtk_tut.html docs/html/gtk_tut-[0-9]*.html docs/html/*.gif tmpdocs/tutorial for dir in examples/* ; do if [ -d $dir ] ; then ./mkinstalldirs tmpdocs/$dir for file in $dir/* ; do case $file in *pre1.2.7) ;; *) install -p -m0644 $file tmpdocs/$dir ;; esac done fi done cd 64bit gmake DESTDIR=${RPM_BUILD_ROOT} install cd .. gmake DESTDIR=${RPM_BUILD_ROOT} install install -p -m644 -D %{SOURCE2} ${RPM_BUILD_ROOT}/etc/gtk/gtkrc # Install some extra gtkrc files to improve functioning of GTK+ # in UTF-8 locales for Chinese, Japanese, Korean. for i in %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} ; do install -p -m0644 $i $RPM_BUILD_ROOT/etc/gtk/ done # remove .a symbolic links rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.a rm -f ${RPM_BUILD_ROOT}%{_libdir64}/*.a rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir gzip --best ${RPM_BUILD_ROOT}%{_infodir}/*info* # make symbolic links, my libtool does not generate them by default for dir in ${RPM_BUILD_ROOT}%{_libdir} ${RPM_BUILD_ROOT}%{_libdir64} do cd ${dir} ln -s libgdk-1.2.so.0.9.1 libgdk.so ln -s libgtk-1.2.so.0.9.1 libgtk.so done ( cd ${RPM_BUILD_ROOT} for dir in bin include lib lib64 do mkdir -p usr/${dir} cd usr/${dir} ln -sf ../..%{_prefix}/${dir}/* . cd - done ) %preun if [ $1 = 0 ]; then /sbin/install-info --delete %{_infodir}/gdk.info.gz %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/gtk.info.gz %{_infodir}/dir || : fi %post /sbin/install-info %{_infodir}/gdk.info.gz %{_infodir}/dir || : /sbin/install-info %{_infodir}/gtk.info.gz %{_infodir}/dir || : %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc AUTHORS COPYING ChangeLog NEWS README TODO %{_libdir}/lib*.so* %{_libdir64}/lib*.so* %dir %{_datadir}/themes %{_datadir}/themes/Default/ %dir /etc/gtk/ %config(noreplace) /etc/gtk/* %{_infodir}/*info* /usr/lib/lib*.so* /usr/lib64/lib*.so* %files devel %defattr(-,root,system,-) %doc tmpdocs/tutorial/ tmpdocs/examples/ %{_bindir}/gtk-config %{_includedir}/* %{_libdir}/*.la %{_libdir64}/*.la %{_libdir}/pkgconfig/*.pc %{_libdir64}/pkgconfig/*.pc %{_mandir}/man1/* %{_datadir}/aclocal/* /usr/bin/gtk-config /usr/include/* /usr/lib/*.la /usr/lib64/*.la %changelog * Mon Jul 07 2008 Michael Perzl - 1.2.10-6 - removede dependency on gettext >= 0.17 * Mon Jul 07 2008 Michael Perzl - 1.2.10-5 - first version for AIX V5.1 and higher, based on the Fedora 9 version - included both 32-bit and 64-bit shared objects