wtWidget-centric C++ library for developing web applications
4.12.2_2wwwΣ=0 4.12.2_2Version of this port present on the latest quarterly branch.upstream: 4.15.0A newer version was found upstream by portscout, first on 2026-10-29.
Wt (pronounced as witty) is a C++ library for developing web applications.
The API is widget-centric and uses well-tested patterns of desktop GUI
development tailored to the web. To the developer, it offers abstraction of
many web-specific implementation details, including client-server protocols
(HTTP, Ajax, WebSockets), and frees the developer from tedious JavaScript
manipulations of HTML and dealing with cross-browser issues. Instead, with Wt,
you can focus on actual functionality with a rich set of feature-complete
widgets. Unlike old-school page-based frameworks or current-day single-page
JavaScript "frameworks", Wt allows you to create stateful applications that are
at the same time highly interactive (using WebSockets and Ajax for everything)
but still support plain HTML browsers or web crawlers using automatic graceful
degradation or progressive enhancement. Things that are natural and simple
with Wt would require an impractical amount of development effort otherwise:
switching widgets using animations, while retaining clean URLs and browser
navigation functions, or having a persistent chat widget open throughout the
entire application, that even works in legacy browsers like Microsoft Internet
Explorer 6.
The library comes with an application server that acts as a stand-alone
Http(s)/WebSocket server or integrates through FastCGI with other web servers.
===> The following configuration options are available for wt-4.12.2_2:
DEBUG=off: Build with debugging support
EXAMPLES=on: Install examples (implies SQLITE3 and WTHTTP)
HARU=on: Enable Haru Free PDF Library
LIBWTTEST=on: Build Wt::Test for automated (integration/unit) tests
OPENGL=on: 2D/3D rendering support via OpenGL
PANGO=on: Pango rendering library support
RESOURCES=on: Install resources directory
SAML=on: Build built-in SAML service provider for Wt::Auth
THEMES=on: Install the source files for Wt's themes
UNWIND=off: Build Wt with stacktrace support using libunwind
====> Connector
FASTCGI=on: Build FastCGI connector
WTHTTP=on: Build Wt stand-alone httpd connector
====> Wt::DBO
FIREBIRD=off: Build Wt with FirebirdSQL support
MYSQL=on: Build Wt with MariaDB or MySQL support
PGSQL=on: Build Wt with PostgreSQL support
SQLITE3=on: Build Wt with SQLite 3 support
====> Wt C++ Features Implementations
STDANY=on: Use std::any instead of bundled thelink2012::any
STDFS=on: Use std::filesystem instead of boost::filesystem
===> Use 'make config' to modify these settings
www/wt: Update to 4.12.1
- Updates Wt to v4.12.1
- Removes unused OPTIONS_GROUP WSTRING (earlier versions using it, somehow it
has not been removed)
- Builds using C++20 instead of C++14 (because of new options STDANY STDFS, it's
possible to fallback
to C++14 when those options are disabled, please let me know and I'll patch
it)
- Adds options group WTCPPIMPL for STD* options below
- Adds STDANY option
- Adds STDFS option
- Some other minor fixes
PR: 291346
Reported by: maintainer
www/wt: upgrade to 4.11.3 to fix build
this version fixes the build with recent boost
while here disable by default firebird since 3.0 is broken with ICU
update
www/wt: 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
www/wt: Add test target
... instead of the TEST option.
The test target now builds and runs tests.
PR: 274872
Approved by: info@babaei.net (maintainer)
Mk/Uses: always use colon for build/run suffix
Most USES use a colon for build/run(/test) suffixes. Change kde.mk,
qt.mk and pyqt.mk to do the same, and update all ports using that.
Document in CHANGES.
PR: 266034
Exp-run by: antoine
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D36349
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 )
graphics/mesa-libs: Bump reverse deps for libglvnd
Per discussion with bapt on helping pkg handle the changing of these
deps and avoiding impossible upgrade senarios.
PR: 246767
Reviewed by: manu, bapt
Approved by: x11
Differential Revision: https://reviews.freebsd.org/D30824
www/wt: Update to v4.2.2
Release 4.2.2 (March 16, 2020)
This release fixes the following issues:
Security-related: in Wt::Auth the lost password email would be sent to the
email address provided in the form, rather than the user's configured email
address. While we treat email addresses as case insensitive, it is possible
that the mail server may not, and that could potentially be used to steal
an account. It is however quite rare for email services to be case
sensitive.
Issue #7439: ensure that tooltips are always on top, even inside of a
dialog.
(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
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
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
Change x11/xorgproto to become a build dep
Change x11/xorgproto to become a build time dependency when added to
USE_XORG. Change the dependency to be on the port, rather than a file the
port installs.
Fix fallout.
Bump portrevision on depending ports.
PR: 230909
Reviewed by: eadler
Approved by: portmgr (antoine)
Obtained
from: https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/xorgproto
exp-run: antoine
Differential Revision: https://reviews.freebsd.org/D16906
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
Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk
From now on, ports that depend on Qt4 will have to set
USES= qt:4
USE_QT= foo bar
ports depending on Qt5 will use
USES= qt:5
USE_QT= foo bar
PR: 229225
Exp-run by: antoine
Reviewed by: mat
Approved by: portmgr (antoine)
Differential Revision: -https://reviews.freebsd.org/D15540
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 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, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Revision bump of all ports with USE_GL after consolidation of mesa-libs
Approved by: swills (mentor)
Differential Revision: https://reviews.freebsd.org/D10845
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
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
www/wt: unbreak with boost 1.63
In file included from wt-3.3.6/src/Wt/Render/CssParser.C:26:
[...]
/usr/local/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp:91:105:
error: cannot initialize a parameter of type 'char *' with an lvalue of type
'char const[17]'
return detail::expression::function_eval<F, A0 , A1 , A2 , A3 ,
A4>::make(f, a0 , a1 , a2 , a3 , a4);
^~
PR: 215599
Approved by: Mohammad S. Babaei (maintainer)
Do not use post-stage. Use post-install instead.
The only reason to use post-stage is because the port needs to do
"things" at a later time, like some plist manipulation.
While there, fold post-install in do-install targets when they are
defined.
PR: 214780
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
- USE_GITHUB
- Remove/shorten overlong OPT_DESCR
- Use option helpers
- Other Cosmetic fixes
No functional changes, so no PORTREVISION bump
Based on suggestions by: danfe, gerald