]> git.saurik.com Git - wxWidgets.git/blobdiff - wxGTK.spec
Fix memory leak in wxXmlNode::operator=().
[wxWidgets.git] / wxGTK.spec
index 971fb1e74ad3ea59cac6d48860de77989d583541..eb2a1590f62149b18f9349dca4e277d0b8f4a8de 100644 (file)
@@ -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
     %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 <vadim@wxwindows.org>
 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
@@ -150,15 +185,18 @@ cd obj-shared
                              --enable-unicode \
 %else
                              --disable-unicode \
+%endif
+%if ! 0%{?mandriva_version}
+                             --enable-mediactrl \
 %endif
                              --with-opengl
-$MAKE
+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
@@ -169,9 +207,12 @@ cd obj-static
                              --enable-unicode \
 %else
                              --disable-unicode \
+%endif
+%if ! 0%{?mandriva_version}
+                             --enable-mediactrl \
 %endif
                              --with-opengl
-$MAKE
+make %{?_smp_mflags}
 
 cd ..
 
@@ -222,6 +263,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
@@ -266,6 +308,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
@@ -275,6 +318,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
@@ -299,6 +343,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
@@ -314,6 +359,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
@@ -325,14 +371,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
@@ -364,138 +417,10 @@ wx/xml/xml.h
 wx/xtixml.h
 EOF
 # --- wxBase headers list ends here ---
-cat <<EOF >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
@@ -559,20 +484,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.*
@@ -586,13 +513,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
@@ -605,7 +545,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
@@ -613,6 +555,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}
@@ -626,15 +574,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.*