Blob Blame History Raw
%{?mingw_package_header}

#%%global snapshot_date 20130914
#%%global snapshot_rev 6284
#%%global branch trunk

Name:           mingw-crt
Version:        3.3.0
Release:        2%{?dist}
Summary:        MinGW Windows cross-compiler runtime

License:        Public Domain and ZPLv2.1
Group:          Development/Libraries
URL:            http://mingw-w64.sourceforge.net/
%if 0%{?snapshot_date}
# To regerenate a snapshot:
# Use your regular webbrowser to open http://sourceforge.net/p/mingw-w64/code/%{snapshot_rev}/tarball?path=/trunk
# This triggers the SourceForge instructure to generate a snapshot
# After that you can pull in the archive with:
# spectool -g mingw-crt.spec
Source0:        http://sourceforge.net/code-snapshots/svn/m/mi/mingw-w64/code/mingw-w64-code-%{snapshot_rev}-%{branch}.zip
%else
Source0:        http://downloads.sourceforge.net/mingw-w64/mingw-w64-v%{version}.tar.bz2
%endif

BuildArch:      noarch

BuildRequires:  mingw32-filesystem >= 95
BuildRequires:  mingw32-binutils
BuildRequires:  mingw32-headers
BuildRequires:  mingw32-gcc

BuildRequires:  mingw64-filesystem >= 95
BuildRequires:  mingw64-binutils
BuildRequires:  mingw64-headers
BuildRequires:  mingw64-gcc

# Fix Windows XP compatibility issues mentioned at
# https://bugzilla.redhat.com/show_bug.cgi?id=1054481
# Patches are already upstreamed
Patch0:         0001-Add-_gmtime32-and-_localtime32-to-lib64-msvcrt.def.patch
Patch2:         0002-Remove-rand_s-and-vsprintf_s-from-msvcrt.def.in.patch

# Add 32bit wintrust.a import library as it's needed by mingw-wine-gecko
Patch3:         0001-Added-32-bit-version-of-libwintrust.a.patch

# Make sure CLSID_InternetSecurityManager (required by mingw-wine-gecko) is in libuuid.a
Patch4:         0002-uuid.c-Added-missing-urlmon-CLSIDs-and-get-rid-of-du.patch


%description
MinGW Windows cross-compiler runtime, base libraries.


%package -n mingw32-crt
Summary:        MinGW Windows cross-compiler runtime for the win32 target
Obsoletes:      mingw32-runtime < 3.18-7%{?dist}
Provides:       mingw32-runtime = 3.18-7%{?dist}
Requires:       mingw32-filesystem >= 95

%description -n mingw32-crt
MinGW Windows cross-compiler runtime, base libraries for the win32 target.

%package -n mingw64-crt
Summary:        MinGW Windows cross-compiler runtime for the win64 target
Obsoletes:      mingw64-runtime < 1.0-0.3.20100914%{?dist}
Provides:       mingw64-runtime = 1.0-0.3.20100914%{?dist}
Requires:       mingw64-filesystem >= 95

%description -n mingw64-crt
MinGW Windows cross-compiler runtime, base libraries for the win64 target.


%prep
%if 0%{?snapshot_date}
rm -rf mingw-w64-v%{version}
mkdir mingw-w64-v%{version}
cd mingw-w64-v%{version}
unzip %{S:0}
%setup -q -D -T -n mingw-w64-v%{version}/mingw-w64-code-%{snapshot_rev}-%{branch}
%else
%setup -q -n mingw-w64-v%{version}
%endif

%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1


%build
pushd mingw-w64-crt
    MINGW64_CONFIGURE_ARGS="--disable-lib32"
    %mingw_configure
    %mingw_make %{?_smp_mflags}
popd


%install
pushd mingw-w64-crt
    %mingw_make_install DESTDIR=$RPM_BUILD_ROOT
popd

