X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/147a1f7e70ee9ca4b0517e8df46a9094cf914f68..099c3b27c229312ffc82ea185e3f3e8884f6c3db:/wxGTK.spec diff --git a/wxGTK.spec b/wxGTK.spec index 40f00540ea..a5b01d80a2 100644 --- a/wxGTK.spec +++ b/wxGTK.spec @@ -1,22 +1,65 @@ -# Note that this is NOT a relocatable package %define pref /usr -%define ver 2.3.0 -%define rel 0 +%define ver 2.5.4 +%define ver2 2.5 +%define rel 1 -Summary: The GTK+ 1.2 port of the wxWindows library -Name: wxGTK +# Configurable settings (use --with(out) {unicode,gtk2} on rpmbuild cmd line): +%define unicode 0 +%{?_with_unicode: %{expand: %%define unicode 1}} +%{?_without_unicode: %{expand: %%define unicode 0}} + +%define gtk2 1 +%{?_with_gtk2: %{expand: %%define gtk2 1}} +%{?_without_gtk2: %{expand: %%define gtk2 0}} + +%if %{gtk2} +%define gtkver 2 +%define portname gtk2 +%else +%define gtkver 1.2 +%define portname gtk +%endif + +%if %{unicode} +%define name wx-%{portname}-unicode +%define wxbasename wx-base-unicode +%else +%define name wx-%{portname} +%define wxbasename wx-base +%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 Version: %{ver} Release: %{rel} -Copyright: wxWindows Licence +License: wxWindows Licence Group: X11/Libraries -Source: wxGTK-%{ver}.tgz -URL: http://wxwindows.org -Packager: Robert Roebling +Source: wxGTK-%{ver}.tar.bz2 +URL: http://www.wxwindows.org +Packager: Vadim Zeitlin +Prefix: %{pref} +BuildRoot: /var/tmp/%{name}-root # all packages providing an implementation of wxWindows 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 wxqt..." +# 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. @@ -24,24 +67,50 @@ With wxWindows, you can create applications for different GUIs (GTK+, Motif/LessTif, MS Windows, Mac) from the same source code. %package devel -Summary: The GTK+ 1.2 port of the wxWindows library +Summary: The GTK+ %{gtkver} port of the wxWindows library Group: X11/Libraries -Requires: wxGTK +Requires: %{name} = %{ver} +Requires: %{wxbasename}-devel = %{ver} +Provides: wxGTK-devel %description devel -Header files for wxGTK, the GTK+ 1.2 port of the wxWindows library. +Header files for wxGTK, the GTK+ %{gtkver} port of the wxWindows library. %package gl -Summary: The GTK+ 1.2 port of the wxWindows library, OpenGl add-on. +Summary: The GTK+ %{gtkver} port of the wxWindows library, OpenGL add-on. Group: X11/Libraries -Requires: wxGTK +Requires: %{name} = %{ver} %description gl -OpenGl add-on library for wxGTK, the GTK+ 1.2 port of the wxWindows library. +OpenGL add-on library for wxGTK, the GTK+ %{gtkver} port of the wxWindows library. + +%package static +Summary: wxGTK static libraries +Group: Development/Libraries +Requires: %{wxbasename}-static + +%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. +Group: X11/Libraries +Requires: %{name} = %{ver} + +%description contrib +Contributed libraries for wxGTK, the GTK+ %{gtkver} port of the wxWindows library. + +%package contrib-devel +Summary: The GTK+ %{gtkver} port of the wxWindows 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. %prep -%setup -n wxGTK -./configure --prefix=%{pref} --enable-burnt_name --with-odbc --with-opengl +%setup -q -n wxGTK-%{ver} %build if [ "$SMP" != "" ]; then @@ -49,10 +118,202 @@ if [ "$SMP" != "" ]; then else export MAKE="make" fi + +mkdir obj-shared +cd obj-shared +../configure --prefix=%{pref} \ +%if %{unicode} + --enable-unicode \ +%else + --with-odbc \ +%endif +%if ! %{gtk2} + --disable-gtk2 \ +%endif + --with-opengl +$MAKE +cd contrib/src $MAKE +cd ../../.. + +mkdir obj-static +cd obj-static +../configure --prefix=%{pref} --disable-shared \ +%if %{unicode} + --enable-unicode \ +%else + --with-odbc \ +%endif +%if ! %{gtk2} + --disable-gtk2 \ +%endif + --with-opengl +$MAKE +cd .. %install -make install +rm -rf $RPM_BUILD_ROOT +(cd obj-static; make prefix=$RPM_BUILD_ROOT%{pref} install) +(cd obj-shared; make prefix=$RPM_BUILD_ROOT%{pref} install) + +# Remove headers that are part of wx-base-devel: + +# --- wxBase headers list begins here --- +cat <wxbase-headers-list +wx/afterstd.h +wx/app.h +wx/apptrait.h +wx/archive.h +wx/arrimpl.cpp +wx/arrstr.h +wx/beforestd.h +wx/buffer.h +wx/build.h +wx/chkconf.h +wx/clntdata.h +wx/cmdline.h +wx/confbase.h +wx/config.h +wx/containr.h +wx/datetime.h +wx/datetime.inl +wx/datstrm.h +wx/dde.h +wx/debug.h +wx/defs.h +wx/dir.h +wx/dlimpexp.h +wx/dynarray.h +wx/dynlib.h +wx/dynload.h +wx/encconv.h +wx/event.h +wx/except.h +wx/features.h +wx/ffile.h +wx/file.h +wx/fileconf.h +wx/filefn.h +wx/filename.h +wx/filesys.h +wx/fontenc.h +wx/fontmap.h +wx/fs_mem.h +wx/fs_zip.h +wx/hash.h +wx/hashmap.h +wx/hashset.h +wx/iconloc.h +wx/init.h +wx/intl.h +wx/iosfwrap.h +wx/ioswrap.h +wx/ipc.h +wx/ipcbase.h +wx/isql.h +wx/isqlext.h +wx/list.h +wx/listimpl.cpp +wx/log.h +wx/longlong.h +wx/math.h +wx/memconf.h +wx/memory.h +wx/memtext.h +wx/mimetype.h +wx/module.h +wx/msgout.h +wx/msgout.h +wx/mstream.h +wx/object.h +wx/platform.h +wx/process.h +wx/ptr_scpd.h +wx/regex.h +wx/scopeguard.h +wx/snglinst.h +wx/sstream.h +wx/stack.h +wx/stackwalk.h +wx/stdpaths.h +wx/stockitem.h +wx/stopwatch.h +wx/strconv.h +wx/stream.h +wx/string.h +wx/sysopt.h +wx/textbuf.h +wx/textfile.h +wx/thread.h +wx/thrimpl.cpp +wx/timer.h +wx/tokenzr.h +wx/txtstrm.h +wx/types.h +wx/uri.h +wx/utils.h +wx/variant.h +wx/vector.h +wx/version.h +wx/volume.h +wx/wfstream.h +wx/wx.h +wx/wxchar.h +wx/wxprec.h +wx/xti.h +wx/xtistrm.h +wx/zipstrm.h +wx/zstream.h +wx/msw/apptrait.h +wx/msw/apptbase.h +wx/msw/chkconf.h +wx/msw/crashrpt.h +wx/msw/dde.h +wx/msw/debughlp.h +wx/msw/gccpriv.h +wx/msw/mimetype.h +wx/msw/stackwalk.h +wx/msw/winundef.h +wx/msw/wrapcctl.h +wx/msw/wrapwin.h +wx/fs_inet.h +wx/gsocket.h +wx/protocol/file.h +wx/protocol/ftp.h +wx/protocol/http.h +wx/protocol/protocol.h +wx/sckaddr.h +wx/sckipc.h +wx/sckstrm.h +wx/socket.h +wx/url.h +wx/msw/gsockmsw.h +wx/xml/xml.h +wx/xtixml.h +wx/db.h +wx/dbkeyg.h +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 +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 + +# 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%{_libdir}/libwxregexu-%{ver2}.a +rm -f $RPM_BUILD_ROOT%{_datadir}/aclocal/* +rm -f $RPM_BUILD_ROOT%{_datadir}/locale/*/*/* + +%clean +rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig @@ -60,22 +321,113 @@ make install %postun /sbin/ldconfig +%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} + +%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 + +rm -f %{_bindir}/%{wxconfiglinkname} + %files -%defattr (644, root, root, 755) -%doc COPYING.LIB INSTALL.txt LICENCE.txt README.txt SYMBOLS.txt TODO.txt -%dir %{pref}/share/wx -%{pref}/share/wx/* -%attr(755, -, -) %{pref}/lib/libwx_gtk.* -%attr(755, -, -) %{pref}/lib/libwx_gtk-2.2.* - -%files devel -%defattr (644, root, root, 755) -%dir %{pref}/include/wx -%{pref}/include/wx/* -%dir %{pref}/lib/wx -%{pref}/lib/wx/* -%attr(755, -, -) %{pref}/bin/wxgtk-config -%attr(755, -, -) %{pref}/bin/wx-config +%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.* +%if !%{unicode} +%{_libdir}/libwx_%{portname}*_dbgrid*.so.* +%endif + +%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 +%if !%{unicode} +%{_libdir}/libwx_%{portname}*_dbgrid*.so +%endif +%{_libdir}/libwx_%{portname}*_gl*.so +%dir %{_libdir}/wx +%{_libdir}/wx/* %files gl -%attr(755, -, -) %{pref}/lib/libwx_gtk_gl* +%defattr(-,root,root) +%{_libdir}/libwx_%{portname}*_gl*.so.* + +%files static +%defattr (-,root,root) +%{_libdir}/libwx_gtk*.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.* + +%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-*/wx/deprecated +%{_includedir}/wx-*/wx/deprecated/* +%{_libdir}/libwx_%{portname}*_deprecated*.so + +%dir %{_includedir}/wx-*/wx/fl +%{_includedir}/wx-*/wx/fl/* +%{_libdir}/libwx_%{portname}*_fl*.so + +%dir %{_includedir}/wx-*/wx/gizmos +%{_includedir}/wx-*/wx/gizmos/* +%{_libdir}/libwx_%{portname}*_gizmos*.so + +%dir %{_includedir}/wx-*/wx/mmedia +%{_includedir}/wx-*/wx/mmedia/* +%{_libdir}/libwx_%{portname}*_mmedia*.so + +%dir %{_includedir}/wx-*/wx/ogl +%{_includedir}/wx-*/wx/ogl/* +%{_libdir}/libwx_%{portname}*_ogl*.so + +%dir %{_includedir}/wx-*/wx/plot +%{_includedir}/wx-*/wx/plot/* +%{_libdir}/libwx_%{portname}*_plot*.so + +%dir %{_includedir}/wx-*/wx/stc +%{_includedir}/wx-*/wx/stc/* +%{_libdir}/libwx_%{portname}*_stc*.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