I am trying to package signal-rs for Arch Linux's AUR: see https://aur.archlinux.org/packages/signal-rs-git/ Unfortunately, when unpatched, it doesn't build because of errors of this type:
/home/build/.cache/yay/signal-rs-git/src/signal-rs/target/release/build/gettext-sys-5b8fe14614e5f474/out/gettext/gettext-tools/gnulib-lib/libcroco/cr-statement.c: In function 'cr_statement_dump_media_rule': /home/build/.cache/yay/signal-rs-git/src/signal-rs/target/release/build/gettext-sys-5b8fe14614e5f474/out/gettext/gettext-tools/gnulib-lib/libcroco/cr-statement.c:2714:17: error: format not a string literal and no format arguments [-Werror=format-security] 2714 | fprintf (a_fp, str) ; | ^~~~~~~ /home/build/.cache/yay/signal-rs-git/src/signal-rs/target/release/build/gettext-sys-5b8fe14614e5f474/out/gettext/gettext-tools/gnulib-lib/libcroco/cr-statement.c: In function 'cr_statement_dump_import_rule': /home/build/.cache/yay/signal-rs-git/src/signal-rs/target/release/build/gettext-sys-5b8fe14614e5f474/out/gettext/gettext-tools/gnulib-lib/libcroco/cr-statement.c:2740:17: error: format not a string literal and no format arguments [-Werror=format-security] 2740 | fprintf (a_fp, str) ;
Arch Linux's makepkg utility uses
-Werror=format-security in its
CFLAGS, which prevents libcroco, which is bundled with gettext-sys (of
which signal-rs pulls v0.19.9), from building. See https://savannah.gnu.org/bugs/?55356
Would it be possible to bump the version of gettext-sys to >=0.20.2 to prevent this?
I added a patch in the AUR build which enables the
gettext-system feature of
gettext-rs, which allows it to rely on the locally installed version of the library instead of building it. It seems to work properly.
Thanks a lot for your work - it's good to see a native Signal client at last. Have you by any chance had a look at Whisperfish?
First of all, thanks for packaging signal-rs - always a good thing to have. I updated
gettext-rsto v0.7.0 on the latest master, which depends on
gettext-sysv0.21.2, so that should work for your purposes. I've seen whisperfish - I might try to help out with some of the Kirigami stuff there, since they're using a pretty similar set of frameworks/libraries. gferon has been very helpful with some feedback about presage, too. Feel free to let me know if there's anything else I can do to make packaging signal-rs any simpler.