X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a2d2cb04eeffc79006644cbc8ae8fad40e0ce1bb..a31e87879e56c3d4dc7a2b40842bdef9e407adcb:/wxGTK.spec diff --git a/wxGTK.spec b/wxGTK.spec index 72dfec7157..62ab3c8ef4 100644 --- a/wxGTK.spec +++ b/wxGTK.spec @@ -1,7 +1,10 @@ %define _prefix /usr -%define ver 2.9.2 +%define ver 2.9.5 %define ver2 2.9 %define rel 1 +# version for package name according to OpenSuse policy: +# http://en.opensuse.org/openSUSE:Shared_library_packaging_policy +%define sver 2_9-5 # Configurable settings (use --with(out) {unicode,gtk2} on rpmbuild cmd line): %define unicode 1 @@ -49,15 +52,22 @@ %define wxbaseconfiglink wxbase-%{ver2}-config %endif +%if 0%{?suse_version} +# avoiding shlib-policy-name-error: Your package contains a single shared +# library but is not named after its SONAME. + %define glname libwx_%{buildname}_gl-%{sver} +%else + %define glname %{name}-gl +%endif + 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 +Group: System/Libraries +Source: wxWidgets-%{ver}.tar.bz2 URL: http://www.wxwidgets.org -Packager: Vadim Zeitlin Prefix: %{_prefix} BuildRoot: %{_tmppath}/%{name}-root Requires: %{wxbasename} = %{ver} @@ -68,12 +78,33 @@ BuildRequires: gtk+-devel >= 1.2.0 %endif BuildRequires: zlib-devel, libjpeg-devel, libpng-devel, libtiff-devel +# on RedHat 5 default GCC 4.1.2 crashes during compilation +%if 0%{?rhel} == 5 +BuildRequires: gcc44-c++ +%else +BuildRequires: gcc-c++ +%endif + +%if 0%{?suse_version} +BuildRequires: libexpat-devel, Mesa-devel, xorg-x11-libSM-devel +BuildRequires: gstreamer-0_10-devel, gstreamer-0_10-plugins-base-devel +%else +%if 0%{?mandriva_version} +BuildRequires: libexpat-devel, libmesaglu-devel, libsm-devel +# For now disabling mediactrl +# FIXME: How to resolve OBS Mandriva dependecies for these? +#BuildRequires: libgstreamer-devel, libgstreamer-plugins-base-devel +%else +BuildRequires: expat-devel, libGLU-devel, libSM-devel +BuildRequires: gstreamer-devel, gstreamer-plugins-base-devel +%endif +%endif # 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 +Provides: wxwin = %{version} +Provides: wxGTK = %{version} %description wxWidgets is a free C++ library for cross-platform GUI development. @@ -81,35 +112,36 @@ With wxWidgets, you can create applications for different GUIs (GTK+, Motif, MS Windows, MacOS X, Windows CE, GPE) from the same source code. %package -n wx-i18n -Summary: The translations for the wxWidgets library. -Group: X11/Libraries +Summary: The translations for the wxWidgets library +Group: System/Libraries %description -n wx-i18n The translations files for the wxWidgets library. %package devel Summary: The GTK+ %{gtkver} port of the wxWidgets library -Group: X11/Libraries +Group: Development/Libraries Requires: %{name} = %{ver} +Requires: %{glname} = %{ver} Requires: %{wxbasename}-devel = %{ver} -Provides: wxGTK-devel +Provides: wxGTK-devel = %{version} %description devel The GTK+ %{gtkver} port of the wxWidgets library, header files. -%package gl -Summary: The GTK+ %{gtkver} port of the wxWidgets library, OpenGL add-on. -Group: X11/Libraries +%package -n %{glname} +Summary: The GTK+ %{gtkver} port of the wxWidgets library, OpenGL add-on +Group: System/Libraries Requires: %{name} = %{ver} -Provides: wxGTK-gl +Provides: wxGTK-gl = %{version} -%description gl +%description -n %{glname} OpenGL add-on library for wxGTK, the GTK+ %{gtkver} port of the wxWidgets library. %package -n %{wxbasename} Summary: wxBase library - non-GUI support classes of the wxWidgets toolkit Group: Development/Libraries -Provides: wxBase +Provides: wxBase = %{version} %description -n %{wxbasename} wxBase is a collection of C++ classes providing basic data structures (strings, @@ -120,27 +152,30 @@ compression). wxBase currently supports Win32, most Unix variants (Linux, FreeBSD, Solaris, HP-UX) and MacOS X (Carbon and Mach-0). %package -n %{wxbasename}-devel -Summary: wxBase library, header files. +Summary: wxBase library, header files Group: Development/Libraries -Provides: wxBase-devel +Provides: wxBase-devel = %{version} %description -n %{wxbasename}-devel wxBase library - non-GUI support classes of the wxWidgets toolkit, header files. %prep -%setup -q -n wxGTK-%{ver} +%setup -q -n wxWidgets-%{ver} %build -if [ "$SMP" != "" ]; then - export MAKE="make -j$SMP" -else - export MAKE="make" -fi + +%if 0%{?rhel} == 5 +export CC=gcc44 +export CXX=g++44 +%endif +# if it's not set OpenSuse warns: "compiled without RPM_OPT_FLAGS" +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" mkdir obj-shared cd obj-shared -../configure --prefix=%{_prefix} --libdir=%{_libdir} \ +../configure --prefix=%{_prefix} --libdir=%{_libdir} --disable-rpath \ %if ! %{gtk2} --with-gtk=1 \ %else @@ -151,16 +186,17 @@ cd obj-shared %else --disable-unicode \ %endif - --with-opengl \ - --with-gnomeprint \ - --enable-mediactrl -$MAKE +%if ! 0%{?mandriva_version} + --enable-mediactrl \ +%endif + --with-opengl +make %{?_smp_mflags} cd .. mkdir obj-static cd obj-static -../configure --prefix=%{_prefix} --libdir=%{_libdir} \ +../configure --prefix=%{_prefix} --libdir=%{_libdir} --disable-rpath \ %if ! %{gtk2} --with-gtk=1 \ %else @@ -172,10 +208,11 @@ cd obj-static %else --disable-unicode \ %endif - --with-opengl \ - --with-gnomeprint \ - --enable-mediactrl -$MAKE +%if ! 0%{?mandriva_version} + --enable-mediactrl \ +%endif + --with-opengl +make %{?_smp_mflags} cd .. @@ -207,6 +244,7 @@ wx/chkconf.h wx/clntdata.h wx/cmdargs.h wx/cmdline.h +wx/compiler.h wx/confbase.h wx/config.h wx/convauto.h @@ -226,6 +264,7 @@ wx/dynlib.h wx/dynload.h wx/encconv.h wx/event.h +wx/eventfilter.h wx/evtloop.h wx/except.h wx/features.h @@ -270,6 +309,7 @@ wx/mousestate.h wx/msgout.h wx/msgqueue.h wx/mstream.h +wx/numformatter.h wx/object.h wx/platform.h wx/platinfo.h @@ -279,6 +319,7 @@ wx/ptr_scpd.h wx/ptr_shrd.h wx/recguard.h wx/regex.h +wx/rtti.h wx/scopedarray.h wx/scopedptr.h wx/scopeguard.h @@ -303,6 +344,7 @@ wx/textbuf.h wx/textfile.h wx/thread.h wx/thrimpl.cpp +wx/time.h wx/timer.h wx/tls.h wx/tokenzr.h @@ -318,6 +360,7 @@ wx/utils.h wx/variant.h wx/vector.h wx/version.h +wx/versioninfo.h wx/volume.h wx/weakref.h wx/wfstream.h @@ -329,14 +372,21 @@ wx/wxcrtvararg.h wx/wxprec.h wx/xlocale.h wx/xti.h +wx/xti2.h wx/xtistrm.h +wx/xtictor.h +wx/xtihandler.h +wx/xtiprop.h +wx/xtitypes.h wx/zipstrm.h wx/zstream.h wx/meta/convertible.h wx/meta/if.h +wx/meta/implicitconversion.h wx/meta/int2type.h wx/meta/movable.h wx/meta/pod.h +wx/meta/removeref.h wx/fswatcher.h wx/generic/fswatcher.h wx/unix/app.h @@ -368,138 +418,10 @@ wx/xml/xml.h wx/xtixml.h EOF # --- wxBase headers list ends here --- -cat <wxbase-headers.paths -%{_includedir}/wx-%{ver2}/wx/afterstd.h -%{_includedir}/wx-%{ver2}/wx/app.h -%{_includedir}/wx-%{ver2}/wx/apptrait.h -%{_includedir}/wx-%{ver2}/wx/archive.h -%{_includedir}/wx-%{ver2}/wx/arrimpl.cpp -%{_includedir}/wx-%{ver2}/wx/arrstr.h -%{_includedir}/wx-%{ver2}/wx/beforestd.h -%{_includedir}/wx-%{ver2}/wx/buffer.h -%{_includedir}/wx-%{ver2}/wx/build.h -%{_includedir}/wx-%{ver2}/wx/chkconf.h -%{_includedir}/wx-%{ver2}/wx/clntdata.h -%{_includedir}/wx-%{ver2}/wx/cmdline.h -%{_includedir}/wx-%{ver2}/wx/confbase.h -%{_includedir}/wx-%{ver2}/wx/config.h -%{_includedir}/wx-%{ver2}/wx/containr.h -%{_includedir}/wx-%{ver2}/wx/convauto.h -%{_includedir}/wx-%{ver2}/wx/datetime.h -%{_includedir}/wx-%{ver2}/wx/datstrm.h -%{_includedir}/wx-%{ver2}/wx/dde.h -%{_includedir}/wx-%{ver2}/wx/debug.h -%{_includedir}/wx-%{ver2}/wx/defs.h -%{_includedir}/wx-%{ver2}/wx/dir.h -%{_includedir}/wx-%{ver2}/wx/dlimpexp.h -%{_includedir}/wx-%{ver2}/wx/dynarray.h -%{_includedir}/wx-%{ver2}/wx/dynlib.h -%{_includedir}/wx-%{ver2}/wx/dynload.h -%{_includedir}/wx-%{ver2}/wx/encconv.h -%{_includedir}/wx-%{ver2}/wx/event.h -%{_includedir}/wx-%{ver2}/wx/except.h -%{_includedir}/wx-%{ver2}/wx/features.h -%{_includedir}/wx-%{ver2}/wx/ffile.h -%{_includedir}/wx-%{ver2}/wx/file.h -%{_includedir}/wx-%{ver2}/wx/fileconf.h -%{_includedir}/wx-%{ver2}/wx/filefn.h -%{_includedir}/wx-%{ver2}/wx/filename.h -%{_includedir}/wx-%{ver2}/wx/filesys.h -%{_includedir}/wx-%{ver2}/wx/fontenc.h -%{_includedir}/wx-%{ver2}/wx/fontmap.h -%{_includedir}/wx-%{ver2}/wx/fs_mem.h -%{_includedir}/wx-%{ver2}/wx/fs_zip.h -%{_includedir}/wx-%{ver2}/wx/hash.h -%{_includedir}/wx-%{ver2}/wx/hashmap.h -%{_includedir}/wx-%{ver2}/wx/hashset.h -%{_includedir}/wx-%{ver2}/wx/html/forcelnk.h -%{_includedir}/wx-%{ver2}/wx/iconloc.h -%{_includedir}/wx-%{ver2}/wx/init.h -%{_includedir}/wx-%{ver2}/wx/intl.h -%{_includedir}/wx-%{ver2}/wx/iosfwrap.h -%{_includedir}/wx-%{ver2}/wx/ioswrap.h -%{_includedir}/wx-%{ver2}/wx/ipc.h -%{_includedir}/wx-%{ver2}/wx/ipcbase.h -%{_includedir}/wx-%{ver2}/wx/isql.h -%{_includedir}/wx-%{ver2}/wx/isqlext.h -%{_includedir}/wx-%{ver2}/wx/link.h -%{_includedir}/wx-%{ver2}/wx/list.h -%{_includedir}/wx-%{ver2}/wx/listimpl.cpp -%{_includedir}/wx-%{ver2}/wx/log.h -%{_includedir}/wx-%{ver2}/wx/longlong.h -%{_includedir}/wx-%{ver2}/wx/math.h -%{_includedir}/wx-%{ver2}/wx/memconf.h -%{_includedir}/wx-%{ver2}/wx/memory.h -%{_includedir}/wx-%{ver2}/wx/memtext.h -%{_includedir}/wx-%{ver2}/wx/mimetype.h -%{_includedir}/wx-%{ver2}/wx/module.h -%{_includedir}/wx-%{ver2}/wx/msgout.h -%{_includedir}/wx-%{ver2}/wx/mstream.h -%{_includedir}/wx-%{ver2}/wx/object.h -%{_includedir}/wx-%{ver2}/wx/platform.h -%{_includedir}/wx-%{ver2}/wx/power.h -%{_includedir}/wx-%{ver2}/wx/process.h -%{_includedir}/wx-%{ver2}/wx/ptr_scpd.h -%{_includedir}/wx-%{ver2}/wx/recguard.h -%{_includedir}/wx-%{ver2}/wx/regex.h -%{_includedir}/wx-%{ver2}/wx/scopeguard.h -%{_includedir}/wx-%{ver2}/wx/snglinst.h -%{_includedir}/wx-%{ver2}/wx/sstream.h -%{_includedir}/wx-%{ver2}/wx/stack.h -%{_includedir}/wx-%{ver2}/wx/stackwalk.h -%{_includedir}/wx-%{ver2}/wx/stdpaths.h -%{_includedir}/wx-%{ver2}/wx/stockitem.h -%{_includedir}/wx-%{ver2}/wx/stopwatch.h -%{_includedir}/wx-%{ver2}/wx/strconv.h -%{_includedir}/wx-%{ver2}/wx/stream.h -%{_includedir}/wx-%{ver2}/wx/string.h -%{_includedir}/wx-%{ver2}/wx/sysopt.h -%{_includedir}/wx-%{ver2}/wx/textbuf.h -%{_includedir}/wx-%{ver2}/wx/textfile.h -%{_includedir}/wx-%{ver2}/wx/thread.h -%{_includedir}/wx-%{ver2}/wx/thrimpl.cpp -%{_includedir}/wx-%{ver2}/wx/timer.h -%{_includedir}/wx-%{ver2}/wx/tokenzr.h -%{_includedir}/wx-%{ver2}/wx/txtstrm.h -%{_includedir}/wx-%{ver2}/wx/types.h -%{_includedir}/wx-%{ver2}/wx/uri.h -%{_includedir}/wx-%{ver2}/wx/utils.h -%{_includedir}/wx-%{ver2}/wx/variant.h -%{_includedir}/wx-%{ver2}/wx/vector.h -%{_includedir}/wx-%{ver2}/wx/version.h -%{_includedir}/wx-%{ver2}/wx/volume.h -%{_includedir}/wx-%{ver2}/wx/wfstream.h -%{_includedir}/wx-%{ver2}/wx/wx.h -%{_includedir}/wx-%{ver2}/wx/wxchar.h -%{_includedir}/wx-%{ver2}/wx/wxprec.h -%{_includedir}/wx-%{ver2}/wx/xti.h -%{_includedir}/wx-%{ver2}/wx/xtistrm.h -%{_includedir}/wx-%{ver2}/wx/zipstrm.h -%{_includedir}/wx-%{ver2}/wx/zstream.h -%{_includedir}/wx-%{ver2}/wx/fs_inet.h -%{_includedir}/wx-%{ver2}/wx/gsocket.h -%{_includedir}/wx-%{ver2}/wx/protocol/file.h -%{_includedir}/wx-%{ver2}/wx/protocol/ftp.h -%{_includedir}/wx-%{ver2}/wx/protocol/http.h -%{_includedir}/wx-%{ver2}/wx/protocol/protocol.h -%{_includedir}/wx-%{ver2}/wx/sckaddr.h -%{_includedir}/wx-%{ver2}/wx/sckipc.h -%{_includedir}/wx-%{ver2}/wx/sckstrm.h -%{_includedir}/wx-%{ver2}/wx/socket.h -%{_includedir}/wx-%{ver2}/wx/url.h -%{_includedir}/wx-%{ver2}/wx/xml/xml.h -%{_includedir}/wx-%{ver2}/wx/xtixml.h -%{_includedir}/wx-%{ver2}/wx/unix/apptbase.h -%{_includedir}/wx-%{ver2}/wx/unix/apptrait.h -%{_includedir}/wx-%{ver2}/wx/unix/execute.h -%{_includedir}/wx-%{ver2}/wx/unix/gsockunx.h -%{_includedir}/wx-%{ver2}/wx/unix/mimetype.h -%{_includedir}/wx-%{ver2}/wx/unix/pipe.h -%{_includedir}/wx-%{ver2}/wx/unix/private.h -%{_includedir}/wx-%{ver2}/wx/unix/stackwalk.h -%{_includedir}/wx-%{ver2}/wx/unix/stdpaths.h -EOF -# --- wxBase headers list ends here --- + +# --- wxBase headers list with paths --- +sed -e 's@^@%{_includedir}/wx-%{ver2}/@' wxbase-headers.files > wxbase-headers.paths + # temporarily remove base headers mkdir $RPM_BUILD_ROOT/_save_dir @@ -563,20 +485,22 @@ ln -sf %{_libdir}/wx/config/%{wxbaseconfig} %{_bindir}/%{wxbaseconfiglink} %preun -n %{wxbasename}-devel rm -f %{_bindir}/%{wxbaseconfiglink} -%post gl +%post -n %{glname} /sbin/ldconfig -%postun gl +%postun -n %{glname} /sbin/ldconfig %files %defattr(-,root,root) -%doc COPYING.LIB *.txt +#doc COPYING.LIB *.txt %{_libdir}/libwx_%{buildname}_adv-%{ver2}.so.* %{_libdir}/libwx_%{buildname}_aui-%{ver2}.so.* %{_libdir}/libwx_%{buildname}_core-%{ver2}.so.* %{_libdir}/libwx_%{buildname}_html-%{ver2}.so.* +%if ! 0%{?mandriva_version} %{_libdir}/libwx_%{buildname}_media-%{ver2}.so.* +%endif %{_libdir}/libwx_%{buildname}_propgrid-%{ver2}.so.* %{_libdir}/libwx_%{buildname}_qa-%{ver2}.so.* %{_libdir}/libwx_%{buildname}_ribbon-%{ver2}.so.* @@ -590,13 +514,26 @@ rm -f %{_bindir}/%{wxbaseconfiglink} %files devel -f core-headers.files %defattr(-,root,root) +%dir %{_includedir}/wx-%{ver2}/wx/aui +%dir %{_includedir}/wx-%{ver2}/wx/gtk +%dir %{_includedir}/wx-%{ver2}/wx/gtk/gnome +%dir %{_includedir}/wx-%{ver2}/wx/gtk/hildon +%dir %{_includedir}/wx-%{ver2}/wx/persist +%dir %{_includedir}/wx-%{ver2}/wx/propgrid +%dir %{_includedir}/wx-%{ver2}/wx/ribbon +%dir %{_includedir}/wx-%{ver2}/wx/richtext +%dir %{_includedir}/wx-%{ver2}/wx/stc +%dir %{_includedir}/wx-%{ver2}/wx/unix +%dir %{_includedir}/wx-%{ver2}/wx/xrc # shared libs %{_libdir}/libwx_%{buildname}_adv-%{ver2}.so %{_libdir}/libwx_%{buildname}_aui-%{ver2}.so %{_libdir}/libwx_%{buildname}_core-%{ver2}.so %{_libdir}/libwx_%{buildname}_gl-%{ver2}.so %{_libdir}/libwx_%{buildname}_html-%{ver2}.so +%if ! 0%{?mandriva_version} %{_libdir}/libwx_%{buildname}_media-%{ver2}.so +%endif %{_libdir}/libwx_%{buildname}_propgrid-%{ver2}.so %{_libdir}/libwx_%{buildname}_qa-%{ver2}.so %{_libdir}/libwx_%{buildname}_ribbon-%{ver2}.so @@ -609,7 +546,9 @@ rm -f %{_bindir}/%{wxbaseconfiglink} %{_libdir}/libwx_%{buildname}_core-%{ver2}.a %{_libdir}/libwx_%{buildname}_gl-%{ver2}.a %{_libdir}/libwx_%{buildname}_html-%{ver2}.a +%if ! 0%{?mandriva_version} %{_libdir}/libwx_%{buildname}_media-%{ver2}.a +%endif %{_libdir}/libwx_%{buildname}_propgrid-%{ver2}.a %{_libdir}/libwx_%{buildname}_qa-%{ver2}.a %{_libdir}/libwx_%{buildname}_ribbon-%{ver2}.a @@ -617,6 +556,12 @@ rm -f %{_bindir}/%{wxbaseconfiglink} %{_libdir}/libwx_%{buildname}_stc-%{ver2}.a %{_libdir}/libwx_%{buildname}_xrc-%{ver2}.a %dir %{_libdir}/wx +%dir %{_libdir}/wx/config +%dir %{_libdir}/wx/include +%dir %{_libdir}/wx/include/%{wxconfig} +%dir %{_libdir}/wx/include/%{wxconfig}/wx +%dir %{_libdir}/wx/include/%{wxconfigstatic} +%dir %{_libdir}/wx/include/%{wxconfigstatic}/wx %{_libdir}/wx/config/%{wxconfig} %{_libdir}/wx/include/%{wxconfig}/wx/setup.h %{_libdir}/wx/config/%{wxconfigstatic} @@ -630,15 +575,26 @@ rm -f %{_bindir}/%{wxbaseconfiglink} %files -n %{wxbasename}-devel -f wxbase-headers.paths %defattr (-,root,root) %dir %{_includedir}/wx-%{ver2} +%dir %{_includedir}/wx-%{ver2}/wx +%dir %{_includedir}/wx-%{ver2}/wx/generic +%dir %{_includedir}/wx-%{ver2}/wx/html +%dir %{_includedir}/wx-%{ver2}/wx/meta +%dir %{_includedir}/wx-%{ver2}/wx/protocol +%dir %{_includedir}/wx-%{ver2}/wx/unix +%dir %{_includedir}/wx-%{ver2}/wx/xml +%dir %{_datadir}/bakefile/presets %{_libdir}/libwx_base*-%{ver2}.so %{_libdir}/libwx_base*-%{ver2}.a %if %{unicode} %{_libdir}/libwxregexu-%{ver2}.a %endif +%{_libdir}/libwxscintilla-%{ver2}.a %dir %{_libdir}/wx +%dir %{_datadir}/bakefile +%dir %{_datadir}/bakefile/presets %{_datadir}/aclocal/*.m4 %{_datadir}/bakefile/presets/* -%files gl +%files -n %{glname} %defattr(-,root,root) %{_libdir}/libwx_%{buildname}_gl-%{ver2}.so.*