Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1020595: ITP: tomlplusplus -- TOML config parser and serializer for C++17

14 views
Skip to first unread message

Andrea Pappacoda

unread,
Sep 23, 2022, 6:10:03 PM9/23/22
to
Package: wnpp
Severity: wishlist
Owner: Andrea Pappacoda <and...@pappacoda.it>
X-Debbugs-Cc: debian...@lists.debian.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

* Package name : tomlplusplus
Version : 3.2.0
Upstream Author : Mark Gillard <mark dot gillard att outlook dot com dot au>
* URL : https://marzer.github.io/tomlplusplus/
* License : MIT/Expat
Programming Lang: C++
Description : TOML config parser and serializer for C++17

Features:
- - Supports the latest TOML release (v1.0.0), plus optional support for some
unreleased TOML features
- - Passes all tests in the toml-test suite
- - Supports serializing to JSON and YAML
- - Proper UTF-8 handling (incl. BOM)
- - C++17 (plus some C++20 features where available, e.g. experimental support
for char8_t strings)
- - Doesn't require RTTI
- - Works with or without exceptions
- - Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
- - Tested on x64, x86 and ARM

I've used this library in the past, and I was surprised to find out that it is
not available in Debian.


-----BEGIN PGP SIGNATURE-----

iIoEARYIADIWIQS6VuNIvZRFHt7JcAdKkgiiRVB3pwUCYy4sExQcYW5kcmVhQHBh
cHBhY29kYS5pdAAKCRBKkgiiRVB3p7IMAP9BKJ8/B6nrKHvKzREXrz8n2nqxGRr5
Yuc+QCCNtjOL0wD+IWVXon6q2S5n4SUSMqRzAWw0zJXc7OppfpTaKzk7cgQ=
=dCnP
-----END PGP SIGNATURE-----

Stephan Lachnit

unread,
Sep 24, 2022, 5:30:04 AM9/24/22
to
Hi Andrea,

I find this library interesting as well, ping me if you need a sponsor.

Cheers,
Stephan

Andrea Pappacoda

unread,
Sep 24, 2022, 6:30:03 AM9/24/22
to
Il giorno sab 24 set 2022 alle 11:17:21 +02:00:00, Stephan Lachnit
<stephan...@debian.org> ha scritto:
> I find this library interesting as well, ping me if you need a
> sponsor.

Sure! I _always_ need a sponsor :)

The package is mostly ready, but I'd also like to include some
generated documentation with it. tomlplusplus uses Poxy, a Python
program that is not yet packaged. As I don't know anything about
Python's ecosystem, could you please point me in the right direction?
Also, see <https://lists.debian.org/debian-python/2022/09/msg00083.html>

Andrea Pappacoda

unread,
Sep 24, 2022, 1:40:03 PM9/24/22
to
Hi Stephan, I've uploaded the package to Mentors. I still haven't
package Poxy, but in the meantime I've included the partial Markdown
documentation. I'll add the rest in a future revision of the package.

When uploading the package, could you also transfer
<https://salsa.debian.org/tachi/tomlplusplus> to the debian namespace?
The transfer button is under Settings -> General -> Advanced ->
Transfer project

Stephan Lachnit

unread,
Nov 8, 2022, 8:10:04 AM11/8/22
to
On Mon, 7 Nov 2022 16:22:54 +0100 Bastian Germann <ba...@debian.org> wrote:
> What is the status of this? Is Stephan still intending to sponsor tomlplusplus?

I currently lack time for Debian work. I would still do it before the
freeze since I also need to upload some other things before that, but
if you have the capacity please go ahead.

Regards,
Stephan

Ben Westover

unread,
Nov 12, 2022, 11:20:03 PM11/12/22
to
Hello Andrea,

Since everyone that's interested in this seems to be busy, you could
consider opening an RFS bug to notify possible sponsors about this
package. A template is available at
https://mentors.debian.net/sponsors/rfs-howto/tomlplusplus.

Thanks,
--
Ben Westover
OpenPGP_signature

Ben Westover

unread,
Nov 21, 2022, 11:21:40 PM11/21/22
to
Hello,

All of the tests fail when building on arm64. Here is an example:

In file included from ../tests/conformance_burntsushi_invalid.cpp:8:
../tests/tests.h:15:2: error: #error TOML_FP16 was not deduced correctly
15 | #error TOML_FP16 was not deduced correctly
| ^~~~~

A full log is attached. Build with nocheck profile is fine.

Thanks,
--
Ben Westover
tomlplusplus_3.2.0+ds-1_arm64.build
OpenPGP_signature

Ben Westover

unread,
Dec 14, 2022, 6:40:04 PM12/14/22
to
It seems to be fixed if `-DTOML_ENABLE_FLOAT16=0` is added in the
configure step; this is what Prism Launcher, the application I was
originally interested in packaging this for, does to work around it.
OpenPGP_signature

Bastian Germann

