The C++ REST SDK is a Microsoft project for cloud-based client-server
communication in native code using a modern asynchronous C++ API design.
This project aims to help C++ developers connect to and interact with services.
What's in the SDK:
- Features
HTTP client/server, JSON, URI, asynchronous streams, WebSockets client, oAuth
- PPL Tasks
A powerful model for composing asynchronous operations based on C++11 features
- Platforms
Windows desktop, Windows Store, Windows Phone, Ubuntu, OS X, iOS, and Android
[and now also FreeBSD ;-)]
===> The following configuration options are available for cpprestsdk-2.10.19_9:
BROTLI=off: Brotli compression support
===> Use 'make config' to modify these settings
devel/cpprestsdk: allow consumers to find_package(cpprestsdk)
With sufficiently-new CMake settings, the CMake .config file for
cpprestsdk can't find Boost::system (because it no longer exists)
and then it fails. But cpprestsdk doesn't need it -- so patch
it out.
Upstream PR: https://github.com/microsoft/cpprestsdk/pull/1838
PR: 291874
devel/cpprestsdk: fix buils with Boost-1.89 (+)
Project get strike from moved asio::deadline_timer.
Follow the new placeholder for deadline_timer.
wrkdirs/usr/ports/devel/cpprestsdk/work/cpprestsdk-2.10.19/Release/src/http/client/http_client_asio.cpp:470:18:
error: no type named 'deadline_timer' in namespace 'boost::asio'
470 | boost::asio::deadline_timer m_pool_epoch_timer;
| ~~~~~~~~~~~~~^
PR: 290448
devel/cpprestsdk: unbreak build with llvm 20
Cpprestsdk is using a lot of unsigned types for C++ streams, which
apparently is fine with MSVC/win32, with gcc at least up until some
point, but does not work at all with the latest llvm versions. I've
put some effort into not going for anything that pollutes the std
namespace with anything, which I don't think is ok at all with a
library.
PR: 287706
Reported by: Jan-Espen Oversand <sigsegv@radiotube.org> (maintainer)
devel/cpprestsdk: unbreak build with boost >=1.87 and take maintainership
While here, add test target.
Co-authored-by: Hiroki Tagato <tagattie@FreeBSD.org>
PR: 286905
Reported by: Jan-Espen Oversand <sigsegv@radiotube.org> (new maintainer)
devel/cpprestsdk: mark as BROKEN with Boost>=1.87 (+)
Since 1.87 release some long-time-ago deprecated Boost.asio facilities was
dropped off
Sponsored by: Future Crew, LLC
devel/cpprestsdk: Fix include of json.h
De-inlining the constructor and destructor makes the sizeof(_Value) available to
std::unique_ptr.
PR: 276187
Reported by: sigsegv@radiotube.org
devel/cpprestsdk: fix BROKEN by update 2.10.16 -> 2.10.18
Reset maintainership due to no update.
<ChangeLog>
cpprestsdk (2.10.18)
* PR#1571 Add ability to parse and emit the NT Epoch
1601-01-01T00:00:00Z
* PR#1571 Update vcpkg submodule
* Update CI configuration
cpprestsdk (2.10.17)
* PR#1550 Fix year calculation for the last day of a leap year
* PR#1523 Fix wrong linking of Apple Frameworks on MacOS
* PR#1520 Define __STDC_FORMAT_MACROS when it hasn't been
defined to avoid duplicate define error.
* PR#1415 Delete apparently broken .vcxprojs and .pfxes.
* Removed defunct email contact information from the readme
</ChangeLog>
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Backport a patch from upstream to fix the build on HEAD (clang 5).
src/uri/uri.cpp:25:73: error: lambda capture 'this' is not used
[-Werror,-Wunused-lambda-capture]
std::transform(m_scheme.begin(), m_scheme.end(), m_scheme.begin(),
[this](utility::char_t c) {
src/uri/uri.cpp:30:67: error: lambda capture 'this' is not used
[-Werror,-Wunused-lambda-capture]
std::transform(m_host.begin(), m_host.end(), m_host.begin(),
[this](utility::char_t c) {
Add USES=compiler:c++11-lib.
It doesn't have an effect on platforms with clang and libc++ as the default
compiler, but should likely help with the powerpc64 build error that was marked
in the Makefile.
Mark some ports failing on power64. In cases where the error message
was a stub, provide a real one.
While here, pet portlint.
Approved by: portmgr (tier-2 blanket)
Reported by: swills