25dba45
%define major 2
2f76c2f
%define minor 10
25dba45
Name:           cpprest
f026cdf
Version:        2.10.7
08251a1
Release:        2%{?dist}
25dba45
Summary:        C++ REST library
25dba45
License:        MIT
25dba45
Url:            https://github.com/Microsoft/cpprestsdk
25dba45
Source0:        https://github.com/Microsoft/cpprestsdk/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
2f76c2f
# Disable outside, failing and sometimes failing tests
1ea571b
Patch1:         cpprest-2.10.2-disable-outside-and-failing-tests.patch
25dba45
# Disable tests with long timeouts
2f76c2f
Patch2:         cpprest-2.10.0-disable-tests-long-timeouts.patch
0da62ba
# Disable test extract_floating_point, which fails on ppc64le and aarch64
2f76c2f
Patch3:         cpprest-2.9.1-disable-test-extract_floating_point.patch
0da62ba
25dba45
BuildRequires:  boost-devel >= 1.55
87f17e0
BuildRequires:  cmake >= 3.1
259653a
BuildRequires:  gcc-c++
8bcf947
BuildRequires:  pkgconfig(openssl) >= 1.0
2f76c2f
# Current websockettpp versions: 0.7 (>= F25), 0.5.1 (embedded in cpprestsdk 2.9.1)
2f76c2f
BuildRequires:  websocketpp-devel >= 0.5.1
08251a1
BuildRequires:  pkgconfig(zlib)
25dba45
25dba45
%description
25dba45
The C++ REST SDK is a Microsoft project for cloud-based client-server
25dba45
communication in native code using a modern asynchronous C++ API design. This
25dba45
project aims to help C++ developers connect to and interact with services.
25dba45
25dba45
Also known as Casablanca.
25dba45
25dba45
%package devel
25dba45
Summary:        Development files for %{name}
25dba45
Requires:       %{name}%{?_isa} = %{version}-%{release}
25dba45
25dba45
%description devel
25dba45
The C++ REST SDK is a Microsoft project for cloud-based client-server
25dba45
communication in native code using a modern asynchronous C++ API design. This
25dba45
project aims to help C++ developers connect to and interact with services.
25dba45
25dba45
Development files.
25dba45
25dba45
%prep
25dba45
%autosetup -n cpprestsdk-%{version} -p1
1213997
# Remove bundled sources of websocketpp
1213997
rm -r Release/libs
1213997
# Remove file ThirdPartyNotices.txt, which is associated to websocketpp
1213997
rm ThirdPartyNotices.txt
25dba45
25dba45
%build
25dba45
cd Release
25dba45
# https://fedoraproject.org/wiki/Common_Rpmlint_issues#unused-direct-shlib-dependency
25dba45
# -Wl,--as-needed
25dba45
mkdir build.release
25dba45
cd build.release
25dba45
export CXXFLAGS="%{optflags} -Wl,--as-needed"
f026cdf
%cmake .. -DCMAKE_BUILD_TYPE=Release -DWERROR=OFF -DCPPREST_EXPORT_DIR=cmake/cpprestsdk
25dba45
make %{?_smp_mflags}
25dba45
25dba45
%install
e66bed3
cd Release/build.release
e66bed3
%make_install
25dba45
25dba45
%check
0da62ba
%ifarch ppc64 s390x
0da62ba
# Do not run tests for ppc64 and s390x, because of many failing, even crashing tests
0da62ba
# See https://koji.fedoraproject.org/koji/taskinfo?taskID=20183925
0da62ba
%else
0da62ba
# Run tests for the other buildArchs like x86_64, ppc64le, aarch64, i686, armv7hl
25dba45
cd Release/build.release/Binaries
25dba45
./test_runner *_test.so
0da62ba
%endif
25dba45
25dba45
%post -p /sbin/ldconfig
25dba45
%postun -p /sbin/ldconfig
25dba45
25dba45
%files
25dba45
%doc CONTRIBUTORS.txt
25dba45
%license license.txt
25dba45
%{_libdir}/libcpprest.so.%{major}.%{minor}
25dba45
25dba45
%files devel
25dba45
%doc CONTRIBUTORS.txt
25dba45
%{_includedir}/%{name}
25dba45
%{_includedir}/pplx
25dba45
%{_libdir}/libcpprest.so
e66bed3
%{_libdir}/cmake/cpprestsdk
25dba45
25dba45
25dba45
%changelog
08251a1
* Sat Mar 30 2019 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.7-2
08251a1
- Add pkgconfig(zlib) to BR
08251a1
f026cdf
* Wed Oct 31 2018 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.7-1
f026cdf
- New upstream version
f026cdf
- Update -DCPPREST_EXPORT_DIR, because src/CMakeLists.txt uses
f026cdf
  CMAKE_INSTALL_LIBDIR now