unread,
Dec 19, 2022, 12:00:04 PM12/19/22
to
Hi Andrea,
Will you have the time to make the package build on arm64?
Maybe Ben wants to volunteer and provide a patch?

Andrea Pappacoda

unread,
Dec 19, 2022, 1:10:03 PM12/19/22
to


Il 19 dicembre 2022 17:55:11 CET, Bastian Germann <ba...@debian.org> ha scritto:
>Hi Andrea,
>Will you have the time to make the package build on arm64?
>Maybe Ben wants to volunteer and provide a patch?

Sure. I have just completed two exams, so I'll have plenty of time for a couple of weeks :)

Somewhat unrelated: Bastian, would you please have a look at my libspng packaging, when you have time? As always, you can find it on mentors. Thanks!

Sorry for my brevity and/or broken reply, I'm on my phone.

Bastian Germann

unread,
Dec 23, 2022, 10:20:04 AM12/23/22
to
On Tue, 20 Dec 2022 18:04:01 +0100 Andrea Pappacoda <and...@pappacoda.it> wrote:
> Il giorno lun 19 dic 2022 alle 19:00:15 +01:00:00, Andrea Pappacoda
> <and...@pappacoda.it> ha scritto:
> > Will you have the time to make the package build on arm64?
>
> Done. I've backported two FP16 upstream commits and tested the build on
> my phone. You can find the updated version on Salsa and Mentors.

I have added a missing copyright statement.
toml.hpp is generated. Please regenerate it from source and possibly exclude it.

In debian/rules you reference files from /usr/share/javascript/highlight.js
but there is no Depends on libjs-highlight.js. Why do you have that README.html in the first place?

Andrea Pappacoda

unread,
Dec 23, 2022, 12:00:04 PM12/23/22
to
Il giorno ven 23 dic 2022 alle 16:13:08 +01:00:00, Bastian Germann
<ba...@debian.org> ha scritto:
> I have added a missing copyright statement.

Thanks.

> toml.hpp is generated. Please regenerate it from source and possibly
> exclude it.

toml.hpp isn't shipped in the package (the Meson build system installs
the "regular" flavour, not the "single header" once; see the README for
details). Is this necessary?

> In debian/rules you reference files from
> /usr/share/javascript/highlight.js
> but there is no Depends on libjs-highlight.js. Why do you have that
> README.html in the first place?

Good catch, I'll add it to the Recommends. As for why README.md is
installed as README.html, Policy 12.4[1] says that "If the package
comes with extensive documentation in a markup format that can be
converted to various other formats you should if possible ship HTML
versions in a binary package". As Markdown was meant to be used to be
converted to HTML since its creation this seems to me like a natural
thing to do.

While adding highlight.js to the Recommends, I've also added automatic
dark and light theme handling using the CSS prefers-color-scheme media
query, so that my eyes won't melt again while reading the installed
documentation :)

Ben Westover

unread,
Dec 23, 2022, 1:50:03 PM12/23/22
to
Control: tag -1 -pending

Hello Andrea,

When maintaining packages that are waiting to be sponsored, it's
generally a good idea to mark the distribution in debian/changelog as
UNRELEASED, because if it's listed as unstable, your ITP keeps getting
marked pending every time you commit, and people can get the idea that a
release is already in Debian if it's marked unstable. In the future, you
should mark it UNRELEASED in Salsa and unstable in Mentors, then change
it to unstable when the package is uploaded and passes NEW.

Thanks,
--
Ben Westover
OpenPGP_signature

Andrea Pappacoda

unread,
Dec 23, 2022, 2:10:03 PM12/23/22
to
Il giorno ven 23 dic 2022 alle 18:46:02 +00:00:00, Ben Westover
<m...@benthetechguy.net> ha scritto:
> When maintaining packages that are waiting to be sponsored, it's
> generally a good idea to mark the distribution in debian/changelog as
> UNRELEASED, because if it's listed as unstable, your ITP keeps getting
> marked pending every time you commit, and people can get the idea
> that a
> release is already in Debian if it's marked unstable. In the future,
> you
> should mark it UNRELEASED in Salsa and unstable in Mentors, then
> change
> it to unstable when the package is uploaded and passes NEW.

Hi Ben, you're right and I find it annoying too, but in general I try
to do the opposite, i.e. do everything in Salsa first, and then push to
Mentors. I prefer to see the Git repo as the main place where changes
occur, the "master project", and it should never be out of date. Doing
things this way it is impossible to have a change in the package
present in Mentors that isn't also in Salsa.

Admittedly it makes a lot of sense for already uploaded packages, but
maybe not that much for ones needing a sponsor.

In any case, thanks for the suggestion. Maybe I'll put it in practice
for the next package :)

Bastian Germann

unread,
Dec 26, 2022, 12:20:03 PM12/26/22
to
Control: tags -1 pending

I have just uploaded this to NEW.
0 new messages