1 Summary: A C++ interface for glib library - cross MinGW32 version
2 Summary(pl.UTF-8): Interfejs C++ dla biblioteki glib - wersja skrośna MinGW32
3 %define realname glibmm
4 Name: crossmingw32-%{realname}
8 Group: Development/Libraries
9 Source0: https://download.gnome.org/sources/glibmm/2.66/%{realname}-%{version}.tar.xz
10 # Source0-md5: c6edf4cc986adec2a6d21e7423bad7d1
11 Patch0: glibmm-mingw32.patch
12 URL: https://www.gtkmm.org/
13 BuildRequires: autoconf >= 2.59
14 BuildRequires: automake >= 1:1.11
15 BuildRequires: crossmingw32-gcc-c++ >= 1:4.7
16 BuildRequires: crossmingw32-glib2 >= 2.62.0
17 BuildRequires: crossmingw32-libsigc++ >= 2.10.0
18 BuildRequires: crossmingw32-std-threads
19 BuildRequires: libtool >= 2:2.0
21 BuildRequires: mm-common >= 0.9.10
22 BuildRequires: perl-XML-Parser
23 BuildRequires: perl-base
24 BuildRequires: pkgconfig >= 1:0.15
25 BuildRequires: tar >= 1:1.22
27 Requires: crossmingw32-gcc-c++ >= 1:4.7
28 Requires: crossmingw32-glib2 >= 2.62.0
29 Requires: crossmingw32-libsigc++ >= 2.10.0
30 Requires: crossmingw32-std-threads
32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 %define no_install_post_strip 1
35 %define _enable_debug_packages 0
37 %define target i386-mingw32
38 %define target_platform i386-pc-mingw32
40 %define _sysprefix /usr
41 %define _prefix %{_sysprefix}/%{target}
42 %define _libdir %{_prefix}/lib
43 %define _pkgconfigdir %{_prefix}/lib/pkgconfig
44 %define _dlldir /usr/share/wine/windows/system
45 %define __cc %{target}-gcc
46 %define __cxx %{target}-g++
47 %define __pkgconfig_provides %{nil}
48 %define __pkgconfig_requires %{nil}
51 # arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
52 # now at least i486 is required for atomic operations
53 %define optflags -O2 -march=i486
55 # -z options are invalid for mingw linker, most of -f options are Linux-specific
56 %define filterout_ld -Wl,-z,.*
57 %define filterout_c -f[-a-z0-9=]*
58 %define filterout_cxx -f[-a-z0-9=]*
61 A C++ interface for glib library - cross MinGW32 version.
63 %description -l pl.UTF-8
64 Interfejs C++ dla biblioteki glib - wersja skrośna MinGW32.
67 Summary: Static glibmm library (cross MinGW32 version)
68 Summary(pl.UTF-8): Statyczna biblioteka glibmm (wersja skrośna MinGW32)
69 Group: Development/Libraries
70 Requires: %{name} = %{version}-%{release}
73 Static glibmm library (cross MinGW32 version).
75 %description static -l pl.UTF-8
76 Statyczna biblioteka glibmm (wersja skrośna MinGW32).
79 Summary: DLL glibmm library for Windows
80 Summary(pl.UTF-8): Biblioteka DLL glibmm dla Windows
81 Group: Applications/Emulators
82 Requires: crossmingw32-glib2-dll >= 2.62.0
83 Requires: crossmingw32-libsigc++-dll >= 2.10.0
87 DLL glibmm library for Windows.
89 %description dll -l pl.UTF-8
90 Biblioteka DLL glibmm dla Windows.
93 %setup -q -n %{realname}-%{version}
97 export PKG_CONFIG_LIBDIR=%{_prefix}/lib/pkgconfig
98 mm-common-prepare --copy --force
100 %{__aclocal} -I build
104 # std-threads require at least WinXP API
105 CPPFLAGS="%{rpmcppflags} -DWINVER=0x0501"
106 # mingw32 requires gnu++11 (instead of c++11) for off[64]_t
107 CXXFLAGS="%{rpmcxxflags} -std=gnu++11"
111 --disable-documentation \
112 --enable-maintainer-mode \
113 --disable-silent-rules \
119 rm -rf $RPM_BUILD_ROOT
122 DESTDIR=$RPM_BUILD_ROOT
124 install -d $RPM_BUILD_ROOT%{_dlldir}
125 %{__mv} $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
127 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
130 %{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
131 %{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
134 # use these from native glibmm if needed
135 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/glibmm-2.4/proc
138 rm -rf $RPM_BUILD_ROOT
141 %defattr(644,root,root,755)
142 %doc ChangeLog NEWS README.md
143 %{_libdir}/libgiomm-2.4.dll.a
144 %{_libdir}/libglibmm-2.4.dll.a
145 %{_libdir}/libglibmm_generate_extra_defs-2.4.dll.a
146 %dir %{_libdir}/giomm-2.4
147 %{_libdir}/giomm-2.4/include
148 %dir %{_libdir}/glibmm-2.4
149 %{_libdir}/glibmm-2.4/include
150 %{_includedir}/giomm-2.4
151 %{_includedir}/glibmm-2.4
152 %{_pkgconfigdir}/giomm-2.4.pc
153 %{_pkgconfigdir}/glibmm-2.4.pc
156 %defattr(644,root,root,755)
157 %{_libdir}/libgiomm-2.4.a
158 %{_libdir}/libglibmm-2.4.a
159 %{_libdir}/libglibmm_generate_extra_defs-2.4.a
162 %defattr(644,root,root,755)
163 %{_dlldir}/libgiomm-2.4-1.dll
164 %{_dlldir}/libglibmm-2.4-1.dll
165 %{_dlldir}/libglibmm_generate_extra_defs-2.4-1.dll