f026cdf
87f17e0
* Thu Sep 13 2018 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.6-1
87f17e0
- New upstream version
87f17e0
- Since v2.10.0 the minimum required version of cmake is 3.1
87f17e0
70bd8e3
* Sat Aug 18 2018 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.5-1
70bd8e3
- New upstream version
70bd8e3
- Remove cpprest-2.10.2-fix-libdir.patch
70bd8e3
- Use -DCPPREST_EXPORT_DIR to install cmake files in correct path
70bd8e3
5fb17ec
* Sat Aug 04 2018 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.3-1
5fb17ec
- New upstream version
5fb17ec
0c0af91
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.2-4
0c0af91
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
0c0af91
e66bed3
* Thu Jul 05 2018 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.2-3
e66bed3
- Fix #1589284 - Missing cmake files in cpprest-devel
e66bed3
- Add cpprest-2.10.2-fix-libdir.patch
e66bed3
259653a
* Fri Feb 16 2018 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.2-2
259653a
- Add BuildRequires: gcc-c++
259653a
1ea571b
* Mon Feb 12 2018 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.2-1
1ea571b
- New upstream version
1ea571b
- Update disable-outside-and-failing-tests.patch
6a769e8
- Remove cpprest-2.10.1-fix-warning-due-to-boost-1.66.patch
1ea571b
1e9ed0a
* Sun Feb 11 2018 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.1-4
1e9ed0a
- Rebuilt for Boost 1.66
1e9ed0a
- Added patch to fix warning due to boost 1.66
1e9ed0a
- Pass -DWERROR=OFF to cmake
1e9ed0a
ebd859c
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.1-3
ebd859c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
ebd859c
8bcf947
* Fri Jan 19 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.10.1-2
8bcf947
- openssl-devel → pkgconfig(openssl)
8bcf947
ef41d70
* Tue Dec 19 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.1-1
ef41d70
- New upstream version
ef41d70
2f76c2f
* Wed Oct 25 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.10.0-1
2f76c2f
- New upstream version
2f76c2f
- Fixed upstream, removed:
2f76c2f
  cpprest-2.9.1-openssl-1.1.patch
2f76c2f
  cpprest-2.9.1-asyncrt_utils_xlocale.patch
2f76c2f
  Change end-of-line encoding to Unix (LF) of oauth1.cpp
2f76c2f
  Remove spurious-executable-perm of oauth1.h and oauth1.cpp
2f76c2f
- Updated patches:
2f76c2f
  cpprest-2.10.0-disable-outside-and-failing-tests.patch
2f76c2f
  cpprest-2.10.0-disable-tests-long-timeouts.patch
2f76c2f
- Minimum required cmake version increased from 2.6 to 3.0
2f76c2f
- Removed from cmake, because websocketpp is detected automatically now:
2f76c2f
  -DCMAKE_INCLUDE_PATH=/usr/share/cmake/websocketpp/
2f76c2f
1213997
* Fri Aug 18 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-21
1213997
- Updated cpprest-2.9.1-asyncrt_utils_xlocale.patch
1213997
  Remove condition fedora > 26 for this patch
1213997
- Cleanup spec file: Remove bundled sources of websocketpp.
1213997
  Use sed instead of dos2unix. Remove license file from devel package.
