Bug 210750 - [new port] www/wt: C++ library for developing web applications
Summary: [new port] www/wt: C++ library for developing web applications
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Babak Farrokhi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-01 19:36 UTC by Mohammad S. Babaei
Modified: 2018-02-24 10:18 UTC (History)
5 users (show)

See Also:


Attachments
www/wt shar file (93.72 KB, text/plain)
2016-07-01 19:36 UTC, Mohammad S. Babaei
no flags Details
Wt-3.3.6 update patch (837 bytes, patch)
2016-08-01 18:27 UTC, Mohammad S. Babaei
info: maintainer-approval+
Details | Diff
Path against the port to update the share file from 3.3.5 to 3.3.6 (2.75 KB, patch)
2016-08-01 18:43 UTC, Mohammad S. Babaei
info: maintainer-approval+
Details | Diff
Path against the port to update the share file from 3.3.5 to 3.3.6 (3.91 KB, patch)
2016-08-01 19:43 UTC, Mohammad S. Babaei
info: maintainer-approval+
Details | Diff
A new patch with a few fixes (7.31 KB, patch)
2016-08-24 17:26 UTC, Mohammad S. Babaei
info: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mohammad S. Babaei 2016-07-01 19:36:41 UTC
Created attachment 172026 [details]
www/wt shar file

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.

WWW: http://www.webtoolkit.eu/wt
Comment 1 Mohammad S. Babaei 2016-08-01 18:27:20 UTC
Created attachment 173163 [details]
Wt-3.3.6 update patch

This patch updates wt-3.3.5 to wt-3.3.6 after importing the original shar file into FreeBSD Ports tree.

1. Apply the shar file (3.3.5)
2. Commit to ports tree
3. Apply the patch (3.3.6)
4. Commit to ports tree

Checkout the release notes for this release at:
https://www.webtoolkit.eu/wt/doc/reference/html/Releasenotes.html
Comment 2 Mohammad S. Babaei 2016-08-01 18:43:59 UTC
Created attachment 173164 [details]
Path against the port to update the share file from 3.3.5 to 3.3.6

Sorry, missed the changes inside pkg-plist.
Comment 3 Mohammad S. Babaei 2016-08-01 19:43:43 UTC
Created attachment 173168 [details]
Path against the port to update the share file from 3.3.5 to 3.3.6

This final patch for 3.3.6 passes the following the tests:

  make stage

  make stage-qa

  make check-orphans

  make package

  make install

  make deinstall
Comment 4 commit-hook freebsd_committer 2016-08-17 21:19:56 UTC
A commit references this bug:

Author: arved
Date: Wed Aug 17 21:19:43 UTC 2016
New revision: 420373
URL: https://svnweb.freebsd.org/changeset/ports/420373

Log:
  Add Wt, a C++ library for developing web applications.

  PR:             210750
  Submitted by:   Mohammad S. Babaei

Changes:
  head/www/Makefile
  head/www/wt/
  head/www/wt/Makefile
  head/www/wt/distinfo
  head/www/wt/files/
  head/www/wt/files/patch-CMakeLists.txt
  head/www/wt/pkg-descr
  head/www/wt/pkg-plist
Comment 5 Tilman Keskinoz freebsd_committer 2016-08-17 21:23:36 UTC
Committed thanks.

Some issues you might want to look into:

* GraphicMagick dependency was missing, added by me.
* ninja did not work with USES=openssl so we are now using normal make

Some small hints for the next update:
* Run portlint
* run ports sanity checks by setting DEVELOPER=yes in make.conf
Comment 6 Tilman Keskinoz freebsd_committer 2016-08-20 21:12:17 UTC
I have got some post-commit feedback and fixed some style issues.

One issue I would like to run by you:

From danfe@:

do not put documentation that requires some heavy stuff like
Doxygen or LaTeX under DOCS (which is on by default); we have DOXYGEN option
for that.
Comment 7 Mohammad S. Babaei 2016-08-24 11:33:08 UTC
@Tilman

Sorry for my tardy response, been busy with an exam; And, thank you so much for the suggestions.

I'll create and submit a patch.
Comment 8 Mohammad S. Babaei 2016-08-24 17:26:59 UTC
Created attachment 174019 [details]
A new patch with a few fixes

I checked out the latest ports tree which reflects your latest changes and made a patch with following changes:

* Remove DOCS option
* Add DOXYGEN option
* Add SSL option
* Rename 'Connector' group to 'Connectors'
* Fix SQLITE3 cmake option (fixes a typo that may cause a build bug)
* USES=pgsql instead of unsupported USE_PGSQL
* USES=firebird instead of unsupported USE_FIREBIRD
* USES=mysql instead of deprecated USE_MYSQL
* CMake options improvements
* Add ninja generator
* White-space fixes

And test the updated port on FreeBSD 11-STABLE and 10.3-RELEASE which works fine. If you need separate patches for each item please let me know.

Just a few questions:

> * ninja did not work with USES=openssl so we are now using normal make
1. I enabled ninja and with or without newly added SSL option it builds just fine. I'm not sure what's wrong here. I'm using LibreSSL on both systems, but at the time of writing the original port, I had OpenSSL from base as my default SSL library and I'm sure that should not be the case. In addition to that I noticed you changed USES=openssl to USES=ssl. Maybe that's why it's working?

2. The original port had a SSL option which was removed. Is there any particular reason for that?

Also, I didn't bumped the port revision. Feel free to increase it if it has too.
Comment 9 Tilman Keskinoz freebsd_committer 2016-08-24 20:11:22 UTC
Thanks for the new patch. I will try to review & commit it until end of the month.
Comment 10 Tilman Keskinoz freebsd_committer 2016-09-25 18:17:23 UTC
Sorry, It looks like I will not have time in the foreseeable future.

Back to the pool.
Comment 11 Walter Schwarzenfeld freebsd_triage 2018-01-14 05:17:33 UTC
Maintainer feedback? Could this closed?
Comment 12 Yuri Victorovich freebsd_committer 2018-02-24 10:18:17 UTC
This has stalled.
I've created a new bug#226160 requesting port update to 4.0.2.