[mingw-gtk3] Build 64 bit Windows binaries

Kalev Lember kalev at fedoraproject.org
Wed Mar 14 11:45:23 UTC 2012


commit 50597ef4d1151a5f3602fa06f56d72c161c8dab9
Author: Kalev Lember <kalevlember at gmail.com>
Date:   Wed Mar 14 13:44:49 2012 +0200

    Build 64 bit Windows binaries

 mingw-gtk3.spec |  115 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 103 insertions(+), 12 deletions(-)
---
diff --git a/mingw-gtk3.spec b/mingw-gtk3.spec
index 8876146..88c746a 100644
--- a/mingw-gtk3.spec
+++ b/mingw-gtk3.spec
@@ -1,6 +1,7 @@
-%global __strip %{mingw32_strip}
-%global __objdump %{mingw32_objdump}
-%define __debug_install_post %{mingw32_debug_install_post}
+%?mingw_package_header
+
+%global mingw_build_win32 1
+%global mingw_build_win64 1
 
 %global bin_version 3.0.0
 # first two digits of version
@@ -8,7 +9,7 @@
 
 Name:           mingw-gtk3
 Version:        3.3.16
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        MinGW Windows GTK+ library
 
 License:        LGPLv2+
@@ -20,20 +21,31 @@ Source1:        gtk.immodules
 
 BuildArch:      noarch
 
-BuildRequires:  mingw32-filesystem >= 68
+BuildRequires:  mingw32-filesystem >= 95
+BuildRequires:  mingw64-filesystem >= 95
 BuildRequires:  mingw32-gcc
+BuildRequires:  mingw64-gcc
 BuildRequires:  mingw32-binutils
+BuildRequires:  mingw64-binutils
 
 BuildRequires:  mingw32-atk
+BuildRequires:  mingw64-atk
 BuildRequires:  mingw32-cairo
-BuildRequires:  mingw32-dlfcn
+BuildRequires:  mingw64-cairo
 BuildRequires:  mingw32-gdk-pixbuf
+BuildRequires:  mingw64-gdk-pixbuf
 BuildRequires:  mingw32-gettext
+BuildRequires:  mingw64-gettext
 BuildRequires:  mingw32-glib2
+BuildRequires:  mingw64-glib2
 BuildRequires:  mingw32-win-iconv
+BuildRequires:  mingw64-win-iconv
 BuildRequires:  mingw32-pango
+BuildRequires:  mingw64-pango
 BuildRequires:  mingw32-pixman
+BuildRequires:  mingw64-pixman
 BuildRequires:  mingw32-zlib
+BuildRequires:  mingw64-zlib
 
 # Native one for msgfmt
 BuildRequires:  gettext
@@ -66,7 +78,20 @@ suites.
 This package contains the MinGW Windows cross compiled GTK+ 3 library.
 
 
-%{?mingw32_debug_package}
+%package -n mingw64-gtk3
+Summary:        MinGW Windows GTK+ library
+Requires:       pkgconfig
+
+%description -n mingw64-gtk3
+GTK+ is a multi-platform toolkit for creating graphical user
+interfaces. Offering a complete set of widgets, GTK+ is suitable for
+projects ranging from small one-off tools to complete application
+suites.
+
+This package contains the MinGW Windows cross compiled GTK+ 3 library.
+
+
+%?mingw_debug_package
 
 
 %prep
@@ -74,37 +99,49 @@ This package contains the MinGW Windows cross compiled GTK+ 3 library.
 
 
 %build
-%{mingw32_configure} \
+%mingw_configure \
   --enable-gtk2-dependency \
   --disable-cups
 
-make %{?_smp_mflags} V=1
+%mingw_make %{?_smp_mflags} V=1
 
 
 %install
-make install DESTDIR=$RPM_BUILD_ROOT
+%mingw_make install DESTDIR=$RPM_BUILD_ROOT
 
 rm -f $RPM_BUILD_ROOT/%{mingw32_libdir}/charset.alias
+rm -f $RPM_BUILD_ROOT/%{mingw64_libdir}/charset.alias
 
 # Remove manpages which duplicate those in Fedora native.
 rm -rf $RPM_BUILD_ROOT%{mingw32_mandir}
+rm -rf $RPM_BUILD_ROOT%{mingw64_mandir}
 
 # Remove documentation too.
 rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc
+rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc
 
 # Remove unneeded files
 rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/*.def
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/*.def
+
 rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/*.la
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/*.la
 rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/gtk-3.0/%{bin_version}/engines/*.dll.a
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/gtk-3.0/%{bin_version}/engines/*.dll.a
 rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/gtk-3.0/%{bin_version}/engines/*.la
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/gtk-3.0/%{bin_version}/engines/*.la
 rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/gtk-3.0/%{bin_version}/immodules/*.dll.a
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/*.dll.a
 rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/gtk-3.0/%{bin_version}/immodules/*.la
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/*.la
 
 # Install the gtk.immodules file
 mkdir -p $RPM_BUILD_ROOT%{mingw32_sysconfdir}/gtk-3.0/
+mkdir -p $RPM_BUILD_ROOT%{mingw64_sysconfdir}/gtk-3.0/
 install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{mingw32_sysconfdir}/gtk-3.0/
+install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{mingw64_sysconfdir}/gtk-3.0/
 
-%find_lang %{name} --all-name
+%mingw_find_lang %{name} --all-name
 
 
 %postun -n mingw32-gtk3
@@ -115,8 +152,16 @@ fi
 %posttrans -n mingw32-gtk3
 /usr/bin/glib-compile-schemas %{mingw32_datadir}/glib-2.0/schemas &> /dev/null || :
 
+%postun -n mingw64-gtk3
+if [ $1 -eq 0 ] ; then
+    /usr/bin/glib-compile-schemas %{mingw64_datadir}/glib-2.0/schemas &> /dev/null || :
+fi
+
+%posttrans -n mingw64-gtk3
+/usr/bin/glib-compile-schemas %{mingw64_datadir}/glib-2.0/schemas &> /dev/null || :
+
 
-%files -n mingw32-gtk3 -f %{name}.lang
+%files -n mingw32-gtk3 -f mingw32-%{name}.lang
 %doc COPYING
 %{mingw32_bindir}/gtk3-demo-application.exe
 %{mingw32_bindir}/gtk3-demo.exe
@@ -159,8 +204,54 @@ fi
 %{mingw32_datadir}/gtk-3.0/
 %{mingw32_datadir}/themes/*
 
+%files -n mingw64-gtk3 -f mingw64-%{name}.lang
+%doc COPYING
+%{mingw64_bindir}/gtk3-demo-application.exe
+%{mingw64_bindir}/gtk3-demo.exe
+%{mingw64_bindir}/gtk3-widget-factory.exe
+%{mingw64_bindir}/gtk-query-immodules-3.0.exe
+%{mingw64_bindir}/libgdk-3-0.dll
+%{mingw64_bindir}/libgailutil-3-0.dll
+%{mingw64_bindir}/libgtk-3-0.dll
+%{mingw64_sysconfdir}/gtk-3.0/
+%{mingw64_includedir}/gtk-3.0/
+%{mingw64_includedir}/gail-3.0/
+%dir %{mingw64_libdir}/gtk-3.0
+%dir %{mingw64_libdir}/gtk-3.0/%{bin_version}
+%dir %{mingw64_libdir}/gtk-3.0/%{bin_version}/engines
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/engines/libwimp.dll
+%dir %{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-am-et.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-cedilla.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-cyrillic-translit.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-ime.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-inuktitut.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-ipa.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-multipress.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-thai.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-ti-er.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-ti-et.dll
+%{mingw64_libdir}/gtk-3.0/%{bin_version}/immodules/im-viqr.dll
+%{mingw64_libdir}/libgailutil-3.dll.a
+%{mingw64_libdir}/libgdk-3.dll.a
+%{mingw64_libdir}/libgtk-3.dll.a
+%{mingw64_libdir}/pkgconfig/gail-3.0.pc
+%{mingw64_libdir}/pkgconfig/gdk-3.0.pc
+%{mingw64_libdir}/pkgconfig/gdk-win32-3.0.pc
+%{mingw64_libdir}/pkgconfig/gtk+-3.0.pc
+%{mingw64_libdir}/pkgconfig/gtk+-win32-3.0.pc
+%{mingw64_datadir}/aclocal/gtk-3.0.m4
+%{mingw64_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml
+%{mingw64_datadir}/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml
+%{mingw64_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml
+%{mingw64_datadir}/gtk-3.0/
+%{mingw64_datadir}/themes/*
+
 
 %changelog
+* Wed Mar 14 2012 Kalev Lember <kalevlember at gmail.com> - 3.3.16-2
+- Build 64 bit Windows binaries
+
 * Tue Feb 28 2012 Kalev Lember <kalevlember at gmail.com> - 3.3.16-1
 - Update to 3.3.16
 


More information about the scm-commits mailing list