1213997
bd1cf0a
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-20
bd1cf0a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
bd1cf0a
5c7e440
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-19
5c7e440
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
5c7e440
01da24f
* Wed Jul 19 2017 Jonathan Wakely <jwakely@redhat.com> - 2.9.1-18
01da24f
- Rebuilt for s390x binutils bug
01da24f
cb25a5d
* Tue Jul 18 2017 Jonathan Wakely <jwakely@redhat.com> - 2.9.1-17
cb25a5d
- Rebuilt for Boost 1.64
cb25a5d
65ec6a7
* Mon Jun 26 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-16
65ec6a7
- Include and apply patch "cpprest-2.9.1-disable-test-extract_floating_point.patch" anyway.
65ec6a7
  The condition for ppc64le aarch64 has been removed. Avoids missing patch file in SRPMS or
65ec6a7
  rpmlint warning "ifarch-applied-patch" and possible ifarch related issues
65ec6a7
0da62ba
* Mon Jun 26 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-15
0da62ba
- Do not run tests for ppc64 and s390x, because of many failing, even crashing tests
0da62ba
0da62ba
* Mon Jun 26 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-14
0da62ba
- Add patch for asyncrt_utils.h
0da62ba
  Change include xlocale.h to bits/types/locale_t.h for Fedora > 26, due to a change in glibc
0da62ba
- Disable test extract_floating_point, which fails on ppc64le and aarch64
0da62ba
25dba45
* Wed Jun 07 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-13
25dba45
- Add patch to disable tests with long timeouts, which fail in mock build
25dba45
25dba45
* Wed Jun 07 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-12
25dba45
- Removed BR: gcc-c++
25dba45
- Added check section and tests
25dba45
- Add patch to disable outside/failing tests
25dba45
25dba45
* Mon May 29 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-11
25dba45
- Explicitly require openssl-devel instead of pkgconfig(openssl), so we
25dba45
  build against OpenSSL 1.1 on F26 and rawhide and not compat-openssl10.
25dba45
25dba45
* Wed May 24 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-10
25dba45
- Apply cpprest-2.9.1-openssl-1.1.patch anyway, remove the condition
25dba45
  fedora > 25, which is not needed
25dba45
25dba45
* Tue May 23 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-9
25dba45
- Rebuild using websocketpp-0.7.0-5.fc26 for F26 and rawhide
25dba45
- Rename patch file including version of cpprest
25dba45
- Set license to MIT. This is the license of C++ REST SDK (license.txt).
1213997
  Websocket++ is a separate Fedora package (websocketpp-devel) and its
25dba45
  license is handled there.
25dba45
- Use BuildRequires: pkgconfig(openssl) instead of openssl-devel
25dba45
25dba45
* Thu May 18 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-8
25dba45
- Rebuild for testing websocketpp-0.7.0-4.fc26
25dba45
25dba45
* Tue May 09 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-7
25dba45
- Add requirement websocketpp-devel.
25dba45
  Build against the Fedora websocketpp package and not the embedded version of cpprest.
25dba45
- Add -DCMAKE_INCLUDE_PATH=/usr/share/cmake/websocketpp/ so that websocketpp is found
25dba45
- Add patch cpprest-Fix-build-issue-with-openssl-1.1-From-Kurt-Roeckx
25dba45
25dba45
* Fri May 05 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-6
25dba45
- Use directory build.release for cmake
25dba45
25dba45
* Sun Apr 30 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-5
25dba45
- Fix unused-direct-shlib-dependency reported by rpmlint (installed packages)
25dba45
25dba45
* Sat Apr 29 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-4
25dba45
- Updated spec file
25dba45
- Remove spurious-executable-perm earlier in spec file (after setup)
25dba45
- Change end-of-line encoding of two files to Unix (LF)
25dba45
25dba45
* Fri Apr 28 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-3
25dba45
- Updated spec file
25dba45
- Changed Source0 filename from v2.9.1.tar.gz to cpprest-2.9.1.tar.gz
25dba45
- Convert ThirdPartyNotices.txt to utf-8
25dba45
25dba45
* Tue Apr 25 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-2
25dba45
- Updated spec file according to package review feedback from:
25dba45
  https://bugzilla.redhat.com/show_bug.cgi?id=1440704#c3
25dba45
25dba45
* Wed Apr 05 2017 Wolfgang Stöggl <c72578@yahoo.de> - 2.9.1-1
25dba45
- Initial packaging