[mingw-libsoup] Added win64 support

epienbro epienbro at fedoraproject.org
Sun Mar 11 17:19:54 UTC 2012


commit 92ee9e8d4b4c38d373ce7e10f8e2ad8117c449b6
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date:   Sun Mar 11 18:19:50 2012 +0100

    Added win64 support

 mingw-libsoup.spec |  104 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 75 insertions(+), 29 deletions(-)
---
diff --git a/mingw-libsoup.spec b/mingw-libsoup.spec
index ae35d2b..b3f63be 100644
--- a/mingw-libsoup.spec
+++ b/mingw-libsoup.spec
@@ -1,13 +1,14 @@
-%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
 
 # first two digits of version
 %define release_version %(echo %{version} | awk -F. '{print $1"."$2}')
 
 Name:		mingw-libsoup
 Version:	2.37.90
-Release:	2%{?dist}
+Release:	3%{?dist}
 Summary:	MinGW library for HTTP and XML-RPC functionality
 
 License:	LGPLv2
@@ -17,12 +18,20 @@ Source0:	http://download.gnome.org/sources/libsoup/%{release_version}/libsoup-%{
 
 BuildArch:	noarch
 
-BuildRequires:	mingw32-filesystem
+BuildRequires:	mingw32-filesystem >= 95
 BuildRequires:	mingw32-gcc
 BuildRequires:	mingw32-binutils
 BuildRequires:	mingw32-glib2
 BuildRequires:	mingw32-libxml2
 BuildRequires:	mingw32-sqlite
+
+BuildRequires:  mingw64-filesystem >= 95
+BuildRequires:  mingw64-gcc
+BuildRequires:  mingw64-binutils
+BuildRequires:  mingw64-glib2
+BuildRequires:  mingw64-libxml2
+BuildRequires:  mingw64-sqlite
+
 # For glib-genmarshal
 BuildRequires:	glib2-devel
 
@@ -43,8 +52,10 @@ supported for those who want it).
 This is the MinGW build of Libsoup
 
 
+# Win32
 %package -n mingw32-libsoup
 Summary:	MinGW library for HTTP and XML-RPC functionality
+Requires:       pkgconfig
 
 %description -n mingw32-libsoup
 Libsoup is an HTTP library implementation in C. It was originally part
@@ -59,7 +70,6 @@ supported for those who want it).
 
 This is the MinGW build of Libsoup
 
-
 %package -n mingw32-libsoup-static
 Summary:	Static version of the MinGW Windows Libsoup library
 Requires:	mingw32-libsoup = %{version}-%{release}
@@ -68,8 +78,34 @@ Group:		Development/Libraries
 %description -n mingw32-libsoup-static
 Static version of the MinGW Windows Libsoup library.
 
+# Win64
+%package -n mingw64-libsoup
+Summary:        MinGW library for HTTP and XML-RPC functionality
+Requires:       pkgconfig
 
-%{?mingw32_debug_package}
+%description -n mingw64-libsoup
+Libsoup is an HTTP library implementation in C. It was originally part
+of a SOAP (Simple Object Access Protocol) implementation called Soup, but
+the SOAP and non-SOAP parts have now been split into separate packages.
+
+libsoup uses the Glib main loop and is designed to work well with GTK
+applications. This enables GNOME applications to access HTTP servers
+on the network in a completely asynchronous fashion, very similar to
+the Gtk+ programming model (a synchronous operation mode is also
+supported for those who want it).
+
+This is the MinGW build of Libsoup
+
+%package -n mingw64-libsoup-static
+Summary:        Static version of the MinGW Windows Libsoup library
+Requires:       mingw64-libsoup = %{version}-%{release}
+Group:          Development/Libraries
+
+%description -n mingw64-libsoup-static
+Static version of the MinGW Windows Libsoup library.
+
+
+%?mingw_debug_package
 
 
 %prep
@@ -79,47 +115,38 @@ Static version of the MinGW Windows Libsoup library.
 
 %build
 # Libsoup can't build static and shared libraries in one go, so we build the package twice here
