diff --git a/mingw-headers-no-widl.patch b/mingw-headers-no-widl.patch new file mode 100644 index 0000000..e98c1cc --- /dev/null +++ b/mingw-headers-no-widl.patch @@ -0,0 +1,24 @@ +diff -rupN mingw-w64-v6.0.0/mingw-w64-headers/configure mingw-w64-v6.0.0-new/mingw-w64-headers/configure +--- mingw-w64-v6.0.0/mingw-w64-headers/configure 2018-09-14 16:16:43.000000000 +0200 ++++ mingw-w64-v6.0.0-new/mingw-w64-headers/configure 2019-05-07 17:04:47.100390886 +0200 +@@ -2576,7 +2576,7 @@ fi + $as_echo "$with_widl" >&6; } + + if test "x$with_widl" = xno; then : +- ++ unset WIDL + else + + if test "x$srcdir" = x.; then : +diff -rupN mingw-w64-v6.0.0/mingw-w64-headers/configure.ac mingw-w64-v6.0.0-new/mingw-w64-headers/configure.ac +--- mingw-w64-v6.0.0/mingw-w64-headers/configure.ac 2018-09-14 16:16:43.000000000 +0200 ++++ mingw-w64-v6.0.0-new/mingw-w64-headers/configure.ac 2019-05-07 17:04:47.100390886 +0200 +@@ -27,7 +27,7 @@ AC_ARG_WITH([widl], + [AS_VAR_SET([with_widl],[no])]) + AC_MSG_RESULT([$with_widl]) + +-AS_VAR_IF([with_widl],[no],[],[ ++AS_VAR_IF([with_widl],[no],[unset WIDL],[ + AS_VAR_IF([srcdir],[.],[], + [AC_MSG_WARN([--with-widl used in out of the tree compilation. Existing generated files will not be modified.])]) + AC_PATH_PROGS([WIDL], [$host-widl widl], [], [$with_widl]) diff --git a/mingw-headers.spec b/mingw-headers.spec new file mode 100644 index 0000000..f1e9209 --- /dev/null +++ b/mingw-headers.spec @@ -0,0 +1,126 @@ +#%%global snapshot_date 20160723 +#%%global snapshot_rev 65a0c3298db7cc5cbded63259663cb29e4780a56 +#%%global snapshot_rev_short %(echo %snapshot_rev | cut -c1-6) +#%%global branch v5.x + +#%%global pre rc2 + +# The mingw-w64-headers provide the headers pthread_time.h +# and pthread_unistd.h by default and are dummy headers. +# The real implementation for these headers is in a separate +# library called winpthreads. As long as winpthreads isn't +# available (and the old pthreads-w32 implementation is used) +# the flag below needs to be set to 1. When winpthreads is +# available then this flag needs to be set to 0 to avoid +# a file conflict with the winpthreads headers +# Winpthreads is available as of Fedora 20 +%if 0%{?fedora} >= 20 || 0%{?rhel} >= 7 +%global bundle_dummy_pthread_headers 0 +%else +%global bundle_dummy_pthread_headers 1 +%endif + +Name: mingw-headers +Version: 6.0.0 +Release: 3%{?dist} +Summary: Win32/Win64 header files + +License: Public Domain and LGPLv2+ and ZPLv2.1 +URL: http://mingw-w64.sourceforge.net/ +%if 0%{?snapshot_date} +# To regenerate a snapshot: +# Use your regular webbrowser to open https://sourceforge.net/p/mingw-w64/mingw-w64/ci/%{snapshot_rev}/tarball +# This triggers the SourceForge instructure to generate a snapshot +# After that you can pull in the archive with: +# spectool -g mingw-headers.spec +Source0: http://sourceforge.net/code-snapshots/git/m/mi/mingw-w64/mingw-w64.git/mingw-w64-mingw-w64-%{snapshot_rev}.zip +%else +Source0: http://downloads.sourceforge.net/mingw-w64/mingw-w64-v%{version}%{?pre:-%{pre}}.tar.bz2 +%endif + +# Our RPM macros automatically set the environment variable WIDL +# This confuses the mingw-headers configure scripts and causes various +# headers to be regenerated from their .idl source. Prevent this from +# happening as the .idl files shouldn't be used by default +Patch0: mingw-headers-no-widl.patch + +BuildArch: noarch + +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw64-filesystem >= 95 + + +%description +MinGW Windows cross-compiler Win32 and Win64 header files. + + +%package -n mingw32-headers +Summary: MinGW Windows cross-compiler Win32 header files +Requires: mingw32-filesystem >= 95 +%if 0%{bundle_dummy_pthread_headers} == 0 +Requires: mingw32-winpthreads +%endif + +Obsoletes: mingw32-w32api < 3.17-3%{?dist} +Provides: mingw32-w32api = 3.17-3%{?dist} + +%description -n mingw32-headers +MinGW Windows cross-compiler Win32 header files. + +%package -n mingw64-headers +Summary: MinGW Windows cross-compiler Win64 header files +Requires: mingw64-filesystem >= 95 +%if 0%{bundle_dummy_pthread_headers} == 0 +Requires: mingw64-winpthreads +%endif + +%description -n mingw64-headers +MinGW Windows cross-compiler Win64 header files. + + +%prep +%if 0%{?snapshot_date} +rm -rf mingw-w64-v%{version} +mkdir mingw-w64-v%{version} +cd mingw-w64-v%{version} +unzip %{S:0} +%autosetup -p1 -D -T -n mingw-w64-v%{version}/mingw-w64-mingw-w64-%{snapshot_rev} +%else +%autosetup -p1 -n mingw-w64-v%{version}%{?pre:-%{pre}} +%endif + + +%build +pushd mingw-w64-headers + %mingw_configure --enable-sdk=all --enable-secure-api +popd + + +%install +pushd mingw-w64-headers + %mingw_make_install DESTDIR=%{buildroot} +popd + +# Drop the dummy pthread headers if necessary +%if 0%{?bundle_dummy_pthread_headers} == 0 +rm -f %{buildroot}%{mingw32_includedir}/pthread_signal.h +rm -f %{buildroot}%{mingw32_includedir}/pthread_time.h +rm -f %{buildroot}%{mingw32_includedir}/pthread_unistd.h +rm -f %{buildroot}%{mingw64_includedir}/pthread_signal.h +rm -f %{buildroot}%{mingw64_includedir}/pthread_time.h +rm -f %{buildroot}%{mingw64_includedir}/pthread_unistd.h +%endif + + +%files -n mingw32-headers +%license COPYING DISCLAIMER DISCLAIMER.PD mingw-w64-headers/direct-x/COPYING.LIB +%{mingw32_includedir}/* + +%files -n mingw64-headers +%license COPYING DISCLAIMER DISCLAIMER.PD mingw-w64-headers/direct-x/COPYING.LIB +%{mingw64_includedir}/* + + +%changelog +* Fri Oct 09 2020 Zhiyi Weng - 6.0.0-3 +- Initial version. diff --git a/mingw-w64-v6.0.0.tar.bz2 b/mingw-w64-v6.0.0.tar.bz2 new file mode 100644 index 0000000..b6a7f76 Binary files /dev/null and b/mingw-w64-v6.0.0.tar.bz2 differ