-Summary: A C++ interface for glib library - cross Mingw32 version
-Summary(pl.UTF-8): Interfejs C++ dla biblioteki glib - wersja skrośna Mingw32
+Summary: A C++ interface for glib library - cross MinGW32 version
+Summary(pl.UTF-8): Interfejs C++ dla biblioteki glib - wersja skrośna MinGW32
%define realname glibmm
Name: crossmingw32-%{realname}
-Version: 2.18.1
-Release: 1
+Version: 2.58.0
+Release: 2
License: LGPL v2+
Group: Development/Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.18/%{realname}-%{version}.tar.bz2
-# Source0-md5: 942290a4b77dac3ea18a5b70373fe04c
+Source0: http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.58/%{realname}-%{version}.tar.xz
+# Source0-md5: 4a0402ac65a7c47424b4e21b81b079c0
+Patch0: glibmm-mingw32.patch
URL: http://www.gtkmm.org/
-BuildRequires: autoconf >= 2.58
-BuildRequires: automake >= 1:1.7
-BuildRequires: crossmingw32-gcc-c++
-BuildRequires: crossmingw32-glib2 >= 2.18.0
-BuildRequires: crossmingw32-libsigc++ >= 2.2.0
-BuildRequires: libtool >= 2:1.5
-BuildRequires: perl-XML-Parser
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake >= 1:1.11
+BuildRequires: crossmingw32-gcc-c++ >= 1:4.7
+BuildRequires: crossmingw32-glib2 >= 2.56.0
+BuildRequires: crossmingw32-libsigc++ >= 2.10.0
+BuildRequires: crossmingw32-std-threads
+BuildRequires: libtool >= 2:2.0
+BuildRequires: m4
+BuildRequires: mm-common >= 0.9.10
BuildRequires: pkgconfig >= 1:0.15
-Requires: crossmingw32-glib2 >= 2.18.0
-Requires: crossmingw32-libsigc++ >= 2.2.0
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires: crossmingw32-gcc-c++ >= 1:4.7
+Requires: crossmingw32-glib2 >= 2.56.0
+Requires: crossmingw32-libsigc++ >= 2.10.0
+Requires: crossmingw32-std-threads
+ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define no_install_post_strip 1
%define _dlldir /usr/share/wine/windows/system
%define __cc %{target}-gcc
%define __cxx %{target}-g++
+%define __pkgconfig_provides %{nil}
+%define __pkgconfig_requires %{nil}
%ifnarch %{ix86}
# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
-%define optflags -O2
+# now at least i486 is required for atomic operations
+%define optflags -O2 -march=i486
%endif
-# -z options are invalid for mingw linker
+# -z options are invalid for mingw linker, most of -f options are Linux-specific
%define filterout_ld -Wl,-z,.*
+%define filterout_c -f[-a-z0-9=]*
+%define filterout_cxx -f[-a-z0-9=]*
%description
-A C++ interface for glib library - cross Mingw32 version.
+A C++ interface for glib library - cross MinGW32 version.
%description -l pl.UTF-8
-Interfejs C++ dla biblioteki glib - wersja skrośna Mingw32.
+Interfejs C++ dla biblioteki glib - wersja skrośna MinGW32.
%package static
-Summary: Static glibmm library (cross mingw32 version)
-Summary(pl.UTF-8): Statyczna biblioteka glibmm (wersja skrośna mingw32)
+Summary: Static glibmm library (cross MinGW32 version)
+Summary(pl.UTF-8): Statyczna biblioteka glibmm (wersja skrośna MinGW32)
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description static
-Static glibmm library (cross mingw32 version).
+Static glibmm library (cross MinGW32 version).
%description static -l pl.UTF-8
-Statyczna biblioteka glibmm (wersja skrośna mingw32).
+Statyczna biblioteka glibmm (wersja skrośna MinGW32).
%package dll
Summary: DLL glibmm library for Windows
Summary(pl.UTF-8): Biblioteka DLL glibmm dla Windows
Group: Applications/Emulators
-Requires: crossmingw32-glib2-dll >= 2.18.0
-Requires: crossmingw32-libsigc++-dll >= 2.2.0
+Requires: crossmingw32-glib2-dll >= 2.56.0
+Requires: crossmingw32-libsigc++-dll >= 2.10.0
Requires: wine
%description dll
%prep
%setup -q -n %{realname}-%{version}
+%patch0 -p1
%build
export PKG_CONFIG_LIBDIR=%{_prefix}/lib/pkgconfig
%{__libtoolize}
-%{__aclocal} -I scripts
+%{__aclocal} -I build
%{__autoconf}
%{__automake}
+# std-threads require at least WinXP API
+CPPFLAGS="%{rpmcppflags} -DWINVER=0x0501"
+# mingw32 requires gnu++11 (instead of c++11) for off[64]_t
+CXXFLAGS="%{rpmcxxflags} -std=gnu++11"
%configure \
--target=%{target} \
--host=%{target} \
--disable-fulldocs \
+ --disable-silent-rules \
--enable-static
%{__make}
DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_dlldir}
-mv -f $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
%if 0%{!?debug:1}
%{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
%endif
-rm -rf $RPM_BUILD_ROOT%{_datadir}/doc
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{doc,devhelp}
# use these from native glibmm if needed
-rm -rf $RPM_BUILD_ROOT%{_libdir}/glibmm-2.4/proc
-rm -rf $RPM_BUILD_ROOT%{_datadir}/aclocal
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/glibmm-2.4/proc
%clean
rm -rf $RPM_BUILD_ROOT