Blob Blame History Raw
%global __strip %{_mingw32_strip}
%global __objdump %{_mingw32_objdump}
%define __debug_install_post %{_mingw32_debug_install_post}

Name:           mingw32-glib2
Version:        2.31.8
Release:        1%{?dist}
Summary:        MinGW Windows GLib2 library

License:        LGPLv2+
Group:          Development/Libraries
URL:            http://www.gtk.org
# first two digits of version
%define release_version %(echo %{version} | awk -F. '{print $1"."$2}')
Source0:        http://download.gnome.org/sources/glib/%{release_version}/glib-%{version}.tar.xz

BuildArch:      noarch

BuildRequires:  mingw32-filesystem >= 68
BuildRequires:  mingw32-gcc
BuildRequires:  mingw32-binutils
BuildRequires:  mingw32-dlfcn
BuildRequires:  mingw32-win-iconv
BuildRequires:  mingw32-gettext
BuildRequires:  mingw32-libffi
BuildRequires:  mingw32-zlib

# Native version required for msgfmt use in build
BuildRequires:  gettext
# Native version required for glib-genmarshal
BuildRequires:  glib2-devel

%description
MinGW Windows Glib2 library.

%package static
Summary:        Static version of the MinGW Windows GLib2 library
Requires:       %{name} = %{version}-%{release}
Group:          Development/Libraries

%description static
Static version of the MinGW Windows GLib2 library.


%{?_mingw32_debug_package}


%prep
%setup -q -n glib-%{version}


%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

mkdir build_shared
pushd build_shared
        %{_mingw32_configure} --disable-static
        # HACK
        cp glib/glibconfig.h ../glib
        make %{?_smp_mflags}
popd


%install
# First install all the files belonging to the shared build
make -C build_shared DESTDIR=$RPM_BUILD_ROOT install

