mingw-winpthreads/mingw-winpthreads.spec

175 lines
5.7 KiB
RPMSpec
Raw Normal View History

2020-10-09 16:58:41 +08:00
%?mingw_package_header
%global enable_tests 0
Name: mingw-winpthreads
Version: 6.0.0
Release: 4
2020-10-09 16:58:41 +08:00
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
2020-10-09 16:58:41 +08:00
BuildArch: noarch
BuildRequires: mingw32-filesystem >= 95 mingw64-filesystem >= 95
BuildRequires: mingw32-gcc-c++ mingw64-gcc-c++
BuildRequires: mingw32-crt mingw64-crt
2020-10-09 16:58:41 +08:00
%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}
2020-10-09 16:58:41 +08:00
%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 <zhiyi@iscas.ac.cn> - 6.0.0-4
- Add build require mingw-crt for bootstrap.
2020-10-09 16:58:41 +08:00
* Fri Oct 09 2020 Zhiyi Weng <zhiyi@iscas.ac.cn> - 6.0.0-3
- Initial version.