import mingw-winpthreads-10.0.0-2.el9

This commit is contained in:
CentOS Sources 2022-09-27 11:20:08 -04:00 committed by Stepan Oksanichenko
parent 3c5c5eed51
commit 054f818d68
3 changed files with 78 additions and 51 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/mingw-w64-v9.0.0.tar.bz2 SOURCES/mingw-w64-v10.0.0.tar.bz2

View File

@ -1 +1 @@
9c496ed063e085888d250cc461ec4d31d97b72f1 SOURCES/mingw-w64-v9.0.0.tar.bz2 56143558d81dae7628a232ca7582b947e65392b1 SOURCES/mingw-w64-v10.0.0.tar.bz2

View File

@ -1,17 +1,11 @@
%global mingw_build_ucrt64 1
%{?mingw_package_header} %{?mingw_package_header}
#%%global snapshot_date 20160204
#%%global snapshot_rev 38410ad06264949efcb331f7a63575c6be31c5e4
#%%global snapshot_rev_short %(echo %snapshot_rev | cut -c1-6)
#%%global branch trunk
#%%global pre rc2
# Run the testsuite # Run the testsuite
%global enable_tests 0 %global enable_tests 0
Name: mingw-winpthreads Name: mingw-winpthreads
Version: 9.0.0 Version: 10.0.0
Release: 2%{?dist} Release: 2%{?dist}
Summary: MinGW pthread library Summary: MinGW pthread library
@ -20,24 +14,22 @@ Summary: MinGW pthread library
# http://locklessinc.com/articles/pthreads_on_windows/ # http://locklessinc.com/articles/pthreads_on_windows/
License: MIT and BSD License: MIT and BSD
URL: http://mingw-w64.sourceforge.net/ 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 Source0: http://downloads.sourceforge.net/mingw-w64/mingw-w64-v%{version}%{?pre:-%{pre}}.tar.bz2
%endif
BuildArch: noarch BuildArch: noarch
BuildRequires: make BuildRequires: make
BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-filesystem >= 133
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw32-gcc-c++ BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-crt
BuildRequires: mingw64-filesystem >= 133
BuildRequires: mingw64-gcc-c++ BuildRequires: mingw64-gcc-c++
BuildRequires: mingw64-crt
BuildRequires: ucrt64-filesystem >= 133
BuildRequires: ucrt64-gcc-c++
BuildRequires: ucrt64-crt
%if 0%{?enable_tests} %if 0%{?enable_tests}
BuildRequires: wine-wow BuildRequires: wine-wow
@ -58,12 +50,10 @@ Win32 does not, and is unlikely to ever, support pthreads
natively. This project seeks to provide a freely available and natively. This project seeks to provide a freely available and
high-quality solution to this problem. high-quality solution to this problem.
# Win32 # Win32
%package -n mingw32-winpthreads %package -n mingw32-winpthreads
Summary: MinGW pthread library for the win32 target Summary: MinGW pthread library for the win32 target
Obsoletes: mingw32-pthreads < 2.8.0-25.20110511cvs
Provides: mingw32-pthreads = 2.8.0-25.20110511cvs
Conflicts: mingw32-headers < 2.0.999-0.22.trunk.20130428
%description -n mingw32-winpthreads %description -n mingw32-winpthreads
The POSIX 1003.1-2001 standard defines an application programming The POSIX 1003.1-2001 standard defines an application programming
@ -79,21 +69,19 @@ Win32 does not, and is unlikely to ever, support pthreads
natively. This project seeks to provide a freely available and natively. This project seeks to provide a freely available and
high-quality solution to this problem. high-quality solution to this problem.
%package -n mingw32-winpthreads-static %package -n mingw32-winpthreads-static
Summary: Static version of the MinGW Windows pthreads library Summary: Static version of the MinGW Windows pthreads library
Requires: mingw32-winpthreads = %{version}-%{release} Requires: mingw32-winpthreads = %{version}-%{release}
Obsoletes: mingw32-pthreads-static < 2.8.0-25.20110511cvs
Provides: mingw32-pthreads-static = 2.8.0-25.20110511cvs
%description -n mingw32-winpthreads-static %description -n mingw32-winpthreads-static
Static version of the MinGW Windows pthreads library. Static version of the MinGW Windows pthreads library.
# Win64 # Win64
%package -n mingw64-winpthreads %package -n mingw64-winpthreads
Summary: MinGW pthread library for the win64 target Summary: MinGW pthread library for the win64 target
Obsoletes: mingw64-pthreads < 2.8.0-25.20110511cvs Obsoletes: mingw64-pthreads < 2.8.0-25.20110511cvs
Provides: mingw64-pthreads = 2.8.0-25.20110511cvs
Conflicts: mingw64-headers < 2.0.999-0.22.trunk.20130428
%description -n mingw64-winpthreads %description -n mingw64-winpthreads
The POSIX 1003.1-2001 standard defines an application programming The POSIX 1003.1-2001 standard defines an application programming
@ -109,40 +97,67 @@ Win32 does not, and is unlikely to ever, support pthreads
natively. This project seeks to provide a freely available and natively. This project seeks to provide a freely available and
high-quality solution to this problem. high-quality solution to this problem.
%package -n mingw64-winpthreads-static %package -n mingw64-winpthreads-static
Summary: Static version of the MinGW Windows pthreads library Summary: Static version of the MinGW Windows pthreads library
Requires: mingw64-winpthreads = %{version}-%{release} Requires: mingw64-winpthreads = %{version}-%{release}
Obsoletes: mingw64-pthreads-static < 2.8.0-25.20110511cvs
Provides: mingw64-pthreads-static = 2.8.0-25.20110511cvs
%description -n mingw64-winpthreads-static %description -n mingw64-winpthreads-static
Static version of the MinGW Windows pthreads library. Static version of the MinGW Windows pthreads library.
%?mingw_debug_package %package -n ucrt64-winpthreads
Summary: MinGW pthread library for the win64 target
%description -n ucrt64-winpthreads
The POSIX 1003.1-2001 standard defines an application programming
interface (API) for writing multithreaded applications. This interface
is known more commonly as pthreads. A good number of modern operating
systems include a threading library of some kind: Solaris (UI)
threads, Win32 threads, DCE threads, DECthreads, or any of the draft
revisions of the pthreads standard. The trend is that most of these
systems are slowly adopting the pthreads standard API, with
application developers following suit to reduce porting woes.
Win32 does not, and is unlikely to ever, support pthreads
natively. This project seeks to provide a freely available and
high-quality solution to this problem.
%package -n ucrt64-winpthreads-static
Summary: Static version of the MinGW Windows pthreads library
Requires: ucrt64-winpthreads = %{version}-%{release}
%description -n ucrt64-winpthreads-static
Static version of the MinGW Windows pthreads library.
%{?mingw_debug_package}
%prep %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}} %autosetup -p1 -n mingw-w64-v%{version}%{?pre:-%{pre}}
%endif
%build %build
pushd mingw-w64-libraries/winpthreads pushd mingw-w64-libraries/winpthreads
# Filter out -fstack-protector and -lssp from LDFLAGS as libssp is not yet potentially built with the bootstrap gcc
MINGW32_LDFLAGS="`echo %{mingw32_ldflags} | sed 's|-fstack-protector||' | sed 's|-lssp||'`"
MINGW64_LDFLAGS="`echo %{mingw64_ldflags} | sed 's|-fstack-protector||' | sed 's|-lssp||'`"
UCRT64_LDFLAGS="`echo %{ucrt64_ldflags} | sed 's|-fstack-protector||' | sed 's|-lssp||'`"
%mingw_configure %mingw_configure
%mingw_make_build %mingw_make_build
popd popd
%if 0%{?enable_tests} %install
pushd mingw-w64-libraries/winpthreads
%mingw_make_install
popd
# Drop all .la files
find %{buildroot} -name "*.la" -delete
%if 0%{?enable_tests}
%check %check
# Prepare a wine prefix # Prepare a wine prefix
export WINEPREFIX=/tmp/wine-winpthreads export WINEPREFIX=/tmp/wine-winpthreads
@ -157,19 +172,9 @@ popd
# Clean up the wine prefix # Clean up the wine prefix
wineserver --kill || : wineserver --kill || :
rm -rf /tmp/wine-winpthreads rm -rf /tmp/wine-winpthreads
%endif %endif
%install
pushd mingw-w64-libraries/winpthreads
%mingw_make_install
popd
# Drop all .la files
find $RPM_BUILD_ROOT -name "*.la" -delete
# Win32 # Win32
%files -n mingw32-winpthreads %files -n mingw32-winpthreads
%license COPYING %license COPYING
@ -206,8 +211,30 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
%{mingw64_libdir}/libwinpthread.a %{mingw64_libdir}/libwinpthread.a
%{mingw64_libdir}/libpthread.a %{mingw64_libdir}/libpthread.a
# ucrt64
%files -n ucrt64-winpthreads
%license COPYING
%{ucrt64_bindir}/libwinpthread-1.dll
%{ucrt64_libdir}/libwinpthread.dll.a
%{ucrt64_libdir}/libpthread.dll.a
%{ucrt64_includedir}/pthread.h
%{ucrt64_includedir}/pthread_compat.h
%{ucrt64_includedir}/pthread_signal.h
%{ucrt64_includedir}/pthread_time.h
%{ucrt64_includedir}/pthread_unistd.h
%{ucrt64_includedir}/sched.h
%{ucrt64_includedir}/semaphore.h
%files -n ucrt64-winpthreads-static
%{ucrt64_libdir}/libwinpthread.a
%{ucrt64_libdir}/libpthread.a
%changelog %changelog
* Fri May 06 2022 Richard W.M. Jones <rjones@redhat.com> - 10.0.0-2
- Rebase to Fedora Rawhide
resolves: rhbz#2080166
* Mon Aug 23 2021 Richard W.M. Jones <rjones@redhat.com> - 9.0.0-2 * Mon Aug 23 2021 Richard W.M. Jones <rjones@redhat.com> - 9.0.0-2
- Update to 9.0.0 - Update to 9.0.0
- Manually merge with fedora/rawhide - Manually merge with fedora/rawhide