%?mingw_package_header %global enable_tests 0 Name: mingw-winpthreads Version: 6.0.0 Release: 4 Summary: MinGW pthread library License: MIT and BSD URL: http://mingw-w64.sourceforge.net/ Source0: http://downloads.sourceforge.net/mingw-w64/mingw-w64-v%{version}.tar.bz2 BuildArch: noarch BuildRequires: mingw32-filesystem >= 95 mingw64-filesystem >= 95 BuildRequires: mingw32-gcc-c++ mingw64-gcc-c++ BuildRequires: mingw32-crt mingw64-crt %if 0%{?enable_tests} BuildRequires: wine-wow %endif %description 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 mingw32-winpthreads 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 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 mingw32-winpthreads-static Summary: Static version of the MinGW Windows pthreads library 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 Static version of the MinGW Windows pthreads library. %package -n mingw64-winpthreads Summary: MinGW pthread library for the win64 target 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 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 mingw64-winpthreads-static Summary: Static version of the MinGW Windows pthreads library 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 Static version of the MinGW Windows pthreads library. %?mingw_debug_package %prep %autosetup -p1 -n mingw-w64-v%{version} %build pushd mingw-w64-libraries/winpthreads %mingw_configure %mingw_make %{?smp_mflags} popd %if 0%{?enable_tests} %check export WINEPREFIX=/tmp/wine-winpthreads mkdir $WINEPREFIX winecfg || : pushd mingw-w64-libraries/winpthreads %mingw_make check -k || : popd wineserver --kill || : rm -rf /tmp/wine-winpthreads %endif %install pushd mingw-w64-libraries/winpthreads %mingw_make install DESTDIR=$RPM_BUILD_ROOT popd find $RPM_BUILD_ROOT -name "*.la" -delete %files -n mingw32-winpthreads %license COPYING %{mingw32_bindir}/libwinpthread-1.dll %{mingw32_libdir}/libwinpthread.dll.a %{mingw32_libdir}/libpthread.dll.a %{mingw32_includedir}/pthread.h %{mingw32_includedir}/pthread_compat.h %{mingw32_includedir}/pthread_signal.h %{mingw32_includedir}/pthread_time.h %{mingw32_includedir}/pthread_unistd.h %{mingw32_includedir}/sched.h %{mingw32_includedir}/semaphore.h %files -n mingw32-winpthreads-static %{mingw32_libdir}/libwinpthread.a %{mingw32_libdir}/libpthread.a %files -n mingw64-winpthreads %license COPYING %{mingw64_bindir}/libwinpthread-1.dll %{mingw64_libdir}/libwinpthread.dll.a %{mingw64_libdir}/libpthread.dll.a %{mingw64_includedir}/pthread.h %{mingw64_includedir}/pthread_compat.h %{mingw64_includedir}/pthread_signal.h %{mingw64_includedir}/pthread_time.h %{mingw64_includedir}/pthread_unistd.h %{mingw64_includedir}/sched.h %{mingw64_includedir}/semaphore.h %files -n mingw64-winpthreads-static %{mingw64_libdir}/libwinpthread.a %{mingw64_libdir}/libpthread.a %changelog * Wed Nov 04 2020 Zhiyi Weng - 6.0.0-4 - Add build require mingw-crt for bootstrap. * Fri Oct 09 2020 Zhiyi Weng - 6.0.0-3 - Initial version.