Bug 224181

Summary: www/domoticz: fails to build with boost 1.66
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Jan Beich <jbeich>
Status: Closed FIXED    
Severity: Affects Only Me CC: kiwi
Priority: --- Keywords: needs-patch
Version: LatestFlags: bugzilla: maintainer-feedback? (kiwi)
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 223922    
Attachments:
Description Flags
Patch to fix boost 1.66 support none

Description Jan Beich freebsd_committer freebsd_triage 2017-12-08 15:52:53 UTC
As part of exp-run in bug 223922 this port was found to break on Boost update. If the issue won't disappear on its own by Boost release I plan to mark the port as BROKEN. Can you check with upstream maintainer or help with a fix?

$ fetch -qo- 'https://reviews.freebsd.org/D13279?download=true' | patch -Efsp0 -d /usr/ports
$ make all deinstall install clean -C/usr/ports/devel/boost-libs
$ make -C/usr/ports/www/domoticz
[...]
webserver/server.cpp:151:3: error: no matching constructor for initialization of 'boost::asio::ssl::context'
                context_(io_service_, ssl_settings.get_ssl_method())
                ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/asio/ssl/impl/context.ipp:63:10: note: candidate constructor not viable: requires single argument 'm', but 2 arguments were provided
context::context(context::method m)
         ^
/usr/local/include/boost/asio/ssl/context.hpp:36:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class context
      ^
webserver/server.cpp:164:3: error: no matching constructor for initialization of 'boost::asio::ssl::context'
                context_(io_service_, dynamic_cast<ssl_server_settings const &>(settings).get_ssl_method()) {
                ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/asio/ssl/impl/context.ipp:63:10: note: candidate constructor not viable: requires single argument 'm', but 2 arguments were provided
context::context(context::method m)
         ^
/usr/local/include/boost/asio/ssl/context.hpp:36:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class context
      ^

http://package23.nyi.freebsd.org/data/103i386-default-PR223922/2017-12-02_11h06m37s/logs/errors/domoticz-3.8153_2.log
http://package22.nyi.freebsd.org/data/103amd64-default-PR223922/2017-12-02_11h06m39s/logs/errors/domoticz-3.8153_2.log
http://package23.nyi.freebsd.org/data/111i386-default-PR223922/2017-12-03_09h31m14s/logs/errors/domoticz-3.8153_2.log
http://package22.nyi.freebsd.org/data/111amd64-default-PR223922/2017-12-03_09h31m05s/logs/errors/domoticz-3.8153_2.log
Comment 1 Jan Beich freebsd_committer freebsd_triage 2017-12-08 15:53:49 UTC
Maybe you can replace io_service with io_context similar to https://github.com/arvidn/libtorrent/commit/f42b63c7ea82
Comment 2 Xavier Beaudouin 2018-02-17 20:31:39 UTC
This is an issue with boost 1.66.

Unfortunatly there is no new domoticz release on Github (only developpement releases).

I can push some "dev" tarballs but this will have maybe some other issues...

Regards
Comment 3 Xavier Beaudouin 2018-03-04 16:10:53 UTC
Created attachment 191201 [details]
Patch to fix boost 1.66 support

Here is a patch to fix this bug.

Regards
Comment 4 Jan Beich freebsd_committer freebsd_triage 2018-03-05 02:05:33 UTC
Comment on attachment 191201 [details]
Patch to fix boost 1.66 support

> @@ -2,7 +2,7 @@
> 
>  PORTNAME=	domoticz
>  PORTVERSION=	3.${DOMOTICZ_REL}
> -PORTREVISION=	3
> +PORTREVISION=	4

Unnecessary. ports r459315 already bumped PORTREVISION but it was never built due to this bug.

> @@ -1,9 +1,9 @@
> ---- appversion.default.orig	2016-03-09 17:30:00.000000000 +0100
> -+++ appversion.default	2016-03-09 19:10:01.169567000 +0100
> +--- appversion.default.orig	2017-07-30 10:19:41 UTC
> ++++ appversion.default
>  @@ -1,3 +1,3 @@
> --#define APPVERSION 4834
> --#define APPHASH "2bd98a1"
> --#define APPDATE 1456904172
> +-#define APPVERSION 5876
> +-#define APPHASH "b97777b"
> +-#define APPDATE 1478691222
>  +#define APPVERSION XXXDOMOTICZXXX
>  +#define APPHASH "XXXHASHXXX"
>  +#define APPDATE XXXTIMEXXX@@ -1,9 +1,9 @@

Doesn't apply and doesn't look related to Boost.

$ patch -Efsp1 -i /path/to/domoticz-boost.diff -d /usr/ports/www/domoticz
1 out of 1 hunks failed while patching files/patch-appversion.default

> @@ -1,5 +1,5 @@
> ---- getgit.cmake.orig	2016-04-01 15:27:18.517929000 +0200
> -+++ getgit.cmake	2016-04-01 15:27:52.572836000 +0200
> +--- getgit.cmake.orig	2017-07-30 10:19:41 UTC
> ++++ getgit.cmake

Unrelated but OK. I'll land it via separate commit.
Comment 5 commit-hook freebsd_committer freebsd_triage 2018-03-05 02:06:30 UTC
A commit references this bug:

Author: jbeich
Date: Mon Mar  5 02:06:23 UTC 2018
New revision: 463614
URL: https://svnweb.freebsd.org/changeset/ports/463614

Log:
  www/domoticz: unbreak with boost 1.66

  PR:		224181
  Submitted by:	BER?NYI Bal?zs (via private mail)
  Obtained from:	upstream
  Approved by:	Xavier Beaudouin (maintainer)

Changes:
  head/www/domoticz/Makefile
  head/www/domoticz/files/patch-webserver_proxyclient.cpp
  head/www/domoticz/files/patch-webserver_server.cpp
Comment 6 commit-hook freebsd_committer freebsd_triage 2018-03-05 02:07:33 UTC
A commit references this bug:

Author: jbeich
Date: Mon Mar  5 02:06:52 UTC 2018
New revision: 463615
URL: https://svnweb.freebsd.org/changeset/ports/463615

Log:
  www/domoticz: regen patches via "make makepatch"

  PR:		224181
  Submitted by:	Xavier Beaudouin (maintainer)

Changes:
  head/www/domoticz/files/patch-CMakeLists.txt
  head/www/domoticz/files/patch-getgit.cmake
Comment 7 Jan Beich freebsd_committer freebsd_triage 2018-03-05 02:08:22 UTC
Thanks. Landed.