Added win64 support
This commit is contained in:
parent
d88004b607
commit
f669db9bcd
138
mingw-glib2.spec
138
mingw-glib2.spec
@ -1,10 +1,11 @@
|
||||
%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
|
||||
|
||||
Name: mingw-glib2
|
||||
Version: 2.31.20
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: MinGW Windows GLib2 library
|
||||
|
||||
License: LGPLv2+
|
||||
@ -19,7 +20,7 @@ Patch0: glib-use-correct-glib-genmarshal-when-cross-compiling.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: mingw32-filesystem >= 68
|
||||
BuildRequires: mingw32-filesystem >= 95
|
||||
BuildRequires: mingw32-gcc
|
||||
BuildRequires: mingw32-binutils
|
||||
BuildRequires: mingw32-win-iconv
|
||||
@ -27,10 +28,18 @@ BuildRequires: mingw32-gettext
|
||||
BuildRequires: mingw32-libffi
|
||||
BuildRequires: mingw32-zlib
|
||||
|
||||
BuildRequires: mingw64-filesystem >= 95
|
||||
BuildRequires: mingw64-gcc
|
||||
BuildRequires: mingw64-binutils
|
||||
BuildRequires: mingw64-win-iconv
|
||||
BuildRequires: mingw64-gettext
|
||||
BuildRequires: mingw64-libffi
|
||||
BuildRequires: mingw64-zlib
|
||||
|
||||
# Native version required for msgfmt use in build
|
||||
BuildRequires: gettext
|
||||
# Native version required for glib-genmarshal
|
||||
BuildRequires: glib2-devel >= 2.31.14
|
||||
BuildRequires: glib2-devel >= 2.31.20
|
||||
|
||||
# Needed for the patch
|
||||
BuildRequires: autoconf automake libtool
|
||||
@ -38,6 +47,7 @@ BuildRequires: autoconf automake libtool
|
||||
%description
|
||||
MinGW Windows Glib2 library.
|
||||
|
||||
# Win32
|
||||
%package -n mingw32-glib2
|
||||
Summary: MinGW Windows zlib compression library for the win32 target
|
||||
|
||||
@ -52,8 +62,23 @@ Group: Development/Libraries
|
||||
%description -n mingw32-glib2-static
|
||||
Static version of the MinGW Windows GLib2 library.
|
||||
|
||||
# Win64
|
||||
%package -n mingw64-glib2
|
||||
Summary: MinGW Windows zlib compression library for the win32 target
|
||||
|
||||
%{?mingw32_debug_package}
|
||||
%description -n mingw64-glib2
|
||||
MinGW Windows Glib2 library.
|
||||
|
||||
%package -n mingw64-glib2-static
|
||||
Summary: Static version of the MinGW Windows GLib2 library
|
||||
Requires: mingw64-glib2 = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description -n mingw64-glib2-static
|
||||
Static version of the MinGW Windows GLib2 library.
|
||||
|
||||
|
||||
%?mingw_debug_package
|
||||
|
||||
|
||||
%prep
|
||||
@ -63,33 +88,21 @@ autoreconf -i --force
|
||||
|
||||
|
||||
%build
|
||||
# GLib can't build static and shared libraries in one go, so we
|
||||
# build GLib twice here
|
||||
mkdir build_static
|
||||
pushd build_static
|
||||
%{mingw32_configure} --disable-shared --enable-static
|
||||
# HACK
|
||||
cp glib/glibconfig.h ../glib
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
#GLib can't build static and shared libraries in one go, so we build GLib twice
|
||||
MINGW_BUILDDIR_SUFFIX=static %mingw_configure --disable-shared --enable-static
|
||||
MINGW_BUILDDIR_SUFFIX=shared %mingw_configure --disable-static
|
||||
|
||||
mkdir build_shared
|
||||
pushd build_shared
|
||||
%{mingw32_configure} --disable-static
|
||||
# HACK
|
||||
cp glib/glibconfig.h ../glib
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
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=static %mingw_make_install DESTDIR=$RPM_BUILD_ROOT/build_static
|
||||
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
|
||||
# Move the static libraries to the right location
|
||||
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}
|
||||
|
||||
# There's a small difference in the file glibconfig.h between the
|
||||
# shared and the static build:
|
||||
@ -116,31 +129,42 @@ mv $RPM_BUILD_ROOT/build_static%{mingw32_libdir}/*.a $RPM_BUILD_ROOT%{mingw32_li
|
||||
rm -rf $RPM_BUILD_ROOT/build_static
|
||||
|
||||
rm -f $RPM_BUILD_ROOT/%{mingw32_libdir}/charset.alias
|
||||
rm -f $RPM_BUILD_ROOT/%{mingw64_libdir}/charset.alias
|
||||
|
||||
# Drop the GDB helper files as we can't use the native Fedora GDB to debug Win32 programs
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gdb
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gdb
|
||||
|
||||
# Remove the gtk-doc documentation and manpages which duplicate Fedora native
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw32_mandir}
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc
|
||||
|
||||
# Bash-completion files aren't interesting for mingw32
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw64_mandir}
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc
|
||||
|
||||
# Bash-completion files aren't interesting for mingw
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw32_sysconfdir}/bash_completion.d
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw64_sysconfdir}/bash_completion.d
|
||||
|
||||
# The .def files are also of no use to other binaries
|
||||
rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/*.def
|
||||
rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/*.def
|
||||
|
||||
# The gdbus-codegen pieces are already in the native glib2 package
|
||||
rm -f $RPM_BUILD_ROOT%{mingw32_bindir}/gdbus-codegen
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw32_libdir}/gdbus-2.0
|
||||
|
||||
rm -f $RPM_BUILD_ROOT%{mingw64_bindir}/gdbus-codegen
|
||||
rm -rf $RPM_BUILD_ROOT%{mingw64_libdir}/gdbus-2.0
|
||||
|
||||
# Drop all .la files
|
||||
find $RPM_BUILD_ROOT -name "*.la" -delete
|
||||
|
||||
%find_lang glib20
|
||||
%mingw_find_lang glib20
|
||||
|
||||
|
||||
%files -n mingw32-glib2 -f glib20.lang
|
||||
# Win32
|
||||
%files -n mingw32-glib2 -f mingw32-glib20.lang
|
||||
%{mingw32_bindir}/gdbus.exe
|
||||
%{mingw32_bindir}/gio-querymodules.exe
|
||||
%{mingw32_bindir}/glib-compile-resources.exe
|
||||
@ -188,8 +212,60 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
|
||||
%{mingw32_libdir}/libgobject-2.0.a
|
||||
%{mingw32_libdir}/libgthread-2.0.a
|
||||
|
||||
# Win64
|
||||
%files -n mingw64-glib2 -f mingw64-glib20.lang
|
||||
%{mingw64_bindir}/gdbus.exe
|
||||
%{mingw64_bindir}/gio-querymodules.exe
|
||||
%{mingw64_bindir}/glib-compile-resources.exe
|
||||
%{mingw64_bindir}/glib-compile-schemas.exe
|
||||
%{mingw64_bindir}/glib-genmarshal.exe
|
||||
%{mingw64_bindir}/glib-gettextize
|
||||
%{mingw64_bindir}/glib-mkenums
|
||||
%{mingw64_bindir}/gobject-query.exe
|
||||
%{mingw64_bindir}/gresource.exe
|
||||
%{mingw64_bindir}/gsettings.exe
|
||||
%{mingw64_bindir}/gspawn-win64-helper-console.exe
|
||||
%{mingw64_bindir}/gspawn-win64-helper.exe
|
||||
%{mingw64_bindir}/libgio-2.0-0.dll
|
||||
%{mingw64_bindir}/libglib-2.0-0.dll
|
||||
%{mingw64_bindir}/libgmodule-2.0-0.dll
|
||||
%{mingw64_bindir}/libgobject-2.0-0.dll
|
||||
%{mingw64_bindir}/libgthread-2.0-0.dll
|
||||
%{mingw64_includedir}/glib-2.0/
|
||||
%{mingw64_includedir}/gio-win32-2.0/
|
||||
%{mingw64_libdir}/glib-2.0/
|
||||
%dir %{mingw64_libdir}/gio/
|
||||
%dir %{mingw64_libdir}/gio/modules/
|
||||
%{mingw64_libdir}/libgio-2.0.dll.a
|
||||
%{mingw64_libdir}/libglib-2.0.dll.a
|
||||
%{mingw64_libdir}/libgmodule-2.0.dll.a
|
||||
%{mingw64_libdir}/libgobject-2.0.dll.a
|
||||
%{mingw64_libdir}/libgthread-2.0.dll.a
|
||||
%{mingw64_libdir}/pkgconfig/gio-2.0.pc
|
||||
%{mingw64_libdir}/pkgconfig/gio-windows-2.0.pc
|
||||
%{mingw64_libdir}/pkgconfig/glib-2.0.pc
|
||||
%{mingw64_libdir}/pkgconfig/gmodule-2.0.pc
|
||||
%{mingw64_libdir}/pkgconfig/gmodule-export-2.0.pc
|
||||
%{mingw64_libdir}/pkgconfig/gmodule-no-export-2.0.pc
|
||||
%{mingw64_libdir}/pkgconfig/gobject-2.0.pc
|
||||
%{mingw64_libdir}/pkgconfig/gthread-2.0.pc
|
||||
%{mingw64_datadir}/aclocal/glib-2.0.m4
|
||||
%{mingw64_datadir}/aclocal/glib-gettext.m4
|
||||
%{mingw64_datadir}/aclocal/gsettings.m4
|
||||
%{mingw64_datadir}/glib-2.0/
|
||||
|
||||
%files -n mingw64-glib2-static
|
||||
%{mingw64_libdir}/libgio-2.0.a
|
||||
%{mingw64_libdir}/libglib-2.0.a
|
||||
%{mingw64_libdir}/libgmodule-2.0.a
|
||||
%{mingw64_libdir}/libgobject-2.0.a
|
||||
%{mingw64_libdir}/libgthread-2.0.a
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Mar 10 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.31.20-2
|
||||
- Added win64 support
|
||||
|
||||
* Thu Mar 08 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.31.20-1
|
||||
- Update to 2.31.20
|
||||
- Dropped unneeded BR: mingw32-dlfcn
|
||||
|
||||
Loading…
Reference in New Issue
Block a user