# Dunno what to do with these files
rm -rf $RPM_BUILD_ROOT%{mingw32_includedir}/*.c
rm -rf $RPM_BUILD_ROOT%{mingw64_includedir}/*.c


%files -n mingw32-crt
%doc COPYING DISCLAIMER DISCLAIMER.PD
%{mingw32_libdir}/*

%files -n mingw64-crt
%doc COPYING DISCLAIMER DISCLAIMER.PD
%{mingw64_libdir}/*


%changelog
* Wed Dec 31 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 3.3.0-2
- Add 32bit wintrust.a import library as it's needed by mingw-wine-gecko
- Make sure CLSID_InternetSecurityManager is in libuuid.a as it's needed by mingw-wine-gecko

* Fri Dec  5 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 3.3.0-1
- Update to 3.3.0

* Mon Sep  1 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 3.2.0-1
- Update to 3.2.0

* Sun Mar 30 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 3.1.0-3
- Fix Windows XP compatibility in mingw-glib-networking and mingw-sigar
  (missing strerror_s symbol)

* Tue Feb  4 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 3.1.0-2
- Backported various Windows XP compatibility patches (RHBZ #1054481)

* Thu Jan  9 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 3.1.0-1
- Update to 3.1.0

* Fri Sep 20 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 3.0.0-1
- Update to 3.0.0

* Sat Sep 14 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.38.trunk.r6284.20130914
- Update to r6284 (20130914 snapshot)

* Wed Sep 11 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.37.trunk.r6277.20130911
- Update to r6277 (20130911 snapshot)
- Fixes undefined reference to `IID_ICustomDestinationList'
- Fixes undefined reference to `IID_IFileOpenDialog'
- Fixes undefined reference to `IID_IFileSaveDialog'

* Mon Sep  9 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.36.trunk.r6258.20130909
- Update to r6258 (20130909 snapshot)

* Sat Sep  7 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.35.trunk.r6233.20130907
- Update to r6233 (20130907 snapshot)

* Tue Aug 27 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.34.trunk.r6155.20130827
- Update to r6155 (20130827 snapshot)

* Mon Aug 19 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.33.trunk.r6106.20130819
- Update to r6106 (20130819 snapshot)

* Sat Aug 10 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.32.trunk.r6069.20130810
- Update to r6069 (20130810 snapshot)
- Resolves unnecesary dependency on libgcc_s_sjlj-1.dll for the i686 target

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.999-0.31.trunk.r5969.20130721
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Sun Jul 21 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.30.trunk.r5969.20130721
- Update to r5969 (20130721 snapshot)
- Fixes strnlen issue on Windows XP

* Sat Jul 13 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.29.trunk.r5949.20130713
- Update to r5949 (20130713 snapshot)
- Dropped InterlockedCompareExchange workaround, issue is resolved upstream (with r5949)

* Fri Jun 28 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.28.trunk.r5915.20130628
- Update to r5915 (20130628 snapshot)

* Fri Jun 14 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.27.trunk.r5904.20130614
- Update to r5904 (fixes various regressions)

* Fri Jun 14 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.26.trunk.r5894.20130614
- Update to r5894 (20130614 snapshot)
- Updated instructions to regenerate snapshots
  (SourceForge has changed their SVN infrastructure)
- Workaround regression introduced by r5713 where
  the symbol InterlockedCompareExchange could get
  exported in shared libraries by accident

* Thu May 30 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.25.trunk.20130530
- Update to 20130530 snapshot

* Mon May 20 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.24.trunk.20130520
- Update to 20130520 snapshot

* Thu May  9 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.23.trunk.20130509
- Regenerated 20130509 snapshot
- Dropped upstreamed vsprintf_s patch

* Thu May  9 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.22.trunk.20130509
- Update to 20130509 snapshot

* Sun Apr 28 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.21.trunk.20130428
- Update to 20130428 snapshot
- Fixes build regression in wxWidgets and tcl regarding the timezone function

* Thu Apr 25 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.20.trunk.20130425
- Update to 20130425 snapshot

* Wed Apr  3 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.19.trunk.20130403
- Update to 20130403 snapshot
- Added Windows XP compatibility wrapper for the vsprintf_s function (RHBZ #917323)

* Sat Feb 16 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.18.trunk.20130216
- Update to 20130216 snapshot
- Includes improved import libraries (for setupapi, cfgmgr32 and others)

* Sun Jan 27 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.17.trunk.20130127
- Update to 20130127 snapshot

* Sat Jan  5 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.16.trunk.20130105
- Update to 20130105 snapshot

* Sat Nov 10 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.15.trunk.20121110
- Update to 20121110 snapshot

* Fri Nov  9 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.14.trunk.20121109
- Update to 20121109 snapshot

* Tue Oct 16 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.13.trunk.20121016
- Update to 20121016 snapshot
- Use a different source tarball which doesn't contain unrelevant code (like libiberty)
- Removed Provides: bundled(libiberty)

* Mon Oct 15 2012 Jon Ciesla <limburgher@gmail.com> - 2.0.999-0.12.trunk.20121006
- Provides: bundled(libiberty)

* Sat Oct  6 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.11.trunk.20121006
- Update to 20121006 snapshot

* Wed Jul 18 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.10.trunk.20120718
- Update to 20120718 snapshot

* Fri Jul 13 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.9.trunk.20120713
- Update to 20120703 snapshot
- Fixes testsuite failure in the qt_qmake_test_static_mingw32 testcase

* Mon Jul  9 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.8.trunk.20120709
- Update to 20120709 snapshot (contains full Cygwin support)
- Eliminated various manual kludges as upstream now installs their
  files to the correct folders by default

* Thu Jul  5 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.7.trunk.20120705
- Update to 20120705 snapshot (contains various Cygwin changes)

* Sat Jun  2 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.6.trunk.20120601
- Update to 20120601 snapshot

* Tue Mar  6 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.5.trunk.20120224
- Enable support for the win64 target

* Sat Feb 25 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.4.trunk.20120224
- Update to mingw-w64 trunk 20120224 snapshot
- Made the win64 pieces optional for now (pending approval of the mingw-gcc/mingw-binutils package reviews)
- Dropped the use of the mingw_pkg_name macro
- Eliminated some conditionals related to snapshot builds
- Use smaller SourceForge source URLs
- Improved summary of the various packages
- Simplified the configure, make and make install calls
- Dropped upstreamed patch
- Added DISCLAIMER and DISCLAIMER.PD files
- Added ZPLv2.1 to the license tag
- Bumped obsoletes/provides version for mingw32-runtime

* Tue Jan 24 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.3.trunk.20120124
- Update to mingw-w64 trunk 20120124 snapshot
- Apply upstream r4758 to fix vsnprintf and vscanf failures

* Fri Jan 20 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.2.trunk.20120120
- Update to mingw-w64 trunk 20120120 snapshot (fixes various errno related compile failures)

* Thu Jan 12 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.999-0.1.trunk.20120112
- Update to mingw-w64 trunk 20120112 snapshot

* Sat Nov 19 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0.1-1
- Update to mingw-w64 v2.0.1

* Sat Oct 22 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0-1
- Update to mingw-w64 v2.0

* Sun Sep 25 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0-0.3.rc1
- Replaced the boilerplate code with the mingw_package_header macro
- Bumped the obsoletes mingw32-runtime
- Dropped unneeded RPM tags

* Sat Aug 13 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0-0.2.rc1
- Rebuild because of broken mingw-find-requires.sh in the mingw-filesystem package

* Mon Aug  8 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 2.0-0.1.rc1
- Update to 2.0-rc1

* Tue Jul 12 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0-0.7.20110711.trunk
- Update to 20110711 snapshot of the trunk branch

* Sat Jun 25 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0-0.6.20110625.trunk
- Update to 20110625 snapshot of the trunk branch (fixes gstreamer d3d issue)
- Replaced the patch with one which doesn't require the autotools

* Thu Jun  9 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0-0.5.20110609.trunk
- Update to 20110609 snapshot of the trunk branch

* Thu Apr 14 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0-0.4.20110413.trunk
- Update to 20110413 snapshot of the trunk branch
- Made the package compliant with the new packaging guidelines

* Wed Jan 12 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0-0.3.20101003
- Update to 20101003 snapshot
- Generate per-target RPMs
- Bundle the COPYING file

* Wed Sep 29 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0-0.2.20100914
- Update to snapshot 20100915 (v1.0 branch)
- Renamed the package to mingw-crt
- Added support for both i686-w64-mingw32 and x86_64-w64-mingw32
- Obsoletes/provides the mingw32-runtime package

* Fri May 14 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0-0.1.20100513
- Updated to snapshot 20100513 (v1.0 branch)
- Updated Source0 tag
- Fixed %%defattr tag

* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 0.1-0.svn607.3
- Started mingw64 development.

* Tue Feb 10 2009 Richard W.M. Jones <rjones@redhat.com> - 3.15.2-1
- New upstream release 3.15.2.

* Tue Dec  9 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-10
- Force rebuild to get rid of the binary bootstrap package and replace
  with package built from source.

* Wed Nov 26 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-9
- No runtime dependency on binutils or gcc.
- But it DOES BR w32api.

* Mon Nov 24 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-8
- Rebuild against latest filesystem package.
- MINGW_CFLAGS -> MINGW32_CFLAGS.
- Rewrite the summary for accuracy and brevity.

* Fri Nov 21 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-6
- Remove obsoletes for a long dead package.
- Reenable (and fix) _mingw32_configure (Levente Farkas).

* Thu Nov 20 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-5
- Don't use _mingw32_configure macro - doesn't work here.

* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-4
- Rebuild against mingw32-filesystem 37

* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-3
- Remove the useconds patch, which is no longer needed (Levente Farkas).
- Use _mingw32_configure macro.

* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-2
- Rebuild against mingw32-filesystem 36

* Thu Oct 16 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-1
- New upstream version 3.15.1.

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

* Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 3.14-4
- Use RPM macros from mingw-filesystem.

* Mon Jul  7 2008 Richard W.M. Jones <rjones@redhat.com> - 3.14-2
- Initial RPM release, largely based on earlier work from several sources.