#801727 pugixml: Please package pugixml variant with wchar enabled

#801727#5
Date:
2015-10-13 22:30:15 UTC
From:
To:
The passwordsafe package uses pugixml, but requires wchar to be enabled.  If a
wchar enabled version (see pugiconfig.hpp) was included along side the current
version, I could remove the embedded copy of pugixml from passwordsafe and
depend on the packaged version instead.

#801727#10
Date:
2017-07-11 15:10:53 UTC
From:
To:
Hey William,

Very very sorry about such a delayed response.

William Blough <devel@blough.us> writes:

Is it OK to enable this in default version itself instead of creating
one more version?. Will it create any problems?.

Best Regards,

#801727#15
Date:
2017-07-12 02:00:37 UTC
From:
To:
No worries.

It would be fine for my use case, but I don't know how it would affect
other users.  I'm thinking it would probably be fine, as a nonwide char
should fit in a wide char.  But I don't really work with wide charsets
that much, so my intuition may be wrong.

#801727#20
Date:
2018-07-30 10:39:15 UTC
From:
To:
Hello,

isn't this an ABI breaking change?
please check if reverse-dependencies still work with the same ABI versioning and wchar enabled, and provide a patch to make a proper transition.

I can help there, but I lack the time to do proper checks.

this should be the list of actual reverse dependencies.

* darktable
* filezilla
* ismrmrd
* libkiwix
* libsavitar
* mkvtoolnix
* orthanc
* orthanc-dicomweb
* vdr-plugin-satip

thanks!

if you confirm that the ABI is still the same, then I'll fix this old bug, otherwise I'll request a transition slot
and fix it in experimental! :)

G.

#801727#25
Date:
2018-07-31 00:58:38 UTC
From:
To:
I'm not sure.  This is why I suggested a separate version which could be
marked as conflicting with the existing verison.  This would at least guarantee
that existing reverse dependencies wouldn't break.  I realize now that this
probably isn't a simple as it sounds.

If it's an ABI change, that can be handled, but I'm worried about
non-ABI-related behavior changes breaking existing packages.  I can try
to test for some of those issues, but as I'm not familiar with any of the
reverse dependencies, I'm concerned I may miss edge cases.

That said, I'll look into it and see what I can figure out.

Thanks,

Bill

#801727#30
Date:
2018-07-31 08:39:07 UTC
From:
To:
Hello,


we can separate the library in two binaries, as you suggested, and let current
packages choose their best flavour (so, no transition would be needed).

I did add "-DBUILD_DEFINES=PUGIXML_WCHAR_MODE" and the resulting library was using wchar,
so the change to enabled it is trivial.

Unfortunately I don't really speak cdbs, so I don't really know what to change to enable
double builds, but since the package is on salsa.debian.org/debian namespace,
everybody is free to commit and push in unstable, (Jonas even asked me on irc
to co-maintain the package), so as long as you push in experimental,
and check reverse-dependencies, I don't see troubles in fixing this bug!

thanks in advance for caring!

Gianfranco

#801727#37
Date:
2018-10-25 03:14:23 UTC
From:
To:
block 801727 by 911805
thanks

I looked at this a little back when we discussed it, but it looked like
it was going to take more time than I had right then, so I put it off.

I recently had time to dig into this properly, but have hit a snag.

After several hours of testing and tweaking, and reading cdbs files,
it appears that the multiple builds work under autotools, but not under
cmake.

I've opened  #911805 against cdbs requesting that this functionality be
added for cmake.  I think that rabbit hole is a little too deep for me
to go down myself right now.

#801727#44
Date:
2022-02-23 20:42:43 UTC
From:
To:
Hello William

I added a new branch on git, called experimental (git commit id: 223968b499ad5e1acdc7daf336c7e662d23a12f2), can you please have a look, build, upload if you like it? The package is on salsa, so
we can just upload if we want.

What I'm worried is that installing libpugixml1v5-wchar will force removal of libpugixml1v5 and all the reverse-dependencies using it
(e.g. poedit)

I don't know if this is what we want, but I let you choose, check/test build it and decide!

Gianfranco