-mkdir build_static
-pushd build_static
-	%{mingw32_configure}		\
-		--without-apache-httpd	\
-		--enable-static		\
-		--disable-shared	\
-		--with-gnome		\
-		CFLAGS="$CFLAGS -DGLIB_STATIC_COMPILATION -DGOBJECT_STATIC_COMPILATION -DLIBXML_STATIC"
-	make %{?_smp_mflags}
-popd
-
-mkdir build_shared
-pushd build_shared
-	%{mingw32_configure}		\
-		--without-apache-httpd	\
-		--disable-static	\
-		--enable-shared		\
-		--with-gnome
-	make %{?_smp_mflags}
-popd
+export CFLAGS="-DGLIB_STATIC_COMPILATION -DGOBJECT_STATIC_COMPILATION -DLIBXML_STATIC'"
+MINGW_BUILDDIR_SUFFIX=static %mingw_configure --with-gnome --without-apache-httpd --enable-static --disable-shared
+unset CFLAGS
+MINGW_BUILDDIR_SUFFIX=shared %mingw_configure --with-gnome --without-apache-httpd --disable-static --enable-shared
+
+MINGW_BUILDDIR_SUFFIX=static %mingw_make %{?_smp_mflags}
+MINGW_BUILDDIR_SUFFIX=shared %mingw_make %{?_smp_mflags}
 
 
 %install
 # First install all the files belonging to the shared build
-make -C build_shared DESTDIR=$RPM_BUILD_ROOT install
+MINGW_BUILDDIR_SUFFIX=shared %mingw_make_install DESTDIR=$RPM_BUILD_ROOT
 
 # Install all the files from the static build in a seperate folder
 # and move the static libraries to the right location
-make -C build_static DESTDIR=$RPM_BUILD_ROOT/build_static install
+MINGW_BUILDDIR_SUFFIX=static %mingw_make_install DESTDIR=$RPM_BUILD_ROOT/build_static
 mv $RPM_BUILD_ROOT/build_static%{mingw32_libdir}/*.a $RPM_BUILD_ROOT%{mingw32_libdir}
+mv $RPM_BUILD_ROOT/build_static%{mingw64_libdir}/*.a $RPM_BUILD_ROOT%{mingw64_libdir}
 
 # Remove the .la files
 rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/*.la
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/*.la
 
 # Drop the folder which was temporary used for installing the static bits
 rm -rf $RPM_BUILD_ROOT/build_static
 
 # Strip all the GTK-Doc
 rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc
+rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc
 
 
+# Win32
 %files -n mingw32-libsoup
 %doc COPYING
 %{mingw32_bindir}/libsoup-2.4-1.dll
@@ -135,8 +162,27 @@ rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc
 %{mingw32_libdir}/libsoup-2.4.a
 %{mingw32_libdir}/libsoup-gnome-2.4.a
 
+# Win64
+%files -n mingw64-libsoup
+%doc COPYING
+%{mingw64_bindir}/libsoup-2.4-1.dll
+%{mingw64_bindir}/libsoup-gnome-2.4-1.dll
+%{mingw64_includedir}/libsoup-2.4
+%{mingw64_includedir}/libsoup-gnome-2.4
+%{mingw64_libdir}/libsoup-2.4.dll.a
+%{mingw64_libdir}/libsoup-gnome-2.4.dll.a
+%{mingw64_libdir}/pkgconfig/libsoup-2.4.pc
+%{mingw64_libdir}/pkgconfig/libsoup-gnome-2.4.pc
+
+%files -n mingw64-libsoup-static
+%{mingw64_libdir}/libsoup-2.4.a
+%{mingw64_libdir}/libsoup-gnome-2.4.a
+
 
 %changelog
+* Sun Mar 11 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 2.37.90-3
+- Added win64 support
+
 * Tue Mar 06 2012 Kalev Lember <kalevlember at gmail.com> - 2.37.90-2
 - Renamed the source package to mingw-libsoup (#800433)
 - Use mingw macros without leading underscore


More information about the scm-commits mailing list