[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