Subject: bug#63572: closed (Re: bug#63572: [PATCH] Re: bug#63572: htmlcxx-0.87 fails to build)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 24 May 2023 08:44:05 +0000

Your bug report

#63572: htmlcxx-0.87 fails to build

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
63572: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63572
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#63572: [PATCH] Re: bug#63572: htmlcxx-0.87 fails to build
From: Efraim Flashner <[email-masked]>
To: "Dr. Arne Babenhauserheide" <[email-masked]>
Cc: [email-masked], Bruno Victal <[email-masked]>
Date: Wed, 24 May 2023 11:43:33 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

On Sat, May 20, 2023 at 11:43:46PM +0200, Dr. Arne Babenhauserheide wrote:
> Hi Bruno,
> 
> Bruno Victal <[email-masked]> writes:
> >> So this may just need compiler parameters to set C++11 instead of C++17
> >> as target.
> >
> > Looking at the README file from <https://sourceforge.net/p/htmlcxx/code/ci/master/tree/>,
> > it looks to me that upstream has moved to <https://github.com/bonitao/htmlcxx>. (judging by the name of the repo owner)
> > Can you try asking upstream for a new release? The last commit (<https://github.com/bonitao/htmlcxx/commit/0ffa3e90b7dc3944f199fd80ab47c2a82589209a>)
> > has the message 'Fix c+11 compilation'.
> 
> I tried to build from the latest commit, but it did not build.
> 
> But I could now test adding the std argument and that works.

Thanks for checking.

> $ ./pre-inst-env guix build htmlcxx
> /gnu/store/3bqrqs2zzx1gy4xc1g9i59z8nnhwv2rs-htmlcxx-0.87
> 
> A patch is attached.

I didn't see any dependant packages. Patch pushed! Thanks.

-- 
Efraim Flashner   <[email-masked]>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Subject: htmlcxx-0.87 fails to build
From: Arne Babenhauserheide <[email-masked]>
To: [email-masked]
Date: Thu, 18 May 2023 17:17:48 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

To reproduce: guix build htmlcxx — it blocks several dependents.

The relevant part of the error:

In file included from CharsetConverter.cc:5:
CharsetConverter.h:20:90: error: ISO C++17 does not allow dynamic exception specifications
   20 |                         CharsetConverter(const std::string &from, const std::string &to) throw (Exception);

These were deprecated in C++11 and removed in C++17: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html

So this may just need compiler parameters to set C++11 instead of C++17
as target.

A first step towards the fix might be

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 6e79fe99b8..9c1319f3af 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -8130,6 +8130,9 @@ (define-public htmlcxx
        (sha256
         (base32 "1j3mzjlczjrk4ahc43s6kzpvzypzjmqz4sillnca5yadrwwgjf2x"))))
     (build-system gnu-build-system)
+    (arguments
+     ;; ISO C++17 does not allow dynamic exception specifications
+     `(#:configure-flags '("CXXFLAGS=-std=c++11")))
     (home-page "https://htmlcxx.sourceforge.net/")
     (synopsis "Simple non-validating CSS1 and HTML parser for C++")
     (description "htmlcxx is a simple non-validating CSS1 and HTML parser for

The complete log is attached.

Best wishes,
Arne

-- 
unpolitisch sein
heißt politisch sein, 
ohne es zu merken. 
- ArneBab