%define pref /usr
-%define ver 2.3.0
-%define rel 0
+%define ver 2.8.0
+%define ver2 2.8
+%define rel 1
-Summary: wxBase library - non-GUI support classes of wxWindows toolkit
-Name: wxBase
+# Configurable settings (use --with(out) unicode on rpmbuild command line):
+%define unicode 0
+%{?_with_unicode: %{expand: %%define unicode 1}}
+%{?_without_unicode: %{expand: %%define unicode 0}}
+
+%if %{unicode}
+ %define name wx-base-unicode
+ %define wxconfig base-unicode-release-%{ver2}
+ %define wxconfiglink wxbaseu-%{ver2}-config
+%else
+ %define name wx-base
+ %define wxconfig base-ansi-release-%{ver2}
+ %define wxconfiglink wxbase-%{ver2}-config
+%endif
+
+Summary: wxBase library - non-GUI support classes of wxWidgets toolkit
+Name: %{name}
Version: %{ver}
Release: %{rel}
-Copyright: wxWindows Licence
+License: wxWindows Licence
Group: Development/Libraries
-Source: wxBase-%{ver}.tar.gz
-URL: none
+Source: wxBase-%{ver}.tar.bz2
+URL: http://www.wxwidgets.org
Packager: Vadim Zeitlin <vadim@wxwindows.org>
Prefix: %{pref}
-BuildRoot: /var/tmp/%{name}-root
+BuildRoot: %{_tmppath}/%{name}-root
+Provides: wxBase
%description
wxBase is a collection of C++ classes providing basic data structures (strings,
%package devel
Summary: wxBase headers needed for developping with wxBase
Group: Development/Libraries
-Requires: wxBase
+Requires: %{name} = %{ver}
+Provides: wxBase-devel
%description devel
Header files for wxBase. You need them to develop programs using wxBase.
+%package static
+Summary: wxBase static libraries
+Group: Development/Libraries
+Requires: %{name}-devel = %{ver}
+
+%description static
+Static libraries for wxBase. You need them if you want to link statically against wxBase.
+
%prep
-%setup -n wxBase-%{ver}
-./configure --prefix=%{pref} --disable-gui --disable-std_iostreams
+%setup -q -n wxBase-%{ver}
%build
if [ "$SMP" != "" ]; then
- export MAKE="make -j$SMP"
+ export MAKE="make -j$SMP"
else
- export MAKE="make"
+ export MAKE="make"
fi
+
+mkdir obj-shared
+cd obj-shared
+../configure --prefix=%{pref} --disable-gui \
+%if %{unicode}
+ --enable-unicode
+%else
+ --with-odbc
+%endif
+$MAKE
+cd ..
+
+mkdir obj-static
+cd obj-static
+../configure --prefix=%{pref} --disable-gui --disable-shared \
+%if %{unicode}
+ --enable-unicode
+%else
+ --with-odbc
+%endif
$MAKE
+cd ..
%install
rm -rf $RPM_BUILD_ROOT
-make prefix=$RPM_BUILD_ROOT%{pref} install
+make -C locale allmo
+make -C obj-static DESTDIR=$RPM_BUILD_ROOT prefix=%{pref} install
+make -C obj-shared DESTDIR=$RPM_BUILD_ROOT prefix=%{pref} install
+
+# we need to modify the absolute wx-config link to be relative or rpm complains
+# (and our package wouldn't be relocatable)
+ln -sf ../lib/wx/config/%{wxconfig} $RPM_BUILD_ROOT/%{pref}/bin/wx-config
+
+%find_lang wxstd
%clean
rm -rf $RPM_BUILD_ROOT
%postun
/sbin/ldconfig
-%files
-%defattr (644, root, root, 755)
-%doc COPYING.LIB LICENCE.txt README.txt SYMBOLS.txt
-%attr(755, -, -) %{pref}/lib/libwx_base*
-%dir %{pref}/lib/wx
-%dir %{pref}/lib/wx/include
-%dir %{pref}/lib/wx/include/wx
-%{pref}/lib/wx/include/wx/base/setup.h
+%post devel
+# link wx-config when you install RPM.
+ln -sf %{_libdir}/wx/config/%{wxconfig} %{_bindir}/wx-config
+# link wx-config with explicit name.
+ln -sf %{_libdir}/wx/config/%{wxconfig} %{_bindir}/%{wxconfiglink}
+/sbin/ldconfig
+
+%postun devel
+/sbin/ldconfig
+
+%preun devel
+if test -f %{_bindir}/wx-config -a -f /usr/bin/md5sum ; then
+ SUM1=`md5sum %{_libdir}/wx/config/%{wxconfig} | cut -c 0-32`
+ SUM2=`md5sum %{_bindir}/wx-config | cut -c 0-32`
+ if test "x$SUM1" = "x$SUM2" ; then
+ rm -f %{_bindir}/wx-config
+ fi
+fi
+rm -f %{_bindir}/%{wxconfiglink}
+
+%files -f wxstd.lang
+%defattr (-,root,root)
+%doc COPYING.LIB *.txt
+%{_libdir}/libwx_base*-%{ver2}.so.*
-%files devel -f src/rpmfiles.lst
-%defattr (644, root, root, 755)
-%attr(755, -, -) %{pref}/bin/wx-config
+%files devel
+%defattr (-,root,root)
+%{_bindir}/wx-config
+%dir %{_includedir}/wx-%{ver2}
+%{_includedir}/wx-%{ver2}/*
+%{_libdir}/libwx_base*-%{ver2}.so
+%dir %{_libdir}/wx
+%{_libdir}/wx/*
+%{_datadir}/aclocal/*.m4
+%{_datadir}/bakefile/presets/*
+%{_datadir}/locale/*/LC_MESSAGES/*.mo
+%files static
+%defattr (-,root,root)
+%{_libdir}/lib*.a