]> git.saurik.com Git - wxWidgets.git/blobdiff - wxBase.spec
fix wxUniv/MSW compilation with wxUSE_MENUS==0 (patch 1744277)
[wxWidgets.git] / wxBase.spec
index 94a8d60fd82de23db099dcd1b49aa75573723d5d..46b7a8929aac9d6fe4087f91b4b2c4dd8249347b 100644 (file)
@@ -1,18 +1,35 @@
 %define pref /usr
-%define ver 2.3.1
-%define rel 1
+%define ver  2.9.0
+%define ver2 2.9
+%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.bz2
-URL: http://www.wxwindows.org
+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,
@@ -26,26 +43,63 @@ the following platforms: Win32, generic Unix (Linux, FreeBSD, Solaris, HP-UX,
 %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
@@ -56,16 +110,43 @@ 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