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 diff --git a/mingw-winpthreads.spec b/mingw-winpthreads.spec new file mode 100644 index 0000000..88fd9cc --- /dev/null +++ b/mingw-winpthreads.spec @@ -0,0 +1,211 @@ +%?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 +%global enable_tests 0 + +Name: mingw-winpthreads +Version: 6.0.0 +Release: 3%{?dist} +Summary: MinGW pthread library + +# The main license of winpthreads is MIT, but parts of this library +# are derived from the "Posix Threads library for Microsoft Windows" +# http://locklessinc.com/articles/pthreads_on_windows/ +License: MIT and BSD +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 + +BuildArch: noarch + +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw32-gcc-c++ +BuildRequires: mingw64-gcc-c++ + +%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. + +# Win32 +%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. + +# Win64 +%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 +%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-libraries/winpthreads + %mingw_configure + %mingw_make %{?smp_mflags} +popd + + +%if 0%{?enable_tests} + +%check +# Prepare a wine prefix +export WINEPREFIX=/tmp/wine-winpthreads +mkdir $WINEPREFIX +winecfg || : + +# Run the tests +pushd mingw-w64-libraries/winpthreads + %mingw_make check -k || : +popd + +# Clean up the wine prefix +wineserver --kill || : +rm -rf /tmp/wine-winpthreads + +%endif + + +%install +pushd mingw-w64-libraries/winpthreads + %mingw_make install DESTDIR=$RPM_BUILD_ROOT +popd + +# Drop all .la files +find $RPM_BUILD_ROOT -name "*.la" -delete + + +# Win32 +%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 + +# Win64 +%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 +* Fri Oct 09 2020 Zhiyi Weng - 6.0.0-3 +- Initial version.