From 1cd555d2dea0c7b02abf4edecc76d2ca013e5bd1 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 2 Apr 2005 22:26:04 +0000 Subject: [PATCH] updates from photon3108@users.sf.net (patches 1173350, 1173440, 1173447 and 1173453): - s/wxWindows/wxWidgets/g - build qa library - use %{_tmppath} instead of /var/tmp (makes possible to build as non root) - run ldconfig on uninstall - many cosmetic changes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxBase.spec | 74 +++++++------- wxGTK.spec | 281 ++++++++++++++++++++++++++++----------------------- wxMotif.spec | 194 +++++++++++++++++++++++++++-------- wxX11.spec | 207 +++++++++++++++++++++---------------- 4 files changed, 463 insertions(+), 293 deletions(-) diff --git a/wxBase.spec b/wxBase.spec index f467fb5051..345752d565 100644 --- a/wxBase.spec +++ b/wxBase.spec @@ -1,7 +1,7 @@ %define pref /usr -%define ver 2.5.5 +%define ver 2.5.5 %define ver2 2.5 -%define rel 1 +%define rel 1 # Configurable settings (use --with(out) unicode on rpmbuild command line): %define unicode 0 @@ -9,30 +9,26 @@ %{?_without_unicode: %{expand: %%define unicode 0}} %if %{unicode} -%define wxconfigname base-unicode-release-%{ver2} -%define wxconfiglinkname wxbaseu-%{ver2}-config + %define name wx-base-unicode + %define wxconfig base-unicode-release-%{ver2} + %define wxconfiglink wxbaseu-%{ver2}-config %else -%define wxconfigname base-ansi-release-%{ver2} -%define wxconfiglinkname wxbase-%{ver2}-config + %define name wx-base + %define wxconfig base-ansi-release-%{ver2} + %define wxconfiglink wxbase-%{ver2}-config %endif -%if %{unicode} -%define name wx-base-unicode -%else -%define name wx-base -%endif - -Summary: wxBase library - non-GUI support classes of wxWindows toolkit -Name: %{name} +Summary: wxBase library - non-GUI support classes of wxWidgets toolkit +Name: %{name} Version: %{ver} Release: %{rel} License: wxWindows Licence Group: Development/Libraries Source: wxBase-%{ver}.tar.bz2 -URL: http://www.wxwindows.org +URL: http://www.wxwidgets.org Packager: Vadim Zeitlin Prefix: %{pref} -BuildRoot: /var/tmp/%{name}-root +BuildRoot: %{_tmppath}/%{name}-root Provides: wxBase %description @@ -56,6 +52,7 @@ 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. @@ -65,29 +62,29 @@ Static libraries for wxBase. You need them if you want to link statically agains %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 + --enable-unicode %else - --with-odbc + --with-odbc %endif $MAKE cd .. mkdir obj-static cd obj-static -../configure --prefix=%{pref} --disable-shared --disable-gui \ +../configure --prefix=%{pref} --disable-gui --disable-shared \ %if %{unicode} - --enable-unicode + --enable-unicode %else - --with-odbc + --with-odbc %endif $MAKE cd .. @@ -110,31 +107,34 @@ rm -rf $RPM_BUILD_ROOT %post devel # link wx-config when you install RPM. -ln -sf %{_libdir}/wx/config/%{wxconfigname} %{_bindir}/wx-config +ln -sf %{_libdir}/wx/config/%{wxconfig} %{_bindir}/wx-config # link wx-config with explicit name. -ln -sf %{_libdir}/wx/config/%{wxconfigname} %{_bindir}/%{wxconfiglinkname} - +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/%{wxconfigname} | 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 + 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}/%{wxconfiglinkname} +rm -f %{_bindir}/%{wxconfiglink} %files -f wxstd.lang %defattr (-,root,root) %doc COPYING.LIB *.txt -%{_libdir}/libwx_base*so.* +%{_libdir}/libwx_base*-%{ver2}.so.* %files devel %defattr (-,root,root) -%dir %{_includedir}/wx-* -%{_includedir}/wx-*/* -%{_libdir}/libwx_base*.so +%dir %{_includedir}/wx-%{ver2} +%{_includedir}/wx-%{ver2}/* +%{_libdir}/libwx_base*-%{ver2}.so %dir %{_libdir}/wx %{_libdir}/wx/* %{_datadir}/aclocal/*.m4 diff --git a/wxGTK.spec b/wxGTK.spec index 7e64dc2995..7e45e091ac 100644 --- a/wxGTK.spec +++ b/wxGTK.spec @@ -1,7 +1,7 @@ %define pref /usr -%define ver 2.5.5 +%define ver 2.5.5 %define ver2 2.5 -%define rel 1 +%define rel 1 # Configurable settings (use --with(out) {unicode,gtk2} on rpmbuild cmd line): %define unicode 0 @@ -12,142 +12,155 @@ %{?_with_gtk2: %{expand: %%define gtk2 1}} %{?_without_gtk2: %{expand: %%define gtk2 0}} +%define universal 0 +%{?_with_universal: %{expand: %%define universal 1}} +%{?_without_universal: %{expand: %%define universal 0}} + %if %{gtk2} -%define gtkver 2 -%define portname gtk2 + %define gtkver 2 + + %if %{universal} + %define portname gtk2univ + %else + %define portname gtk2 + %endif %else -%define gtkver 1.2 -%define portname gtk + %define gtkver 1.2 + + %if %{universal} + %define portname gtkuniv + %else + %define portname gtk + %endif %endif %if %{unicode} -%define name wx-%{portname}-unicode -%define wxbasename wx-base-unicode + %define wxbasename wx-base-unicode + %define name wx-%{portname}-unicode + %define wxconfig %{portname}-unicode-release-%{ver2} + %define wxconfiglink wx%{portname}u-%{ver2}-config %else -%define name wx-%{portname} -%define wxbasename wx-base + %define wxbasename wx-base + %define name wx-%{portname} + %define wxconfig %{portname}-ansi-release-%{ver2} + %define wxconfiglink wx%{portname}-%{ver2}-config %endif -%if %{unicode} -%define wxconfigname %{portname}-unicode-release-%{ver2} -%define wxconfiglinkname wx%{portname}u-%{ver2}-config -%else -%define wxconfigname %{portname}-ansi-release-%{ver2} -%define wxconfiglinkname wx%{portname}-%{ver2}-config -%endif - -Name: %{name} -Summary: The GTK+ %{gtkver} port of the wxWindows library +Summary: The GTK+ %{gtkver} port of the wxWidgets library +Name: %{name} Version: %{ver} Release: %{rel} License: wxWindows Licence Group: X11/Libraries Source: wxGTK-%{ver}.tar.bz2 -URL: http://www.wxwindows.org +URL: http://www.wxwidgets.org Packager: Vadim Zeitlin Prefix: %{pref} -BuildRoot: /var/tmp/%{name}-root +BuildRoot: %{_tmppath}/%{name}-root +Requires: %{wxbasename} = %{ver} -# all packages providing an implementation of wxWindows library (regardless of +# all packages providing an implementation of wxWidgets library (regardless of # the toolkit used) should provide the (virtual) wxwin package, this makes it # possible to require wxwin instead of requiring "wxgtk or wxmotif or wxuniv..." Provides: wxwin Provides: wxGTK -# in addition, we should provide libwx_gtk as automatic generator only notices -# libwx_gtk-%{ver}-%{rel} -Provides: libwx_gtk.so -Provides: libwx_gtk-%{ver2}.so - -Requires: %{wxbasename} = %{ver} - %description -wxWindows is a free C++ library for cross-platform GUI development. -With wxWindows, you can create applications for different GUIs (GTK+, +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif/LessTif, MS Windows, Mac) from the same source code. %package devel -Summary: The GTK+ %{gtkver} port of the wxWindows library +Summary: The GTK+ %{gtkver} port of the wxWidgets library Group: X11/Libraries Requires: %{name} = %{ver} Requires: %{wxbasename}-devel = %{ver} Provides: wxGTK-devel %description devel -Header files for wxGTK, the GTK+ %{gtkver} port of the wxWindows library. +Header files for wxGTK, the GTK+ %{gtkver} port of the wxWidgets library. %package gl -Summary: The GTK+ %{gtkver} port of the wxWindows library, OpenGL add-on. +Summary: The GTK+ %{gtkver} port of the wxWidgets library, OpenGL add-on. Group: X11/Libraries Requires: %{name} = %{ver} +Provides: wxGTK-gl %description gl -OpenGL add-on library for wxGTK, the GTK+ %{gtkver} port of the wxWindows library. +OpenGL add-on library for wxGTK, the GTK+ %{gtkver} port of the wxWidgets library. %package static Summary: wxGTK static libraries Group: Development/Libraries Requires: %{wxbasename}-static +Requires: %{name}-devel = %{ver} %description static Static libraries for wxGTK. You need them if you want to link statically against wxGTK. %package contrib -Summary: The GTK+ %{gtkver} port of the wxWindows library, contributed libraries. +Summary: The GTK+ %{gtkver} port of the wxWidgets library, contributed libraries. Group: X11/Libraries Requires: %{name} = %{ver} %description contrib -Contributed libraries for wxGTK, the GTK+ %{gtkver} port of the wxWindows library. +Contributed libraries for wxGTK, the GTK+ %{gtkver} port of the wxWidgets library. %package contrib-devel -Summary: The GTK+ %{gtkver} port of the wxWindows library +Summary: The GTK+ %{gtkver} port of the wxWidgets library Group: X11/Libraries Requires: %{name}-contrib = %{ver} Requires: %{name}-devel = %{ver} %description contrib-devel -Header files for contributed libraries for wxGTK, the GTK+ %{gtkver} port of the wxWindows library. +Header files for contributed libraries for wxGTK, the GTK+ %{gtkver} port of the wxWidgets library. %prep %setup -q -n wxGTK-%{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} \ +../configure --prefix=%{pref} --with-gtk \ %if %{unicode} - --enable-unicode \ + --enable-unicode \ %else - --with-odbc \ + --with-odbc \ %endif %if ! %{gtk2} - --disable-gtk2 \ + --disable-gtk2 \ %endif - --with-opengl +%if %{universal} + --enable-universal \ +%endif + --with-opengl $MAKE + cd contrib/src $MAKE cd ../../.. mkdir obj-static cd obj-static -../configure --prefix=%{pref} --disable-shared \ +../configure --prefix=%{pref} --with-gtk --disable-shared \ %if %{unicode} - --enable-unicode \ + --enable-unicode \ %else - --with-odbc \ + --with-odbc \ %endif %if ! %{gtk2} - --disable-gtk2 \ + --disable-gtk2 \ %endif - --with-opengl +%if %{universal} + --enable-universal \ +%endif + --with-opengl $MAKE cd .. @@ -298,11 +311,11 @@ wx/dbtable.h EOF # --- wxBase headers list ends here --- for f in `cat wxbase-headers-list` ; do - rm -f $RPM_BUILD_ROOT%{_includedir}/wx-*/$f + rm -f $RPM_BUILD_ROOT%{_includedir}/wx-%{ver2}/$f done # list of all core headers: -find $RPM_BUILD_ROOT/usr/include/wx-* -type f | sed -e "s,$RPM_BUILD_ROOT,,g" >core-headers.files +find $RPM_BUILD_ROOT%{_includedir}/wx-%{ver2} -type f | sed -e "s,$RPM_BUILD_ROOT,,g" >core-headers.files # contrib stuff: (cd obj-shared/contrib/src; make prefix=$RPM_BUILD_ROOT%{pref} install) @@ -310,12 +323,11 @@ find $RPM_BUILD_ROOT/usr/include/wx-* -type f | sed -e "s,$RPM_BUILD_ROOT,,g" >c # remove wxBase files so that RPM doesn't complain about unpackaged files: rm -f $RPM_BUILD_ROOT%{_libdir}/libwx_base* -rm -f $RPM_BUILD_ROOT%{_libdir}/libwxregexu-%{ver2}.a +%if %{unicode} + rm -f $RPM_BUILD_ROOT%{_libdir}/libwxregexu-%{ver2}.a +%endif rm -f $RPM_BUILD_ROOT%{_datadir}/aclocal/* rm -f $RPM_BUILD_ROOT%{_datadir}/locale/*/*/* -%if !%{unicode} -rm -f $RPM_BUILD_ROOT%{_libdir}/libwxodbc-2.5.a -%endif %clean rm -rf $RPM_BUILD_ROOT @@ -326,113 +338,128 @@ rm -rf $RPM_BUILD_ROOT %postun /sbin/ldconfig +%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} + %post gl /sbin/ldconfig %postun gl /sbin/ldconfig -%post devel -# link wx-config when you install RPM. -ln -sf %{_libdir}/wx/config/%{wxconfigname} %{_bindir}/wx-config -# link wx-config with explicit name. -ln -sf %{_libdir}/wx/config/%{wxconfigname} %{_bindir}/%{wxconfiglinkname} +%post contrib +/sbin/ldconfig -%preun devel -if test -f %{_bindir}/wx-config -a -f /usr/bin/md5sum ; then - SUM1=`md5sum %{_libdir}/wx/config/%{wxconfigname} | 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 +%postun contrib +/sbin/ldconfig -rm -f %{_bindir}/%{wxconfiglinkname} +%post contrib-devel +/sbin/ldconfig + +%postun contrib-devel +/sbin/ldconfig %files %defattr(-,root,root) %doc COPYING.LIB *.txt -%{_libdir}/libwx_%{portname}*_core*.so.* -%{_libdir}/libwx_%{portname}*_html*.so.* -%{_libdir}/libwx_%{portname}*_adv*.so.* -%{_libdir}/libwx_%{portname}*_media*.so.* +%{_libdir}/libwx_%{portname}*_adv-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_core-%{ver2}.so.* %if !%{unicode} -%{_libdir}/libwx_%{portname}*_dbgrid*.so.* + %{_libdir}/libwx_%{portname}*_dbgrid-%{ver2}.so.* %endif +%{_libdir}/libwx_%{portname}*_html-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_media-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_qa-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_xrc-%{ver2}.so.* + %files devel -f core-headers.files %defattr(-,root,root) -%{_libdir}/libwx_%{portname}*_core*.so -%{_libdir}/libwx_%{portname}*_html*.so -%{_libdir}/libwx_%{portname}*_adv*.so -%{_libdir}/libwx_%{portname}*_media*.so +%{_libdir}/libwx_%{portname}*_adv-%{ver2}.so +%{_libdir}/libwx_%{portname}*_core-%{ver2}.so %if !%{unicode} -%{_libdir}/libwx_%{portname}*_dbgrid*.so + %{_libdir}/libwx_%{portname}*_dbgrid-%{ver2}.so %endif -%{_libdir}/libwx_%{portname}*_gl*.so +%{_libdir}/libwx_%{portname}*_gl-%{ver2}.so +%{_libdir}/libwx_%{portname}*_html-%{ver2}.so +%{_libdir}/libwx_%{portname}*_media-%{ver2}.so +%{_libdir}/libwx_%{portname}*_qa-%{ver2}.so +%{_libdir}/libwx_%{portname}*_xrc-%{ver2}.so %dir %{_libdir}/wx %{_libdir}/wx/* +%{_bindir}/wxrc* %files gl %defattr(-,root,root) -%{_libdir}/libwx_%{portname}*_gl*.so.* +%{_libdir}/libwx_%{portname}*_gl-%{ver2}.so.* %files static %defattr (-,root,root) -%{_libdir}/libwx_gtk*.a +%{_libdir}/libwx_%{portname}*_*-%{ver2}.a %files contrib %defattr(-,root,root) -%{_libdir}/libwx_%{portname}*_animate*.so.* -%{_libdir}/libwx_%{portname}*_deprecated*.so.* -%{_libdir}/libwx_%{portname}*_fl*.so.* -%{_libdir}/libwx_%{portname}*_gizmos*.so.* -%{_libdir}/libwx_%{portname}*_mmedia*.so.* -%{_libdir}/libwx_%{portname}*_ogl*.so.* -%{_libdir}/libwx_%{portname}*_plot*.so.* -%{_libdir}/libwx_%{portname}*_stc*.so.* -%{_libdir}/libwx_%{portname}*_svg*.so.* -%{_libdir}/libwx_%{portname}*_xrc*.so.* +%{_libdir}/libwx_%{portname}*_animate-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_deprecated-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_fl-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_gizmos-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_mmedia-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_ogl-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_plot-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_stc-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_svg-%{ver2}.so.* %files contrib-devel %defattr(-,root,root) -%{_bindir}/wxrc* -%dir %{_includedir}/wx-*/wx/animate -%{_includedir}/wx-*/wx/animate/* -%{_libdir}/libwx_%{portname}*_animate*.so +%dir %{_includedir}/wx-%{ver2}/wx/animate +%{_includedir}/wx-%{ver2}/wx/animate/* +%{_libdir}/libwx_%{portname}*_animate-%{ver2}.so -%dir %{_includedir}/wx-*/wx/deprecated -%{_includedir}/wx-*/wx/deprecated/* -%{_libdir}/libwx_%{portname}*_deprecated*.so +%dir %{_includedir}/wx-%{ver2}/wx/deprecated +%{_includedir}/wx-%{ver2}/wx/deprecated/* +%{_libdir}/libwx_%{portname}*_deprecated-%{ver2}.so -%dir %{_includedir}/wx-*/wx/fl -%{_includedir}/wx-*/wx/fl/* -%{_libdir}/libwx_%{portname}*_fl*.so +%dir %{_includedir}/wx-%{ver2}/wx/fl +%{_includedir}/wx-%{ver2}/wx/fl/* +%{_libdir}/libwx_%{portname}*_fl-%{ver2}.so -%dir %{_includedir}/wx-*/wx/gizmos -%{_includedir}/wx-*/wx/gizmos/* -%{_libdir}/libwx_%{portname}*_gizmos*.so +%dir %{_includedir}/wx-%{ver2}/wx/gizmos +%{_includedir}/wx-%{ver2}/wx/gizmos/* +%{_libdir}/libwx_%{portname}*_gizmos-%{ver2}.so -%dir %{_includedir}/wx-*/wx/mmedia -%{_includedir}/wx-*/wx/mmedia/* -%{_libdir}/libwx_%{portname}*_mmedia*.so +%dir %{_includedir}/wx-%{ver2}/wx/mmedia +%{_includedir}/wx-%{ver2}/wx/mmedia/* +%{_libdir}/libwx_%{portname}*_mmedia-%{ver2}.so -%dir %{_includedir}/wx-*/wx/ogl -%{_includedir}/wx-*/wx/ogl/* -%{_libdir}/libwx_%{portname}*_ogl*.so +%dir %{_includedir}/wx-%{ver2}/wx/ogl +%{_includedir}/wx-%{ver2}/wx/ogl/* +%{_libdir}/libwx_%{portname}*_ogl-%{ver2}.so -%dir %{_includedir}/wx-*/wx/plot -%{_includedir}/wx-*/wx/plot/* -%{_libdir}/libwx_%{portname}*_plot*.so +%dir %{_includedir}/wx-%{ver2}/wx/plot +%{_includedir}/wx-%{ver2}/wx/plot/* +%{_libdir}/libwx_%{portname}*_plot-%{ver2}.so -%dir %{_includedir}/wx-*/wx/stc -%{_includedir}/wx-*/wx/stc/* -%{_libdir}/libwx_%{portname}*_stc*.so +%dir %{_includedir}/wx-%{ver2}/wx/stc +%{_includedir}/wx-%{ver2}/wx/stc/* +%{_libdir}/libwx_%{portname}*_stc-%{ver2}.so -%dir %{_includedir}/wx-*/wx/svg -%{_includedir}/wx-*/wx/svg/* -%{_libdir}/libwx_%{portname}*_svg*.so - -%dir %{_includedir}/wx-*/wx/xrc -%{_includedir}/wx-*/wx/xrc/* -%{_libdir}/libwx_%{portname}*_xrc*.so +%dir %{_includedir}/wx-%{ver2}/wx/svg +%{_includedir}/wx-%{ver2}/wx/svg/* +%{_libdir}/libwx_%{portname}*_svg-%{ver2}.so diff --git a/wxMotif.spec b/wxMotif.spec index 1a760493bf..da26c1decb 100644 --- a/wxMotif.spec +++ b/wxMotif.spec @@ -1,81 +1,103 @@ %define pref /usr -%define ver 2.5.5 +%define ver 2.5.5 %define ver2 2.5 -%define rel 1 +%define rel 1 -%define portname motif -%define name wx-%{portname} -%define wxbasename wx-base -%define wxconfigname wx%{portname}-%{ver2}-config +%define portname motif +%define name wx-%{portname} +%define wxbasename wx-base -Summary: The Motif/Lesstif port of the wxWindows library +%define wxconfig %{portname}-ansi-release-%{ver2} +%define wxconfiglink wx%{portname}-%{ver2}-config + +Summary: The Motif/Lesstif port of the wxWidgets library Name: %{name} Version: %{ver} Release: %{rel} License: wxWindows Licence Group: X11/Libraries -Source: wxMOTIF-%{ver}.tar.bz2 +Source: wxMotif-%{ver}.tar.bz2 URL: http://www.wxwidgets.org -Packager: wxWindows developers -BuildRoot: /tmp/wxmotif_root +Packager: wxWidgets developers +BuildRoot: %{_tmppath}/%{name}-root +Requires: %{wxbasename} = %{ver} -# all packages providing an implementation of wxWindows library (regardless of +# all packages providing an implementation of wxWidgets library (regardless of # the toolkit used) should provide the (virtual) wxwin package, this makes it # possible to require wxwin instead of requiring "wxgtk or wxmotif or wxuniv..." Provides: wxwin - Provides: wxMotif -Requires: %{wxbasename} = %{ver} - %description -wxWindows is a free C++ library for cross-platform GUI development. -With wxWindows, you can create applications for different GUIs (GTK+, +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif/LessTif, MS Windows, Mac) from the same source code. %package devel -Summary: The Motif/Lesstif port of the wxWindows library +Summary: The Motif/Lesstif port of the wxWidgets library Group: X11/Libraries Requires: %{name} = %{ver} Requires: %{wxbasename}-devel = %{ver} %description devel -Header files for wxMotif, the Motif/Lesstif port of the wxWindows library. +Header files for wxMotif, the Motif/Lesstif port of the wxWidgets library. %package gl -Summary: The Motif/Lesstif port of the wxWindows library, OpenGL add-on. +Summary: The Motif/Lesstif port of the wxWidgets library, OpenGL add-on. Group: X11/Libraries Requires: %{name} = %{ver} %description gl -OpenGL add-on library for wxMotif, the Motif/Lesstif port of the wxWindows library. +OpenGL add-on library for wxMotif, the Motif/Lesstif port of the wxWidgets library. %package static Summary: wxMotif static libraries Group: Development/Libraries +Requires: %{wxbasename}-static +Requires: %{name}-devel = %{ver} %description static Static libraries for wxMotif. You need them if you want to link statically against wxMotif. +%package contrib +Summary: Contrib libraries for wxMotif +Group: X11/Libraries +Requires: %{name} = %{ver} + +%description contrib +Contrib libraries for wxMotif + +%package contrib-devel +Summary: Contrib libraries for wxMotif +Group: X11/Libraries +Requires: %{name}-contrib = %{ver} +Requires: %{name}-devel = %{ver} + +%description contrib-devel +Header files for contributed libraries for wxMotif. + %prep -%setup -q -n wxMOTIF-%{ver} +%setup -q -n wxMotif-%{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} --with-odbc --with-opengl --with-motif +../configure --prefix=%{pref} --with-motif --with-odbc --with-opengl $MAKE -cd .. + +cd contrib/src +$MAKE +cd ../../.. mkdir obj-static cd obj-static -../configure --prefix=%{pref} --disable-shared --with-odbc --with-opengl --with-motif +../configure --prefix=%{pref} --with-motif --disable-shared --with-odbc --with-opengl $MAKE cd .. @@ -226,18 +248,21 @@ wx/dbtable.h EOF # --- wxBase headers list ends here --- for f in `cat wxbase-headers-list` ; do - rm -f $RPM_BUILD_ROOT%{_includedir}/wx-*/$f + rm -f $RPM_BUILD_ROOT%{_includedir}/wx-%{ver2}/$f done # list of all core headers: -find $RPM_BUILD_ROOT/usr/include/wx -type f | sed -e "s,$RPM_BUILD_ROOT,,g" >core-headers.files +find $RPM_BUILD_ROOT%{_includedir}/wx-%{ver2} -type f | sed -e "s,$RPM_BUILD_ROOT,,g" >core-headers.files + +# contrib stuff: +(cd obj-shared/contrib/src; make prefix=$RPM_BUILD_ROOT%{pref} install) +(cd obj-shared/utils/wxrc; make prefix=$RPM_BUILD_ROOT%{pref} install) # remove wxBase files so that RPM doesn't complain about unpackaged files: rm -f $RPM_BUILD_ROOT%{_libdir}/libwx_base* rm -f $RPM_BUILD_ROOT%{_datadir}/aclocal/* rm -f $RPM_BUILD_ROOT%{_datadir}/locale/*/*/* - %clean rm -rf $RPM_BUILD_ROOT @@ -247,37 +272,124 @@ rm -rf $RPM_BUILD_ROOT %postun /sbin/ldconfig +%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} + %post gl /sbin/ldconfig %postun gl /sbin/ldconfig +%post contrib +/sbin/ldconfig + +%postun contrib +/sbin/ldconfig + +%post contrib-devel +/sbin/ldconfig + +%postun contrib-devel +/sbin/ldconfig %files %defattr(-,root,root) %doc COPYING.LIB *.txt -%{_libdir}/libwx_%{portname}*_core*.so.* -%{_libdir}/libwx_%{portname}*_html*.so.* -%{_libdir}/libwx_%{portname}*_adv*.so.* -%{_libdir}/libwx_%{portname}*_dbgrid*.so.* +%{_libdir}/libwx_%{portname}*_adv-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_core-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_dbgrid-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_html-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_media-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_qa-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_xrc-%{ver2}.so.* + %files devel -f core-headers.files %defattr(-,root,root) -%{_libdir}/libwx_%{portname}*_core*.so -%{_libdir}/libwx_%{portname}*_html*.so -%{_libdir}/libwx_%{portname}*_adv*.so -%{_libdir}/libwx_%{portname}*_dbgrid*.so -%{_libdir}/libwx_%{portname}*_gl*.so +%{_libdir}/libwx_%{portname}*_adv-%{ver2}.so +%{_libdir}/libwx_%{portname}*_core-%{ver2}.so +%{_libdir}/libwx_%{portname}*_dbgrid-%{ver2}.so +%{_libdir}/libwx_%{portname}*_gl-%{ver2}.so +%{_libdir}/libwx_%{portname}*_html-%{ver2}.so +%{_libdir}/libwx_%{portname}*_media-%{ver2}.so +%{_libdir}/libwx_%{portname}*_qa-%{ver2}.so +%{_libdir}/libwx_%{portname}*_xrc-%{ver2}.so %dir %{_libdir}/wx %{_libdir}/wx/* -%{_bindir}/%{wxconfigname} +%{_bindir}/wxrc* %files gl %defattr(-,root,root) -%{_libdir}/libwx_%{portname}*_gl*.so.* +%{_libdir}/libwx_%{portname}*_gl-%{ver2}.so.* %files static %defattr (-,root,root) -%{_libdir}/libwx_%{portname}*.a +%{_libdir}/libwx_%{portname}*_*-%{ver2}.a +%files contrib +%defattr(-,root,root) +%{_libdir}/libwx_%{portname}*_animate-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_deprecated-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_fl-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_gizmos-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_mmedia-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_ogl-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_plot-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_stc-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_svg-%{ver2}.so.* + +%files contrib-devel +%defattr(-,root,root) +%dir %{_includedir}/wx-%{ver2}/wx/animate +%{_includedir}/wx-%{ver2}/wx/animate/* +%{_libdir}/libwx_%{portname}*_animate-%{ver2}.so + +%dir %{_includedir}/wx-%{ver2}/wx/deprecated +%{_includedir}/wx-%{ver2}/wx/deprecated/* +%{_libdir}/libwx_%{portname}*_deprecated-%{ver2}.so + +%dir %{_includedir}/wx-%{ver2}/wx/fl +%{_includedir}/wx-%{ver2}/wx/fl/* +%{_libdir}/libwx_%{portname}*_fl-%{ver2}.so + +%dir %{_includedir}/wx-%{ver2}/wx/gizmos +%{_includedir}/wx-%{ver2}/wx/gizmos/* +%{_libdir}/libwx_%{portname}*_gizmos-%{ver2}.so + +%dir %{_includedir}/wx-%{ver2}/wx/mmedia +%{_includedir}/wx-%{ver2}/wx/mmedia/* +%{_libdir}/libwx_%{portname}*_mmedia-%{ver2}.so + +%dir %{_includedir}/wx-%{ver2}/wx/ogl +%{_includedir}/wx-%{ver2}/wx/ogl/* +%{_libdir}/libwx_%{portname}*_ogl-%{ver2}.so + +%dir %{_includedir}/wx-%{ver2}/wx/plot +%{_includedir}/wx-%{ver2}/wx/plot/* +%{_libdir}/libwx_%{portname}*_plot-%{ver2}.so + +%dir %{_includedir}/wx-%{ver2}/wx/stc +%{_includedir}/wx-%{ver2}/wx/stc/* +%{_libdir}/libwx_%{portname}*_stc-%{ver2}.so + +%dir %{_includedir}/wx-%{ver2}/wx/svg +%{_includedir}/wx-%{ver2}/wx/svg/* +%{_libdir}/libwx_%{portname}*_svg-%{ver2}.so diff --git a/wxX11.spec b/wxX11.spec index 5a1bb1cd06..932c13b404 100644 --- a/wxX11.spec +++ b/wxX11.spec @@ -1,78 +1,73 @@ %define pref /usr -%define ver 2.5.5 +%define ver 2.5.5 %define ver2 2.5 -%define rel 1 +%define rel 1 # Configurable settings (use --with(out) unicode on rpmbuild cmd line): %define unicode 0 %{?_with_unicode: %{expand: %%define unicode 1}} %{?_without_unicode: %{expand: %%define unicode 0}} -%define portname x11 -%if %{unicode} -%define name wx-%{portname}-unicode -%define wxbasename wx-base-unicode -%else -%define name wx-%{portname} -%define wxbasename wx-base -%endif +%define portname x11univ %if %{unicode} -%define wxconfigname wx%{portname}univu-%{ver2}-config + %define wxbasename wx-base-unicode + %define name wx-%{portname}-unicode + %define wxconfig %{portname}-unicode-release-%{ver2} + %define wxconfiglink wx%{portname}u-%{ver2}-config %else -%define wxconfigname wx%{portname}univ-%{ver2}-config + %define wxbasename wx-base + %define name wx-%{portname} + %define wxconfig %{portname}-ansi-release-%{ver2} + %define wxconfiglink wx%{portname}-%{ver2}-config %endif -Summary: The X11 port of the wxWindows library -Name: %{name} +Summary: The X11 port of the wxWidgets library +Name: %{name} Version: %{ver} Release: %{rel} License: wxWindows Licence Group: X11/Libraries Source: wxX11-%{ver}.tar.bz2 -URL: http://www.wxwindows.org +URL: http://www.wxwidgets.org Packager: Vadim Zeitlin Prefix: %{pref} -BuildRoot: /var/tmp/%{name}-root +BuildRoot: %{_tmppath}/%{name}-root +Requires: %{wxbasename} = %{ver} -# all packages providing an implementation of wxWindows library (regardless of +# all packages providing an implementation of wxWidgets library (regardless of # the toolkit used) should provide the (virtual) wxwin package, this makes it # possible to require wxwin instead of requiring "wxgtk or wxmotif or wxuniv..." Provides: wxwin - -# in addition, we should provide libwx_gtk as automatic generator only notices -# libwx_gtk-%{ver}-%{rel} -Provides: libwx_x11.so -Provides: libwx_x11-%{ver2}.so Provides: wxX11 -Requires: %{wxbasename} = %{ver} - %description -wxWindows is a free C++ library for cross-platform GUI development. -With wxWindows, you can create applications for different GUIs (GTK+, +wxWidgets is a free C++ library for cross-platform GUI development. +With wxWidgets, you can create applications for different GUIs (GTK+, Motif/LessTif, MS Windows, Mac) from the same source code. %package devel -Summary: The X11 port of the wxWindows library +Summary: The X11 port of the wxWidgets library Group: X11/Libraries Requires: %{name} = %{ver} Requires: %{wxbasename}-devel = %{ver} %description devel -Header files for wxX11, the X11 port of the wxWindows library. +Header files for wxX11, the X11 port of the wxWidgets library. %package gl -Summary: The X11 port of the wxWindows library, OpenGL add-on. +Summary: The X11 port of the wxWidgets library, OpenGL add-on. Group: X11/Libraries Requires: %{name} = %{ver} %description gl -OpenGL add-on library for wxX11, the X11 port of the wxWindows library. +OpenGL add-on library for wxX11, the X11 port of the wxWidgets library. %package static Summary: wxX11 static libraries Group: Development/Libraries +Requires: %{wxbasename}-static +Requires: %{name}-devel = %{ver} %description static Static libraries for wxX11. You need them if you want to link statically against wxX11. @@ -99,9 +94,9 @@ Header files for contributed libraries for wxX11. %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 @@ -114,6 +109,7 @@ cd obj-shared %endif --with-opengl $MAKE + cd contrib/src $MAKE cd ../../.. @@ -277,11 +273,11 @@ wx/dbtable.h EOF # --- wxBase headers list ends here --- for f in `cat wxbase-headers-list` ; do - rm -f $RPM_BUILD_ROOT%{_includedir}/wx-*/$f + rm -f $RPM_BUILD_ROOT%{_includedir}/wx-%{ver2}/$f done # list of all core headers: -find $RPM_BUILD_ROOT/usr/include/wx -type f | sed -e "s,$RPM_BUILD_ROOT,,g" >core-headers.files +find $RPM_BUILD_ROOT%{_includedir}/wx-%{ver2} -type f | sed -e "s,$RPM_BUILD_ROOT,,g" >core-headers.files # contrib stuff: (cd obj-shared/contrib/src; make prefix=$RPM_BUILD_ROOT%{pref} install) @@ -289,6 +285,9 @@ find $RPM_BUILD_ROOT/usr/include/wx -type f | sed -e "s,$RPM_BUILD_ROOT,,g" >cor # remove wxBase files so that RPM doesn't complain about unpackaged files: rm -f $RPM_BUILD_ROOT%{_libdir}/libwx_base* +%if %{unicode} + rm -f $RPM_BUILD_ROOT%{_libdir}/libwxregexu-%{ver2}.a +%endif rm -f $RPM_BUILD_ROOT%{_datadir}/aclocal/* rm -f $RPM_BUILD_ROOT%{_datadir}/locale/*/*/* @@ -301,96 +300,128 @@ rm -rf $RPM_BUILD_ROOT %postun /sbin/ldconfig +%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} + %post gl /sbin/ldconfig %postun gl /sbin/ldconfig +%post contrib +/sbin/ldconfig + +%postun contrib +/sbin/ldconfig + +%post contrib-devel +/sbin/ldconfig + +%postun contrib-devel +/sbin/ldconfig %files %defattr(-,root,root) %doc COPYING.LIB *.txt -%{_libdir}/libwx_%{portname}*_core*.so.* -%{_libdir}/libwx_%{portname}*_html*.so.* -%{_libdir}/libwx_%{portname}*_adv*.so.* +%{_libdir}/libwx_%{portname}*_adv-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_core-%{ver2}.so.* %if !%{unicode} -%{_libdir}/libwx_%{portname}*_dbgrid*.so.* + %{_libdir}/libwx_%{portname}*_dbgrid-%{ver2}.so.* %endif +%{_libdir}/libwx_%{portname}*_html-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_media-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_qa-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_xrc-%{ver2}.so.* + %files devel -f core-headers.files %defattr(-,root,root) -%{_libdir}/libwx_%{portname}*_core*.so -%{_libdir}/libwx_%{portname}*_html*.so -%{_libdir}/libwx_%{portname}*_adv*.so +%{_libdir}/libwx_%{portname}*_adv-%{ver2}.so +%{_libdir}/libwx_%{portname}*_core-%{ver2}.so %if !%{unicode} -%{_libdir}/libwx_%{portname}*_dbgrid*.so + %{_libdir}/libwx_%{portname}*_dbgrid-%{ver2}.so %endif -%{_libdir}/libwx_%{portname}*_gl*.so +%{_libdir}/libwx_%{portname}*_gl-%{ver2}.so +%{_libdir}/libwx_%{portname}*_html-%{ver2}.so +%{_libdir}/libwx_%{portname}*_media-%{ver2}.so +%{_libdir}/libwx_%{portname}*_qa-%{ver2}.so +%{_libdir}/libwx_%{portname}*_xrc-%{ver2}.so %dir %{_libdir}/wx %{_libdir}/wx/* -%{_bindir}/%{wxconfigname} +%{_bindir}/wxrc* %files gl %defattr(-,root,root) -%{_libdir}/libwx_%{portname}*_gl*.so.* +%{_libdir}/libwx_%{portname}*_gl-%{ver2}.so.* %files static %defattr (-,root,root) -%{_libdir}/libwx_%{portname}*.a +%{_libdir}/libwx_%{portname}*_*-%{ver2}.a %files contrib %defattr(-,root,root) -%{_libdir}/libwx_%{portname}*_animate*.so.* -%{_libdir}/libwx_%{portname}*_deprecated*.so.* -%{_libdir}/libwx_%{portname}*_fl*.so.* -%{_libdir}/libwx_%{portname}*_gizmos*.so.* -%{_libdir}/libwx_%{portname}*_mmedia*.so.* -%{_libdir}/libwx_%{portname}*_ogl*.so.* -%{_libdir}/libwx_%{portname}*_plot*.so.* -%{_libdir}/libwx_%{portname}*_stc*.so.* -%{_libdir}/libwx_%{portname}*_svg*.so.* -%{_libdir}/libwx_%{portname}*_xrc*.so.* +%{_libdir}/libwx_%{portname}*_animate-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_deprecated-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_fl-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_gizmos-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_mmedia-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_ogl-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_plot-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_stc-%{ver2}.so.* +%{_libdir}/libwx_%{portname}*_svg-%{ver2}.so.* %files contrib-devel %defattr(-,root,root) -%{_bindir}/wxrc -%dir %{_includedir}/wx-*/wx/animate -%{_includedir}/wx-*/wx/animate/* -%{_libdir}/libwx_%{portname}*_animate*.so +%dir %{_includedir}/wx-%{ver2}/wx/animate +%{_includedir}/wx-%{ver2}/wx/animate/* +%{_libdir}/libwx_%{portname}*_animate-%{ver2}.so -%dir %{_includedir}/wx-*/wx/deprecated -%{_includedir}/wx-*/wx/deprecated/* -%{_libdir}/libwx_%{portname}*_deprecated*.so +%dir %{_includedir}/wx-%{ver2}/wx/deprecated +%{_includedir}/wx-%{ver2}/wx/deprecated/* +%{_libdir}/libwx_%{portname}*_deprecated-%{ver2}.so -%dir %{_includedir}/wx-*/wx/fl -%{_includedir}/wx-*/wx/fl/* -%{_libdir}/libwx_%{portname}*_fl*.so +%dir %{_includedir}/wx-%{ver2}/wx/fl +%{_includedir}/wx-%{ver2}/wx/fl/* +%{_libdir}/libwx_%{portname}*_fl-%{ver2}.so -%dir %{_includedir}/wx-*/wx/gizmos -%{_includedir}/wx-*/wx/gizmos/* -%{_libdir}/libwx_%{portname}*_gizmos*.so +%dir %{_includedir}/wx-%{ver2}/wx/gizmos +%{_includedir}/wx-%{ver2}/wx/gizmos/* +%{_libdir}/libwx_%{portname}*_gizmos-%{ver2}.so -%dir %{_includedir}/wx-*/wx/mmedia -%{_includedir}/wx-*/wx/mmedia/* -%{_libdir}/libwx_%{portname}*_mmedia*.so +%dir %{_includedir}/wx-%{ver2}/wx/mmedia +%{_includedir}/wx-%{ver2}/wx/mmedia/* +%{_libdir}/libwx_%{portname}*_mmedia-%{ver2}.so -%dir %{_includedir}/wx-*/wx/ogl -%{_includedir}/wx-*/wx/ogl/* -%{_libdir}/libwx_%{portname}*_ogl*.so +%dir %{_includedir}/wx-%{ver2}/wx/ogl +%{_includedir}/wx-%{ver2}/wx/ogl/* +%{_libdir}/libwx_%{portname}*_ogl-%{ver2}.so -%dir %{_includedir}/wx-*/wx/plot -%{_includedir}/wx-*/wx/plot/* -%{_libdir}/libwx_%{portname}*_plot*.so +%dir %{_includedir}/wx-%{ver2}/wx/plot +%{_includedir}/wx-%{ver2}/wx/plot/* +%{_libdir}/libwx_%{portname}*_plot-%{ver2}.so -%dir %{_includedir}/wx-*/wx/stc -%{_includedir}/wx-*/wx/stc/* -%{_libdir}/libwx_%{portname}*_stc*.so +%dir %{_includedir}/wx-%{ver2}/wx/stc +%{_includedir}/wx-%{ver2}/wx/stc/* +%{_libdir}/libwx_%{portname}*_stc-%{ver2}.so -%dir %{_includedir}/wx-*/wx/svg -%{_includedir}/wx-*/wx/svg/* -%{_libdir}/libwx_%{portname}*_svg*.so - -%dir %{_includedir}/wx-*/wx/xrc -%{_includedir}/wx-*/wx/xrc/* -%{_libdir}/libwx_%{portname}*_xrc*.so +%dir %{_includedir}/wx-%{ver2}/wx/svg +%{_includedir}/wx-%{ver2}/wx/svg/* +%{_libdir}/libwx_%{portname}*_svg-%{ver2}.so