# 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
mv $RPM_BUILD_ROOT/build_static%{_mingw32_libdir}/*.a $RPM_BUILD_ROOT%{_mingw32_libdir}

# Manually merge the libtool files
sed -i s/"old_library=''"/"old_library='libgio-2.0.a'"/ $RPM_BUILD_ROOT%{_mingw32_libdir}/libgio-2.0.la
sed -i s/"old_library=''"/"old_library='libglib-2.0.a'"/ $RPM_BUILD_ROOT%{_mingw32_libdir}/libglib-2.0.la
sed -i s/"old_library=''"/"old_library='libgobject-2.0.a'"/ $RPM_BUILD_ROOT%{_mingw32_libdir}/libgobject-2.0.la
sed -i s/"old_library=''"/"old_library='libgmodule-2.0.a'"/ $RPM_BUILD_ROOT%{_mingw32_libdir}/libgmodule-2.0.la
sed -i s/"old_library=''"/"old_library='libgthread-2.0.a'"/ $RPM_BUILD_ROOT%{_mingw32_libdir}/libgthread-2.0.la

# There's also a small difference in the file glibconfig.h between the
# shared and the static build:
#
#diff -ur shared/usr/i686-pc-mingw32/sys-root/mingw/lib/glib-2.0/include/glibconfig.h static/usr/i686-pc-mingw32/sys-root/mingw/lib/glib-2.0/include/glibconfig.h
#--- shared/usr/i686-pc-mingw32/sys-root/mingw/lib/glib-2.0/include/glibconfig.h	2009-02-20 17:34:35.735677022 +0100
#+++ static/usr/i686-pc-mingw32/sys-root/mingw/lib/glib-2.0/include/glibconfig.h	2009-02-20 17:33:35.498932269 +0100
#@@ -92,7 +92,8 @@
# 
# #define G_OS_WIN32
# #define G_PLATFORM_WIN32
#-
#+#define GLIB_STATIC_COMPILATION 1
#+#define GOBJECT_STATIC_COMPILATION 1
# 
# #define G_VA_COPY	va_copy
#
# However, we can't merge this change as it is situation-dependent...
#
# Developers using the static build of GLib need to add -DGLIB_STATIC_COMPILATION
# and -DGOBJECT_STATIC_COMPILATION to their CFLAGS to avoid compile failures

# Drop the folder which was temporary used for installing the static bits
rm -rf $RPM_BUILD_ROOT/build_static

rm -f $RPM_BUILD_ROOT/%{_mingw32_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

# 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%{_mingw32_sysconfdir}/bash_completion.d

# The .def files are also of no use to other binaries
rm -f $RPM_BUILD_ROOT%{_mingw32_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

%find_lang glib20


%files -f glib20.lang
%{_mingw32_bindir}/gdbus.exe
%{_mingw32_bindir}/glib-compile-schemas.exe
%{_mingw32_bindir}/glib-genmarshal.exe
%{_mingw32_bindir}/glib-gettextize
%{_mingw32_bindir}/glib-mkenums
%{_mingw32_bindir}/gobject-query.exe
%{_mingw32_bindir}/gio-querymodules.exe
%{_mingw32_bindir}/gsettings.exe
%{_mingw32_bindir}/gspawn-win32-helper-console.exe
%{_mingw32_bindir}/gspawn-win32-helper.exe
%{_mingw32_bindir}/libgio-2.0-0.dll
%{_mingw32_bindir}/libglib-2.0-0.dll
%{_mingw32_bindir}/libgmodule-2.0-0.dll
%{_mingw32_bindir}/libgobject-2.0-0.dll
%{_mingw32_bindir}/libgthread-2.0-0.dll
%{_mingw32_includedir}/glib-2.0/
%{_mingw32_includedir}/gio-win32-2.0/
%{_mingw32_libdir}/glib-2.0/
%dir %{_mingw32_libdir}/gio/
%dir %{_mingw32_libdir}/gio/modules/
%{_mingw32_libdir}/libgio-2.0.dll.a
%{_mingw32_libdir}/libgio-2.0.la
%{_mingw32_libdir}/libglib-2.0.dll.a
%{_mingw32_libdir}/libglib-2.0.la
%{_mingw32_libdir}/libgmodule-2.0.dll.a
%{_mingw32_libdir}/libgmodule-2.0.la
%{_mingw32_libdir}/libgobject-2.0.dll.a
%{_mingw32_libdir}/libgobject-2.0.la
%{_mingw32_libdir}/libgthread-2.0.dll.a
%{_mingw32_libdir}/libgthread-2.0.la
%{_mingw32_libdir}/pkgconfig/gio-2.0.pc
%{_mingw32_libdir}/pkgconfig/gio-windows-2.0.pc
%{_mingw32_libdir}/pkgconfig/glib-2.0.pc
%{_mingw32_libdir}/pkgconfig/gmodule-2.0.pc
%{_mingw32_libdir}/pkgconfig/gmodule-export-2.0.pc
%{_mingw32_libdir}/pkgconfig/gmodule-no-export-2.0.pc
%{_mingw32_libdir}/pkgconfig/gobject-2.0.pc
%{_mingw32_libdir}/pkgconfig/gthread-2.0.pc
%{_mingw32_datadir}/aclocal/glib-2.0.m4
%{_mingw32_datadir}/aclocal/glib-gettext.m4
%{_mingw32_datadir}/aclocal/gsettings.m4
%{_mingw32_datadir}/glib-2.0/

%files static
%{_mingw32_libdir}/libgio-2.0.a
%{_mingw32_libdir}/libglib-2.0.a
%{_mingw32_libdir}/libgmodule-2.0.a
%{_mingw32_libdir}/libgobject-2.0.a
%{_mingw32_libdir}/libgthread-2.0.a


%changelog
* Thu Jan 12 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.31.8-1
- Update to 2.31.8

* Tue Nov 22 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.31.2-1
- Update to 2.31.2

* Tue Oct 18 2011 Kalev Lember <kalevlember@gmail.com> - 2.30.1-1
- Update to 2.30.1

* Fri Sep 30 2011 Kalev Lember <kalevlember@gmail.com> - 2.30.0-1
- Update to 2.30.0

* Tue Aug 30 2011 Kalev Lember <kalevlember@gmail.com> - 2.29.18-1
- Update to 2.29.18

* Sun Jul 10 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.29.10-2
- Dropped the gdbus-codegen pieces as they match the native glib2 package

* Fri Jul 08 2011 Kalev Lember <kalevlember@gmail.com> - 2.29.10-1
- Update to 2.29.10
- Switch to xz compressed tarballs

* Wed Jul 06 2011 Kalev Lember <kalevlember@gmail.com> - 2.28.6-4
- Rebuilt against win-iconv

* Thu Apr 28 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.28.6-3
- Own the folders %%{_mingw32_libdir}/gio and %%{_mingw32_libdir}/gio/modules
- Dropped the .def files as they aren't useful for other binaries

* Wed Apr 27 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.28.6-2
- Dropped the proxy-libintl pieces

* Sat Apr 23 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.28.6-1
- Update to 2.28.6
- Dropped the ugly build hack as it isn't needed anymore (the
  broken mingw32-runtime has been fixed by now)
- Made the pkgconfig LDFLAGS libtool friendly (fixes compilation for
  non-libtool based projects such as midori)

* Sun Feb 13 2011 Thomas Sailer <t.sailer@alumni.ethz.ch> - 2.28.0-1
- update to 2.28.0

* Sun Feb 13 2011 Thomas Sailer <t.sailer@alumni.ethz.ch> - 2.27.93-1
- update to 2.27.93

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.27.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Dec  6 2010 Thomas Sailer <t.sailer@alumni.ethz.ch> - 2.27.4-1
- update to 2.27.4

* Sun Nov  7 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.26.0-4
- Fix a build failure in mingw32-libsoup and mingw32-webkitgtk

* Sun Oct 17 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.26.0-3
- Let binaries depending on GLib link against the libintl wrapper library
  in a way that libtool doesn't refuse

* Sat Oct 16 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.26.0-2
- Rebuild in order to make libintl-8.dll a soft dependency

* Mon Oct 11 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.26.0-1
- Update to 2.26.0

* Thu Sep 23 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.25.17-1
- Update to 2.25.17

* Sun Sep 12 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.25.15-1
- Update to 2.25.15

* Wed Aug 11 2010 David Malcolm <dmalcolm@redhat.com> - 2.25.12-2
- recompiling .py files against Python 2.7 (rhbz#623338)

* Thu Aug  5 2010 Thomas Sailer <t.sailer@alumni.ethz.ch> - 2.25.12-1
- update to 2.25.12

* Fri Jun 11 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.24.1-1
- Update to 2.24.1

* Wed Feb 24 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.23.4-1
- Update to 2.23.4

* Sun Jan 31 2010 Thomas Sailer <t.sailer@alumni.ethz.ch> - 2.23.2-1
- Update to 2.23.2

* Wed Dec  2 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.23.0-1
- Update to 2.23.0
- Added BR: mingw32-zlib

* Fri Oct  9 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.22.2-1
- Update to 2.22.2

* Wed Sep 23 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.22.0-1
- Update to 2.22.0

* Fri Sep 18 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.21.6-2
- Rebuild because of broken mingw32-gcc/mingw32-binutils

* Sat Sep  5 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.21.6-1
- Update to 2.21.6

* Mon Aug 24 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.21.5-1
- Update to 2.21.5

* Thu Aug 13 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.21.4-1
- Update to 2.21.4

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.21.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Jul  6 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.21.3-1
- Update to 2.21.3
- Drop upstreamed patch

* Mon Jun 22 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.21.2-2
- The wrong RPM variable was overriden for -debuginfo support. Should be okay now

* Mon Jun 22 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.21.2-1
- Update to 2.21.2
- Split out debug symbols to a -debuginfo subpackage

* Wed Jun 10 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.21.1-1
- Update to 2.21.1
- Use %%global instead of %%define
- Dropped the glib-i386-atomic.patch as it doesn't have any effect (the mingw32
  toolchain is called i686-pc-mingw32, not i386-pc-mingw32)

* Thu Apr 16 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 2.20.1-1
- Update to 2.20.1

* Thu Mar 5 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.19.10-1
- Update to 2.19.10
- Dropped the gtk-doc documentation as it's identical to the base glib2 package

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.19.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Fri Feb 20 2009 Erik van Pienbroek <info@nntpgrab.nl> - 2.19.5-4
- Added -static subpackage
- Developers using the static build of GLib need to add
  -DGLIB_STATIC_COMPILATION and -DGOBJECT_STATIC_COMPILATION to
  their CFLAGS to avoid compile failures
- Fixed the %%defattr line
- Rebuild for mingw32-gcc 4.4 (RWMJ)

* Fri Jan 30 2009 Richard W.M. Jones <rjones@redhat.com> - 2.19.5-3
- Requires pkgconfig.

* Fri Jan 23 2009 Richard W.M. Jones <rjones@redhat.com> - 2.19.5-2
- Rebase to native Fedora version 2.19.5.
- Use _smp_mflags.
- Use find_lang.
- Don't build static libraries.
- +BR dlfcn.

* Wed Sep 24 2008 Richard W.M. Jones <rjones@redhat.com> - 2.18.1-2
- Rename mingw -> mingw32.

* Mon Sep 22 2008 Daniel P. Berrange <berrange@redhat.com> - 2.18.1-1
- Update to 2.18.1 release

* Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 2.18.0-3
- Remove manpages which duplicate Fedora native.

* Thu Sep 11 2008 Daniel P. Berrange <berrange@redhat.com> - 2.18.0-2
- Add BR on pkgconfig, gettext and glib2 (native)

* Tue Sep  9 2008 Daniel P. Berrange <berrange@redhat.com> - 2.18.0-1
- Initial RPM release