Here's my proposal:
see attachments
%define version 1.44
%define release 28mdk
Name: qt
Summary: Shared library for the Qt GUI toolkit
Version: %{version}
Release: %{release}
Source0: ftp://ftp.troll.no/qt/source/%{name}-%{version}.tar.bz2
Source1: qt.fontguess
Source2: README.i18n_patches
Patch0: qt-1.43-cflags.patch.bz2
Patch1: qt-1.43-shared.patch.bz2
Patch2: qt-1.44-enablegif.patch.bz2
Patch3: qt-i18n-compat.patch.bz2
Patch4: qt-i18n-fontguess-991121.patch.bz2
Patch5: qt-i18n-compat-fix-991121.patch.bz2
# the above i18n patches break compose mechanism when not using an XIM server
# this patches fixes that back
Patch6: qt-1.44-i18n-dead_keys.patch.bz2
Patch7: qt-1.44-configs.patch.bz2
URL: http://www.troll.no/
Copyright: distributable
Group: System/Libraries
Provides: qt-egcs-10x
Buildroot: %{_tmppath}/qt-buildroot
BuildRequires: XFree86-devel, Mesa-common-devel
%package devel
Summary: Development files and documentation for the Qt GUI toolkit
Group: Development/KDE and QT
#%ifnarch alpha
%package qgl
Summary: OpenGL extension for Qt
Group: System/Libraries
#%endif
%package qimgio
Summary: ImageIO extension for Qt
Group: System/Libraries
%description
Qt is a GUI software toolkit. Qt simplifies the task of writing and
maintaining GUI (graphical user interface) applications for X Window.
Qt is written in C++ and is fully object-oriented. It has everything
you need to create professional GUI applications. And it enables you
to create them quickly.
Qt is a multi-platform toolkit. When developing software with Qt, you
can run it on the X Window System (Unix/X11) or Microsoft Windows NT
and Windows 95/98. Simply recompile your source code on the platform
you want.
This package contains the shared library needed to run Qt applications,
as well as the README files for Qt.
%description devel
Contains the files necessary to develop applications using Qt: header
files, the Qt meta object compiler, man pages, HTML documentation and
example programs. See http://www.troll.no for more information about
Qt, or file:/usr/lib/qt/html/index.html for Qt documentation in HTML.
#%ifnarch alpha
%description qgl
This package contains OpenGL extension for Qt
OpenGL extension for Qt
#%endif
%description qimgio
This package contains ImageIO extension for Qt
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
#
# (fg) 20000522 i18n patches makes all programs using QPainter::drawText method
# core dump on Alpha... %ifnarch'ed out for now until the problem is fixed
#
%ifnarch alpha
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p0
%endif
%patch7 -p1
rm -f include/qt_gif.h.rej
%build
%ifarch alpha
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -frtti -fexceptions"
CXX="gcc -V `egcs-version`"
%else
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -frtti -fexceptions -fpermissive"
CXX=g++
%endif
QTDIR=`/bin/pwd` export QTDIR
make linux-g++-shared
make CXX="$CXX"
#%ifnarch alpha
cd extensions/opengl/src
# lazy to do patch.
perl -p -i -e 's|-lMesaGL -lMesaGLU|-lGL -lGLU|g' Makefile
make
cd ../../imageio/src
perl -p -i -e 's|-lMesaGL -lMesaGLU|-lGL -lGLU|g' Makefile
make
#cd ../../xt/src
#make
cd ../../..
#%else
# xt and nsplugin don't compile
#for d in imageio; do
# (cd extensions/$d/src; make QTDIR=../../..)
#done
#%endif
%install
rm -fr $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_libdir}
mkdir -p $RPM_BUILD_ROOT/%{_mandir}
install -s -m 755 bin/moc $RPM_BUILD_ROOT%{_bindir}/moc
cp lib/libqt.so.%{version} $RPM_BUILD_ROOT%{_libdir}
ln -sf libqt.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libqt.so.1
ln -sf libqt.so.1 $RPM_BUILD_ROOT%{_libdir}/libqt.so
cp lib/libqimgio.so.0.1 $RPM_BUILD_ROOT%{_libdir}
ln -sf libqimgio.so.0.1 $RPM_BUILD_ROOT%{_libdir}/libqimgio.so.0
ln -sf libqimgio.so.0 $RPM_BUILD_ROOT%{_libdir}/libqimgio.so
#%ifnarch alpha
cp lib/libqgl.so.1.0 $RPM_BUILD_ROOT%{_libdir}
ln -sf libqgl.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libqgl.so.1
ln -sf libqgl.so.1 $RPM_BUILD_ROOT%{_libdir}/libqgl.so
#%endif
cp -fR man/. $RPM_BUILD_ROOT/%{_mandir}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/qt $RPM_BUILD_ROOT%{_includedir}/qt
mkdir -p $RPM_BUILD_ROOT%{_libdir}/qt/html $RPM_BUILD_ROOT%{_libdir}/qt/tutorial
mkdir -p $RPM_BUILD_ROOT%{_libdir}/qt/examples
cp -fR html $RPM_BUILD_ROOT%{_libdir}/qt
cp -fR tutorial $RPM_BUILD_ROOT%{_libdir}/qt
cp -fR examples $RPM_BUILD_ROOT%{_libdir}/qt
cp -fR include/. $RPM_BUILD_ROOT%{_includedir}/qt
for a in $RPM_BUILD_ROOT%{_libdir}/qt/*/*/Makefile ; do
sed 's-^SYSCONF_MOC.*-SYSCONF_MOC = %{_bindir}/moc-' < $a > ${a}.2
mv -v ${a}.2 $a
done
rm $RPM_BUILD_ROOT%{_libdir}/qt/*/*/*.o
chmod -R a+r $RPM_BUILD_ROOT%{_libdir}/libqt.so* $RPM_BUILD_ROOT%{_libdir}/qt
mkdir $RPM_BUILD_ROOT/etc
cp -f $RPM_SOURCE_DIR/qt.fontguess $RPM_BUILD_ROOT/etc/qt.fontguess
cp $RPM_SOURCE_DIR/README.i18n_patches .
mkdir -p $RPM_BUILD_ROOT/usr/lib/qt/include
cd $RPM_BUILD_ROOT/usr/lib/qt/include
ln -s ../../../include/qt/* .
mkdir -p $RPM_BUILD_ROOT/usr/lib/qt/lib
cd $RPM_BUILD_ROOT/usr/lib/qt/lib
ln -s ../../*so* .
%post -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%postun -p /sbin/ldconfig
%post qimgio -p /sbin/ldconfig
%postun qimgio -p /sbin/ldconfig
%post qgl -p /sbin/ldconfig
%postun qgl -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc ANNOUNCE LICENSE README.QT FAQ PORTING README changes-1.40 changes-1.41
changes-1.42 changes-1.43 changes-1.44
%doc README.i18n_patches
%{_libdir}/libqt.so.*
%{_libdir}/qt/lib/libqt.so.*
%config(noreplace) /etc/qt.fontguess
%files devel
%defattr(-,root,root)
%{_bindir}/moc
%{_libdir}/libqt.so
%{_libdir}/qt/lib/libqt.so
%{_mandir}/man1/moc.1*
%{_mandir}/man3/*.3qt*
%{_libdir}/qt/html
%{_libdir}/qt/tutorial
%{_libdir}/qt/examples
%{_includedir}/qt/
%{_libdir}/qt/include
#%ifnarch alpha
%files qgl
%defattr(-,root,root)
%{_libdir}/libqgl.so*
%{_libdir}/qt/lib/libqgl.so*
#%endif
%files qimgio
%defattr(-,root,root)
%{_libdir}/libqimgio.so*
%{_libdir}/qt/lib/libqimgio.so*
%changelog
* Tue Sep 12 2000 Stefan van der Eijk <[EMAIL PROTECTED]> 1.44-28mdk
- comment out ifnarch alpha (honnestly, it _does_ build)
* Mon Sep 4 2000 Guillaume Cottenceau <[EMAIL PROTECTED]> 1.44-27mdk
- BM [at last.. maintainer sucks]
- some symlinks in order to use QTDIR=%{_libdir}/qt in application
programs [at last]
- fixed library-without-ldconfig-postin in qt-qgl
* Wed Aug 23 2000 Frederic Lepied <[EMAIL PROTECTED]> 1.44-26mdk
- removed svgalib-devel from BuildRequires.
* Mon Aug 07 2000 Frederic Lepied <[EMAIL PROTECTED]> 1.44-25mdk
- automatically added BuildRequires
* Mon Jun 26 2000 Frederic Lepied <[EMAIL PROTECTED]> 1.44-24mdk
- rebuilt to have good provides.
* Thu Jun 22 2000 Pablo Saratxaga <[EMAIL PROTECTED]> 1.44-23mdk
- fixed the compose mechanism (dead keys)
* Mon May 22 2000 Francis Galiegue <[EMAIL PROTECTED]> 1.44-22mdk
- No i18n patches for Alpha
- Let spec-helper do its job
* Thu May 18 2000 Chmouel Boudjnah <[EMAIL PROTECTED]> 1.44-21mdk
- Add ldconfig in %post/un of qimgio.
* Sat Apr 08 2000 Geoffrey Lee <[EMAIL PROTECTED]> 1.44-20mdk
- alpha fix
* Fri Jan 28 2000 Pablo Saratxaga <[EMAIL PROTECTED]> 1.44-19mdk
- rebuild the 1.44-19ltk version done by Taik-kyun Lim that included the
i18n patches.
* Thu Jan 20 2000 Taik-kyun Lim <[EMAIL PROTECTED]> 1.44-19ltk
- Add i18n patch for Korean (2Byte Character Support, CJK)
* Mon Jan 17 2000 Francis Galiegue <[EMAIL PROTECTED]>
- qgl now builds on sparcs
* Thu Jan 13 2000 Pixel <[EMAIL PROTECTED]>
- fix build on alpha (egcs)
* Thu Jan 13 2000 Frederic Lepied <[EMAIL PROTECTED]> 1.44-17mdk
- fixed non-intel build.
* Tue Jan 11 2000 Pixel <[EMAIL PROTECTED]>
- qgl do not wanna work for alpha => ifarch'ed out (gnark)
- remove the requires lesstif
* Fri Dec 10 1999 Chmouel Boudjnah <[EMAIL PROTECTED]>
- Fix build with new Mesa.
* Wed Nov 10 1999 Chmouel Boudjnah <[EMAIL PROTECTED]>
- Finally an update.
- Fix build as user.
* Fri Aug 6 1999 Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
- fix compilation with {p,}gcc 2.95
* Wed Jul 21 1999 Gregus <[EMAIL PROTECTED]>
- Added fr locale
* Tue May 11 1999 Chmouel Boudjnah <[EMAIL PROTECTED]>
- Build for the new environement.
- Removing qxt, linux-mandrake don't include lesstif.
* Wed May 05 1999 Bernhard Rosenkr�nzer <[EMAIL PROTECTED]>
- Add enablegif patch from RH 6.0
* Mon Apr 26 1999 Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
- Handle RPM_OPT_FLAGS
- bzip2 man pages
- Add qgl, qimgio, qxt packages
* Tue Apr 06 1999 Preston Brown <[EMAIL PROTECTED]>
- strip binaries
* Mon Mar 15 1999 Preston Brown <[EMAIL PROTECTED]>
- upgrade to qt 1.44.
* Wed Feb 24 1999 Preston Brown <[EMAIL PROTECTED]>
- Injected new description and group.
* Tue Jan 19 1999 Preston Brown <[EMAIL PROTECTED]>
- moved includes to /usr/include/qt
* Mon Jan 04 1999 Preston Brown <[EMAIL PROTECTED]>
- made setup phase silent.
* Fri Dec 04 1998 Preston Brown <[EMAIL PROTECTED]>
- upgraded to qt 1.42, released today.
* Tue Dec 01 1998 Preston Brown <[EMAIL PROTECTED]>
- took Arnt's RPM and made some minor changes for Red Hat.
--- qt-1.44.spec.orig Mon Sep 4 21:18:41 2000
+++ qt-1.44.spec Tue Sep 12 19:53:18 2000
@@ -1,5 +1,5 @@
%define version 1.44
-%define release 27mdk
+%define release 28mdk
Name: qt
Summary: Shared library for the Qt GUI toolkit
@@ -29,11 +29,11 @@
Summary: Development files and documentation for the Qt GUI toolkit
Group: Development/KDE and QT
-%ifarch i386 i486 i586 i686 k6 k7 sparc sparc64
+#%ifnarch alpha
%package qgl
Summary: OpenGL extension for Qt
Group: System/Libraries
-%endif
+#%endif
%package qimgio
Summary: ImageIO extension for Qt
@@ -61,11 +61,11 @@
example programs. See http://www.troll.no for more information about
Qt, or file:/usr/lib/qt/html/index.html for Qt documentation in HTML.
-%ifarch i386 i486 i586 i686 k6 k7 sparc sparc64
+#%ifnarch alpha
%description qgl
This package contains OpenGL extension for Qt
OpenGL extension for Qt
-%endif
+#%endif
%description qimgio
This package contains ImageIO extension for Qt
@@ -99,7 +99,7 @@
QTDIR=`/bin/pwd` export QTDIR
make linux-g++-shared
make CXX="$CXX"
-%ifarch i386 i486 i586 i686 k6 k7 sparc sparc64
+#%ifnarch alpha
cd extensions/opengl/src
# lazy to do patch.
perl -p -i -e 's|-lMesaGL -lMesaGLU|-lGL -lGLU|g' Makefile
@@ -110,12 +110,12 @@
#cd ../../xt/src
#make
cd ../../..
-%else
+#%else
# xt and nsplugin don't compile
-for d in imageio; do
- (cd extensions/$d/src; make QTDIR=../../..)
-done
-%endif
+#for d in imageio; do
+# (cd extensions/$d/src; make QTDIR=../../..)
+#done
+#%endif
%install
rm -fr $RPM_BUILD_ROOT
@@ -129,11 +129,11 @@
cp lib/libqimgio.so.0.1 $RPM_BUILD_ROOT%{_libdir}
ln -sf libqimgio.so.0.1 $RPM_BUILD_ROOT%{_libdir}/libqimgio.so.0
ln -sf libqimgio.so.0 $RPM_BUILD_ROOT%{_libdir}/libqimgio.so
-%ifarch i386 i486 i586 i686 k6 k7 sparc sparc64
+#%ifnarch alpha
cp lib/libqgl.so.1.0 $RPM_BUILD_ROOT%{_libdir}
ln -sf libqgl.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libqgl.so.1
ln -sf libqgl.so.1 $RPM_BUILD_ROOT%{_libdir}/libqgl.so
-%endif
+#%endif
cp -fR man/. $RPM_BUILD_ROOT/%{_mandir}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/qt $RPM_BUILD_ROOT%{_includedir}/qt
@@ -198,12 +198,12 @@
%{_includedir}/qt/
%{_libdir}/qt/include
-%ifarch i386 i486 i586 i686 k6 k7 sparc sparc64
+#%ifnarch alpha
%files qgl
%defattr(-,root,root)
%{_libdir}/libqgl.so*
%{_libdir}/qt/lib/libqgl.so*
-%endif
+#%endif
%files qimgio
%defattr(-,root,root)
@@ -211,6 +211,9 @@
%{_libdir}/qt/lib/libqimgio.so*
%changelog
+* Tue Sep 12 2000 Stefan van der Eijk <[EMAIL PROTECTED]> 1.44-28mdk
+- comment out ifnarch alpha (honnestly, it _does_ build)
+
* Mon Sep 4 2000 Guillaume Cottenceau <[EMAIL PROTECTED]> 1.44-27mdk
- BM [at last.. maintainer sucks]
- some symlinks in order to use QTDIR=%{_libdir}/qt in application