Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-languages support #3

Closed
LeandroStanger opened this issue Apr 1, 2018 · 40 comments
Closed

Multi-languages support #3

LeandroStanger opened this issue Apr 1, 2018 · 40 comments

Comments

@LeandroStanger
Copy link

@LeandroStanger LeandroStanger commented Apr 1, 2018

Lingua PT-BR does not work

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Apr 1, 2018

Off hand I don't know how to tackle this issue, I imagine Thunderbird might have to be compiled with multiple locales?

@LeandroStanger
Copy link
Author

@LeandroStanger LeandroStanger commented Apr 3, 2018

@ramcq could help

@ramcq
Copy link

@ramcq ramcq commented Apr 3, 2018

You need to fetch language packs (.xpi files) from https://download-origin.cdn.mozilla.net/pub/thunderbird during the build and include them with the Flatpak. Take a look at how Debian does it - http://http.debian.net/debian/pool/main/t/thunderbird/thunderbird_52.7.0-1.debian.tar.xz

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Apr 3, 2018

So are we just going to grab every language pack at build time?

@ramcq
Copy link

@ramcq ramcq commented Apr 3, 2018

Right, at build time. That will mean you have all the files included in your Flatpak which will make it much larger, but you can fix this with a Locale extension. What you do is split the translations up again into subdirectories of /app/share/runtime/locale/. Then you symlink back from wherever your app expects them to these path, then this folder will form your .Locale extension, and will be installed with just the languages are selected by the user / system / configuration of flatpak.

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Apr 3, 2018

How would I even begin to do this?

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Apr 3, 2018

Wouldn't it just be more efficient for people to install the language pack extension they need from the add-on store and not add complexity/size to the flatpak?

@nedrichards
Copy link
Member

@nedrichards nedrichards commented Apr 4, 2018

It would be simpler for the flatpak author, but much less simple for the user. But overall, I don't expect it would actually be that hard to put a few shell commands into a post-install script on the thunderbird build.

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Apr 12, 2018

I don't expect it would actually be that hard to put a few shell commands into a post-install script on the thunderbird build.

Don't know if I was looking at the right thing, but it seems to do this for Thunderbird and lightning is over 600 lines of shell-script, and far from "simple". The files I'm looking at are:

  • create-lightning-l10n-tarball.sh 276 lines (not strictly LOC)
  • create-thunderbird-l10n-tarball.sh 328 lines (not strictly LOC)
@ovari
Copy link
Contributor

@ovari ovari commented Apr 27, 2018

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Apr 29, 2018

@ovari So, if I understand correctly, that script does some symlink locale magic, and then fetches some language packs for libreoffice?

@ovari
Copy link
Contributor

@ovari ovari commented Apr 29, 2018

Looked like LibreOffice solved your situation. Not sure how exactly it works. Perhaps someone else can give better advise?

@ovari
Copy link
Contributor

@ovari ovari commented May 2, 2018

@ovari
Copy link
Contributor

@ovari ovari commented May 2, 2018

Firefox Nightly Has No Locale
xhorak/firefox-devedition-flatpak#65

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented May 2, 2018

It probably does have a locale, BUT, you don't have the locale extension(s) that Firefox/Thunderbird has avilable.

@LeandroStanger
Copy link
Author

@LeandroStanger LeandroStanger commented Jun 25, 2018

How is the progress of the correction?

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jun 25, 2018

I had forgotten about it, I'll post to the Thunderbird development mailing-list for help on this issue.

@LeandroStanger
Copy link
Author

@LeandroStanger LeandroStanger commented Jun 26, 2018

@AdrianKoshka https://github.com/endlessm/firefox-flatpak/blob/master/org.mozilla.Firefox.json.in

{
  "app-id": "org.mozilla.Firefox",
  "runtime": "com.endlessm.Platform",
  "runtime-version": "@BRANCH@",
  "sdk": "com.endlessm.Sdk",
  "command": "firefox",
  "separate-locales": false,
  "finish-args": [
    "--share=ipc",
    "--socket=wayland",
    "--socket=x11",
    "--socket=pulseaudio",
    "--share=network",
    "--filesystem=home",
    "--filesystem=/var/lib/codecs:ro",
    "--env=LD_LIBRARY_PATH=/var/lib/codecs:/app/lib",
    "--talk-name=org.gnome.GConf",
    "--extra-data=firefox.tar.bz2:11db6568646454100fdff9bf03a906af09f4fb1aaf755064bfc093e88a4aee3b:57694140::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/en-US/firefox-52.6.0esr.tar.bz2",
    "--extra-data=ach.xpi:4b197c239630ba52f6fd7a3f4194d22c36f5f8cadca2d6bba282425bfff25f04:427641::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ach.xpi",
    "--extra-data=af.xpi:c47f219a45b378bd52865f2370a0088645a9c585893c16ec98823b2a42628539:436823::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/af.xpi",
    "--extra-data=an.xpi:04c9e0c44264203177c9551ea4bd86175968d8333c5d9632bf094d791eb526f7:445142::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/an.xpi",
    "--extra-data=ar.xpi:2e7743c7b53a54c3ff2e4abe0e8547137793d18689e67f81574253362e33450d:473382::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ar.xpi",
    "--extra-data=as.xpi:744f3f938434fe6634f7e0002fed1663a506741232e9ed35a7252e59b5155d71:486888::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/as.xpi",
    "--extra-data=ast.xpi:abc3c18ad1fec3d83ade6a9212648e0e0dcc372c1da91063c615bdb51d6f50fb:440034::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ast.xpi",
    "--extra-data=az.xpi:ffd71f93a691a4840d276175cfe7e7236511b88ed214cd9a3c8e977d5e37c18b:454922::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/az.xpi",
    "--extra-data=bg.xpi:1ea1d1cc23e9a0c17e37ee5684d0b3f924fa3932648ae00f09484ed170bed9d3:487892::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/bg.xpi",
    "--extra-data=bn-BD.xpi:332233b2e423458d991e3c92986bec697a0ead26e2f21ca8d02060caa3d6cf02:511994::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/bn-BD.xpi",
    "--extra-data=bn-IN.xpi:3ca382fd2b4790e1be13b2dfd230551464233233a34a6ecdbf72a372a9c52182:509375::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/bn-IN.xpi",
    "--extra-data=br.xpi:7d995cd94773a6d2f245d8286646c727bce18e321eabd055d7ed83abb31fceda:435485::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/br.xpi",
    "--extra-data=bs.xpi:7bbda66eb47460160c9737783d568509563674f58f4454826878e3238af2d816:441782::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/bs.xpi",
    "--extra-data=ca.xpi:95d1332ea89c16cf3c81c1aad628b2a55d67ee02e243b1468d8d1c1cb6b8dc68:443304::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ca.xpi",
    "--extra-data=cak.xpi:cf9503cbb4f324e71e3b262da99490b3474e864dfe9fcd1c469dcdf86baded1e:459184::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/cak.xpi",
    "--extra-data=cs.xpi:be60abee346577ee59594b99c0eaa51f7667a53c16909bd0eb719c7e9656697a:444075::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/cs.xpi",
    "--extra-data=cy.xpi:5e0cf99bd8ac3004b14a24d64d759a22b521cd6bc8a5fdebdc659c0144f8c2a1:436582::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/cy.xpi",
    "--extra-data=da.xpi:f1702f7ac73c00287dafd258cf124bcfa4eee50078ed5b46d58f7f49391cbbe4:424394::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/da.xpi",
    "--extra-data=de.xpi:97a7ca971843fe36a4b89814be7b0d57473d991f49d6ab3305778c193ad86318:442478::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/de.xpi",
    "--extra-data=dsb.xpi:959fab516d9ec3741de776499ea9e43680abca3937ec9d60c7d89b4799ce9962:459425::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/dsb.xpi",
    "--extra-data=el.xpi:c0c1ff736897969a742aa66d37364b13dbbcf2aa6ed5e025c60c782490da620d:516592::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/el.xpi",
    "--extra-data=en-GB.xpi:e76bb6e58169bc314973e9a187ef855e04bce17188deef105d7296854af58e67:419324::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/en-GB.xpi",
    "--extra-data=en-US.xpi:88cbf2ceb7930777a23fc6c438a2e784e9be11e4adf1d81f620ea71d91e3051f:428655::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/en-US.xpi",
    "--extra-data=en-ZA.xpi:9a7e227b3baa8ec5eff633a54712cdf4d7bb54035e36eb62bcdf3248ff35ec45:412212::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/en-ZA.xpi",
    "--extra-data=eo.xpi:7b76939860c3645eae536cc0bc53b328db37eac2158baf73e0c88b9c8930fd29:437474::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/eo.xpi",
    "--extra-data=es-AR.xpi:15b0eaf0fecc503992d8f6bd6458c69250a23515d6ba3986d02cb96518f24f5c:445926::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/es-AR.xpi",
    "--extra-data=es-CL.xpi:87b9a1c5bdd5efa062c49fa540cd694840d44f984c2fac399280a45e3c5f7a92:445677::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/es-CL.xpi",
    "--extra-data=es-ES.xpi:d585192fbf6146ff80dbee811234e7881544dd4364439e212391a8430a2baeac:344876::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/es-ES.xpi",
    "--extra-data=es-MX.xpi:8d14a19a37f28aebf5d4f85a65eaece5ccb7405d9cdfd44f5b7ee787bab73fad:448385::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/es-MX.xpi",
    "--extra-data=et.xpi:9beb6c763c1ecd2c072849aa7ee19df5b6f82bbd8d262ca40c3335501a7ffece:425112::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/et.xpi",
    "--extra-data=eu.xpi:4c3fea04a79ea11b3702567631725de0ae4157e1783992761910fc78bfd8499b:438479::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/eu.xpi",
    "--extra-data=fa.xpi:30a5b0794571a1eb3097e6e7cbfc886091b3567f85fb81901ed3e81ac8b9a212:491344::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/fa.xpi",
    "--extra-data=ff.xpi:1051d4e16b4331942c400dfeb2bbf1f6cbd88a37decffc989ea5f433dd1a94b2:440928::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ff.xpi",
    "--extra-data=fi.xpi:e85c1c0da3e03931d7a252bd66e49cf55572cd8781b917d371d856270520acfe:430060::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/fi.xpi",
    "--extra-data=fr.xpi:58250967343dd14fd49c74e99022e7b6133c1eb19d48f279a0445a6832251715:450210::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/fr.xpi",
    "--extra-data=fy-NL.xpi:9fd6f46d915ba369a23aa0ee9a0a722ed91f7251a2a8196e59ea0e54ba0816cb:444970::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/fy-NL.xpi",
    "--extra-data=ga-IE.xpi:b465394bd6ce36f4d0a3d98530e14cdf1b86eba49244fe9f48e7afb7814342b0:458165::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ga-IE.xpi",
    "--extra-data=gd.xpi:f42dfac5b086d9b64900b03e0d15c477fbb35bc9c488d0193038d87ee9e1be2f:447268::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/gd.xpi",
    "--extra-data=gl.xpi:f3a197431b39db28365047d96edbb366849adb777443a8578e40d2df4a4faf7c:447294::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/gl.xpi",
    "--extra-data=gn.xpi:6f4408ce7e57db41f226fb9eaf7a41e7a7a09b45fcd65746832085372ec9a0bb:456214::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/gn.xpi",
    "--extra-data=gu-IN.xpi:bb7d1179a7ba99fd8d4359eb4496aab521682d1fa72e1c21d43fdda3f81052f0:489366::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/gu-IN.xpi",
    "--extra-data=he.xpi:d62d4331af922f3990201e0bf35b3e17ed738b03ade6271a579a29ed067b7f9b:455282::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/he.xpi",
    "--extra-data=hi-IN.xpi:52b1973c2bd549afc9df7dd8041a3ae2688c583c16b325f821fdf982592a89b5:506519::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/hi-IN.xpi",
    "--extra-data=hr.xpi:6ca91246b8da69db232cf2f5db62f8d7a56c5d77cf6db07558bf20f6d0d839f3:447503::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/hr.xpi",
    "--extra-data=hsb.xpi:8d3aea75969b1cf5c96846c5187c6d28a01e85998c016f931f9ea7f7a8791b74:457259::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/hsb.xpi",
    "--extra-data=hu.xpi:5c7899bd5d61779c8c3aa1b333daa92b444e5c9b0ad9cf752d12f054dad4526a:451496::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/hu.xpi",
    "--extra-data=hy-AM.xpi:f8ae9ed41cd18da29e9f292bbc16ffff3897b39695aa7fd358f8eed675209648:495773::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/hy-AM.xpi",
    "--extra-data=id.xpi:965bd28a58985669bfa0756ba06ee4060eb02cbdc22fde7fec081c3804f38b05:426023::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/id.xpi",
    "--extra-data=is.xpi:0bf1d078bf48bac49727840b4de7a112005d0899bef44eff12ac8586be320a94:442693::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/is.xpi",
    "--extra-data=it.xpi:c1be99d0c382785ec09da2e95eab81efc6ad66fbb73985b4b00b97a41a039ac6:339221::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/it.xpi",
    "--extra-data=ja.xpi:30bde34762cad39c8904bc408deaba1acf1bc55274d366960fe0f91e110270da:488343::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ja.xpi",
    "--extra-data=ka.xpi:9887d3f5650fd28ee8dfa010d9937e714dd587d60e11e66ba8c3d439d30295d7:475375::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ka.xpi",
    "--extra-data=kab.xpi:ffad5781f6d4ed8426ffaa400996ff9dd16b9a7e2eb7ff67e282d14e0777d98c:444520::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/kab.xpi",
    "--extra-data=kk.xpi:366359b30331e4c90528e3fea85ce315b06fbd053a2ddb1ad7a19bfb3afe8e29:496940::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/kk.xpi",
    "--extra-data=km.xpi:7ac59476de19454258da359c069a6b45377acdab0d3bf0302c4c62c5f657550f:520344::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/km.xpi",
    "--extra-data=kn.xpi:abef2c1bdde6110552f170984e5e9fda0901f11be53df9a8ac349b1d83788d16:519456::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/kn.xpi",
    "--extra-data=ko.xpi:209db638f9c51a1e0c19d71dd0eec6b11381220bc90ff34a565a91737f44b8c8:463630::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ko.xpi",
    "--extra-data=lij.xpi:f4a947eeff18c03ea3dbe64e567d1f7b02e58876ffa4374b6493e1ab966c34cd:421071::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/lij.xpi",
    "--extra-data=lt.xpi:c4106fa79e4dab2434c97ebabe6ae0172fc60c1cfba606ac6edbbcc3ce6e0053:452235::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/lt.xpi",
    "--extra-data=lv.xpi:f39b922d09317d4b9f40d4b40278c6c6e80d8f960b24ad1841f54f94591571ad:448450::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/lv.xpi",
    "--extra-data=mai.xpi:03ec8758d245bbc0bda331811b086a6999c53499e54aa64d3f5055a3fcb0712e:499840::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/mai.xpi",
    "--extra-data=mk.xpi:7bb59f04f8da5a4745621f37e135ab756c58324d7dd524ca91079623e47b5fb0:496200::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/mk.xpi",
    "--extra-data=ml.xpi:2144f34cb7c299a98ea267cde9fe13c737b43b40ec46a8b70fb5defbd21f2b7d:516486::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ml.xpi",
    "--extra-data=mr.xpi:6fe9044ea2e3aa88f05d0e030d13fa3c44b60ab39a87debd7c38707781ca5ef8:502431::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/mr.xpi",
    "--extra-data=ms.xpi:1d5b8f9552c1684711f3357e78ab72b68c2eb31a1ac1dfebf774070bc558d8d3:435990::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ms.xpi",
    "--extra-data=nb-NO.xpi:89c33632569d2d734ce64b00544191cafa58bcb55ee56bbbebe0397c57327fe8:434412::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/nb-NO.xpi",
    "--extra-data=nl.xpi:a3339ba542ada3a66ed74102da9eb13a66e44796da45074ecfc5f32a3022a1b6:432007::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/nl.xpi",
    "--extra-data=nn-NO.xpi:ae945997bb4f857b0cd9c50c8c1385e4bf81ea24774410a3105f66f739645e39:428645::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/nn-NO.xpi",
    "--extra-data=or.xpi:cbc71a0c082527c7647fee6b01ea8555979b34f2efdc633191e7d65904b35ff4:496917::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/or.xpi",
    "--extra-data=pa-IN.xpi:33e3ee4bb8146393dd4e6c9ba9bf7cb5825fc0b1ff9d6f822f06ced67b12a628:476587::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/pa-IN.xpi",
    "--extra-data=pl.xpi:16c0ee37dd711be47d1b76875abb4badc0438f66bd42e869aa2d587e0658c16b:352851::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/pl.xpi",
    "--extra-data=pt-BR.xpi:29f12ef8f136a9fc96dd72e1a7bd242bd31e347b88a3fa911d87fafb075e1e1c:438170::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/pt-BR.xpi",
    "--extra-data=pt-PT.xpi:1705dc2f12bb4613fc738d30cff94f2f15273e6e3cc6e724fec7829cb2327c5b:436727::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/pt-PT.xpi",
    "--extra-data=rm.xpi:c42625fcd5e8d6f47900616e12fbc1b991c38c4060e9e1f13b753d9fff74b64e:434607::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/rm.xpi",
    "--extra-data=ro.xpi:f66a8fba38952c3e7a4dccdda906499efa46df92aa7146f86d9968b49925ad90:449938::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ro.xpi",
    "--extra-data=ru.xpi:0026b03bbd836dbd23bb75351cc74bcd0edea116e850c4302386b90dfc802197:395364::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ru.xpi",
    "--extra-data=si.xpi:b4e1cf744a220190e3e268f48b1b7a9603f56c8e2892db33cc397a711f54bb28:491959::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/si.xpi",
    "--extra-data=sk.xpi:cf78b00ca0abed55f0bf3c449a819efceb8bee5a6398b89a5024de00b7c39ec4:455820::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/sk.xpi",
    "--extra-data=sl.xpi:35a00a45480bbc29c1b27ab0435f64bf10cbfa0160d6485f3577d17eafff00d0:433482::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/sl.xpi",
    "--extra-data=son.xpi:a028353312de00c9676f8c493981c3b20fb707d299391365aa4c0fc2623ec4d6:435128::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/son.xpi",
    "--extra-data=sq.xpi:da221e666be72cbee464d7dd042a5d4661e6cd8b97f55fbe3274f9f9fc9f9f6f:448156::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/sq.xpi",
    "--extra-data=sr.xpi:677eba676cd087a741a353deca7484990f982c937a1e55718980b6ed9c5b8273:463394::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/sr.xpi",
    "--extra-data=sv-SE.xpi:aa89af6de04695ab40e002b60944f813c44f47dc042e2262de453f3b1380398e:441177::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/sv-SE.xpi",
    "--extra-data=ta.xpi:f31ad59ed0f933cbc35732905f10dcb922200580f265f6f468b815910e0994d3:494799::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/ta.xpi",
    "--extra-data=te.xpi:8c1f270e4bb4faa9612cb0e2b406f8d5e83b7948ac75a4a46d8149836894523a:515241::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/te.xpi",
    "--extra-data=th.xpi:5e9699ad7413491a2f3b507d762ffb2c214340495b6bab3783b10e929f344d0b:489379::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/th.xpi",
    "--extra-data=tr.xpi:217168858a187a6b16b4bbcd5028c88fc4d5ae00c8690b3aa45ff9756e9d6835:443674::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/tr.xpi",
    "--extra-data=uk.xpi:34940a1df6f3318dfa1be037f1bdb9a554b8cfabdb02a04b40af3abaed26af41:495095::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/uk.xpi",
    "--extra-data=uz.xpi:e0ff4b93fbbd4aaf47f3c4a39655227d1b23c5b30ec5efec4257aff129bb7534:447916::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/uz.xpi",
    "--extra-data=vi.xpi:f82062e7de4cb915e5d448d068a7a226adc8edceb7741c152ec47db646e512e8:450805::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/vi.xpi",
    "--extra-data=xh.xpi:bcf356354dff181d2e099dd5b79179214db631877e116cb9f873ccef26cb4ee3:441172::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/xh.xpi",
    "--extra-data=zh-CN.xpi:5161d73cbac04ae00f167a975b21abaf1f8d27063ef4e3d11fdf7311c09fdcc6:461678::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/zh-CN.xpi",
    "--extra-data=zh-TW.xpi:63ea5dee6df00d76b4dc8f162cbffcf26b632bfb5cec8d43543e815ba864d141:470063::https://archive.mozilla.org/pub/firefox/releases/52.6.0esr/linux-x86_64/xpi/zh-TW.xpi"
  ],
  "modules": [
    {
      "name": "unzip",
      "no-autogen": true,
      "sources": [
        {
          "type": "file",
          "url": "http://ftp.us.debian.org/debian/pool/main/u/unzip/unzip_6.0-16+deb8u3_amd64.deb",
          "sha256": "1ccc48a0a5d9a5fd655f7d319ca788f4de6cc65a7d33b525f2c5010a2fe9e224",
          "dest-filename": "unzip.deb"
        },
        {
          "type": "file",
          "path": "binarydeb-Makefile",
          "dest-filename": "Makefile"
        }
      ]
    },
    {
      "name": "xmlstarlet",
      "no-autogen": true,
      "sources": [
        {
          "type": "file",
          "url": "http://ftp.de.debian.org/debian/pool/main/x/xmlstarlet/xmlstarlet_1.6.1-1_amd64.deb",
          "sha256": "754dc23a4836f156e111c3c7414f5438be653a6261745ef88bca5a4f5b53f133",
          "dest-filename": "xmlstarlet.deb"
        },
        {
          "type": "file",
          "path": "binarydeb-Makefile",
          "dest-filename": "Makefile"
        }
      ]
    },
    {
      "name": "firefox",
      "no-autogen": true,
      "sources": [
        {
          "type": "file",
          "path": "apply_extra"
        },
        {
          "type": "file",
          "path": "firefox.sh"
        },
        {
          "type": "file",
          "path": "org.mozilla.Firefox.desktop"
        },
        {
          "type": "file",
          "path": "org.mozilla.Firefox.appdata.xml"
        },
        {
          "type": "file",
          "url": "https://github.com/endlessm/eos-shell-content/raw/master/icons/bundle/64x64/apps/eos-app-org.mozilla.Firefox.png",
          "sha256": "e4763960556cd5f54366fdc39c92079850975a89683f0335dfb166376dba92a2"
        },
        {
          "type": "file",
          "path": "endless-default-prefs.js"
        },
        {
          "type": "file",
          "path": "firefox-plugins-installer"
        },
        {
          "type": "file",
          "path": "firefox-Makefile",
          "dest-filename": "Makefile"
        }
      ]
    }
  ]
}
@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jun 26, 2018

So, if I understand what you're showing me, I should just add the .xpi locales for Thunderbird as an extra data in the manifest?

@LeandroStanger
Copy link
Author

@LeandroStanger LeandroStanger commented Jun 26, 2018

Yes

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jun 26, 2018

cd51af6 should fix this issue, hopefully.

@nedrichards
Copy link
Member

@nedrichards nedrichards commented Jun 26, 2018

That won't quite do it. You also need the apply_extra script which runs on the extra data:

https://github.com/endlessm/firefox-flatpak/blob/master/apply_extra

to install those extensions (you probably don't want the preferences override that is used elsewhere)

Also, I'd strongly suggest moving to the more modern extra-data format as seen in apps like Spotify, it's much more readable and easy to update.

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jun 26, 2018

Thanks, will look into and do, that is much easier to work with.

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jun 27, 2018

So would a script like this work?

THUNDERBIRD_DIR=$(pwd)/thunderbird

EXTENSIONS_DIR=${Thunderbird_DIR}/distribution/extensions
mkdir -p ${EXTENSIONS_DIR}
for addon in $(ls *.xpi); do
    mv "${addon}" "${EXTENSIONS_DIR}/$(get_extension_id ${addon}).xpi"
done

# Override preferences
PREFERENCES_DIR=${THUNDERBIRD_DIR}/browser/defaults/preferences
mkdir -p ${PREFERENCES_DIR}
ln -s /app/cache/mozilla/endless-default-prefs.js ${PREFERENCES_DIR}
@nedrichards
Copy link
Member

@nedrichards nedrichards commented Jun 27, 2018

I'd remove the 'override preferences' part - because that's not something you want. And you need something like:

# Retrieve the extension id for an addon from its install.rdf
# This function is taken from http://kb.mozillazine.org/Determine_extension_ID
get_extension_id() {
  unzip -qc $1 install.rdf | xmlstarlet sel \
    -N rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# \
    -N em=http://www.mozilla.org/2004/em-rdf# \
    -t -v \
    "//rdf:Description[@about='urn:mozilla:install-manifest']/@em:id"
}

as well. I'll ping @ramcq here as well because he's looked at this before.

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jun 27, 2018

So something like:

# Retrieve the extension id for an addon from its install.rdf
# This function is taken from http://kb.mozillazine.org/Determine_extension_ID
get_extension_id() {
  unzip -qc $1 install.rdf | xmlstarlet sel \
    -N rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# \
    -N em=http://www.mozilla.org/2004/em-rdf# \
    -t -v \
    "//rdf:Description[@about='urn:mozilla:install-manifest']/@em:id"
}

THUNDERBIRD_DIR=$(pwd)/thunderbird

EXTENSIONS_DIR=${Thunderbird_DIR}/distribution/extensions
mkdir -p ${EXTENSIONS_DIR}
for addon in $(ls *.xpi); do
    mv "${addon}" "${EXTENSIONS_DIR}/$(get_extension_id ${addon}).xpi"
done
@Pike
Copy link

@Pike Pike commented Jul 9, 2018

I'd suggest to dig into how we build snaps for Firefox, https://dxr.mozilla.org/mozilla-central/source/taskcluster/docker/firefox-snap.

flatpack for Firefox seems to be work-in-progress, though: https://bugzilla.mozilla.org/show_bug.cgi?id=1278719

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jul 9, 2018

Didn't really see anything useful there, can't exactly figure out how I'm supposed to apply this fix for xml2-config that I was pointed towards.

https://github.com/flathub/org.jamovi.jamovi/blob/5fddadce77adb54accd286a59ebb408a9cca5248/org.jamovi.jamovi.json#L277-L298

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jul 18, 2018

Well, I've sorta found a fix (Just using config-opts to tell xmlstarlet where to look for libxml). Though xmlstarletalso needs libxlst. However, when I try to compile libxlst, this is the result:

========================================================================
Building module libxlst in /home/alc/git/github/flathub/org.mozilla.Thunderbird/.flatpak-builder/build/libxlst-3
========================================================================
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking whether make supports nested variables... (cached) yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... gcc -E
checking for xmllint... /app/bin/xmllint
checking for xsltproc... /usr/bin/xsltproc
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ANSI C header files... (cached) yes
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/x86_64-unknown-linux/bin/ld
checking if the linker (/usr/x86_64-unknown-linux/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-unknown-linux/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/x86_64-unknown-linux/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for sys/types.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for string.h... (cached) yes
checking how to pass version script to the linker (/usr/x86_64-unknown-linux/bin/ld -m elf_x86_64)... -Wl,--version-script=
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_join in -lpthread... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking xlocale.h usability... yes
checking xlocale.h presence... yes
checking for xlocale.h... yes
checking for strxfrm_l... yes
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking nan.h usability... no
checking nan.h presence... no
checking for nan.h... no
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking fp_class.h usability... no
checking fp_class.h presence... no
checking for fp_class.h... no
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking ansidecl.h usability... no
checking ansidecl.h presence... no
checking for ansidecl.h... no
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for sys/stat.h... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking for stat... yes
checking for _stat... no
checking for pow... no
checking for pow in -lm... yes
checking for floor... no
checking for floor in -lm... yes
checking for fabs... no
checking for fabs in -lm... yes
checking for gettimeofday... yes
checking for localtime... yes
checking for localtime_r... yes
checking for time... yes
checking for gmtime... yes
checking for gmtime_r... yes
checking for ftime... yes
checking for printf... yes
checking for sprintf... yes
checking for fprintf... yes
checking for snprintf... yes
checking for vfprintf... yes
checking for vsprintf... yes
checking for vsnprintf... yes
checking for sscanf... yes
checking for clock_gettime... yes
checking for perl... perl
Found python in /bin/python
PYTHON is pointing at /bin/python
Found Python version 2.7
Warning: Missing libxml2-python
checking for libgcrypt-config... /usr/bin/libgcrypt-config
ERROR: /usr/bin/libgcrypt-config should not be used, use an alternative such as pkg-config
gcrypt library version < 1.1.42 - Crypto extensions will not be available.
Enabling debugger
checking for xml2-config... /app/bin/xml2-config
checking for LIBXML... yes
checking whether shared libraries will be built (required for plugins)... yes
checking libxml2 module support... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libxslt.pc
config.status: creating libexslt.pc
config.status: creating libxslt/Makefile
config.status: creating libxslt/xsltconfig.h
config.status: creating libxslt/xsltwin32config.h
config.status: creating libexslt/Makefile
config.status: creating libexslt/exsltconfig.h
config.status: creating xsltproc/Makefile
config.status: creating python/Makefile
config.status: creating python/tests/Makefile
config.status: creating tests/Makefile
config.status: creating tests/docs/Makefile
config.status: creating tests/REC1/Makefile
config.status: creating tests/REC2/Makefile
config.status: creating tests/REC/Makefile
config.status: creating tests/general/Makefile
config.status: creating tests/reports/Makefile
config.status: creating tests/extensions/Makefile
config.status: creating tests/namespaces/Makefile
config.status: creating tests/keys/Makefile
config.status: creating tests/numbers/Makefile
config.status: creating tests/documents/Makefile
config.status: creating tests/xmlspec/Makefile
config.status: creating tests/multiple/Makefile
config.status: creating tests/xinclude/Makefile
config.status: creating tests/XSLTMark/Makefile
config.status: creating tests/docbook/Makefile
config.status: creating tests/exslt/Makefile
config.status: creating tests/exslt/common/Makefile
config.status: creating tests/exslt/functions/Makefile
config.status: creating tests/exslt/math/Makefile
config.status: creating tests/exslt/saxon/Makefile
config.status: creating tests/exslt/sets/Makefile
config.status: creating tests/exslt/strings/Makefile
config.status: creating tests/exslt/date/Makefile
config.status: creating tests/exslt/dynamic/Makefile
config.status: creating tests/exslt/crypto/Makefile
config.status: creating tests/plugins/Makefile
config.status: creating doc/Makefile
config.status: creating xslt-config
config.status: creating libxslt.spec
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
make  all-recursive
make[1]: Entering directory '/run/build/libxlst'
Making all in libxslt
make[2]: Entering directory '/run/build/libxlst/libxslt'
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT attrvt.lo -MD -MP -MF .deps/attrvt.Tpo -c -o attrvt.lo attrvt.c
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xslt.lo -MD -MP -MF .deps/xslt.Tpo -c -o xslt.lo xslt.c
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xsltlocale.lo -MD -MP -MF .deps/xsltlocale.Tpo -c -o xsltlocale.lo xsltlocale.c
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xsltutils.lo -MD -MP -MF .deps/xsltutils.Tpo -c -o xsltutils.lo xsltutils.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xslt.lo -MD -MP -MF .deps/xslt.Tpo -c xslt.c  -fPIC -DPIC -o .libs/xslt.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT attrvt.lo -MD -MP -MF .deps/attrvt.Tpo -c attrvt.c  -fPIC -DPIC -o .libs/attrvt.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xsltlocale.lo -MD -MP -MF .deps/xsltlocale.Tpo -c xsltlocale.c  -fPIC -DPIC -o .libs/xsltlocale.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xsltutils.lo -MD -MP -MF .deps/xsltutils.Tpo -c xsltutils.c  -fPIC -DPIC -o .libs/xsltutils.o
xsltutils.c:526:40: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
 xmlGenericErrorFunc xsltGenericError = xsltGenericErrorDefaultFunc;
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
xsltutils.c: In function ‘xsltSetGenericErrorFunc’:
xsltutils.c:549:19: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
  xsltGenericError = xsltGenericErrorDefaultFunc;
                   ^
xsltutils.c: At top level:
xsltutils.c:572:40: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
 xmlGenericErrorFunc xsltGenericDebug = xsltGenericDebugDefaultFunc;
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
xsltutils.c: In function ‘xsltSetGenericDebugFunc’:
xsltutils.c:595:19: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
  xsltGenericDebug = xsltGenericDebugDefaultFunc;
                   ^
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xsltlocale.lo -MD -MP -MF .deps/xsltlocale.Tpo -c xsltlocale.c -o xsltlocale.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT attrvt.lo -MD -MP -MF .deps/attrvt.Tpo -c attrvt.c -o attrvt.o >/dev/null 2>&1
mv -f .deps/xsltlocale.Tpo .deps/xsltlocale.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT pattern.lo -MD -MP -MF .deps/pattern.Tpo -c -o pattern.lo pattern.c
mv -f .deps/attrvt.Tpo .deps/attrvt.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT templates.lo -MD -MP -MF .deps/templates.Tpo -c -o templates.lo templates.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT pattern.lo -MD -MP -MF .deps/pattern.Tpo -c pattern.c  -fPIC -DPIC -o .libs/pattern.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT templates.lo -MD -MP -MF .deps/templates.Tpo -c templates.c  -fPIC -DPIC -o .libs/templates.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT templates.lo -MD -MP -MF .deps/templates.Tpo -c templates.c -o templates.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xsltutils.lo -MD -MP -MF .deps/xsltutils.Tpo -c xsltutils.c -o xsltutils.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT xslt.lo -MD -MP -MF .deps/xslt.Tpo -c xslt.c -o xslt.o >/dev/null 2>&1
mv -f .deps/templates.Tpo .deps/templates.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT variables.lo -MD -MP -MF .deps/variables.Tpo -c -o variables.lo variables.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT variables.lo -MD -MP -MF .deps/variables.Tpo -c variables.c  -fPIC -DPIC -o .libs/variables.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT pattern.lo -MD -MP -MF .deps/pattern.Tpo -c pattern.c -o pattern.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT variables.lo -MD -MP -MF .deps/variables.Tpo -c variables.c -o variables.o >/dev/null 2>&1
mv -f .deps/xsltutils.Tpo .deps/xsltutils.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT keys.lo -MD -MP -MF .deps/keys.Tpo -c -o keys.lo keys.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT keys.lo -MD -MP -MF .deps/keys.Tpo -c keys.c  -fPIC -DPIC -o .libs/keys.o
mv -f .deps/xslt.Tpo .deps/xslt.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT numbers.lo -MD -MP -MF .deps/numbers.Tpo -c -o numbers.lo numbers.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT numbers.lo -MD -MP -MF .deps/numbers.Tpo -c numbers.c  -fPIC -DPIC -o .libs/numbers.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT keys.lo -MD -MP -MF .deps/keys.Tpo -c keys.c -o keys.o >/dev/null 2>&1
mv -f .deps/variables.Tpo .deps/variables.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT extensions.lo -MD -MP -MF .deps/extensions.Tpo -c -o extensions.lo extensions.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT extensions.lo -MD -MP -MF .deps/extensions.Tpo -c extensions.c  -fPIC -DPIC -o .libs/extensions.o
extensions.c: In function ‘xsltExtModuleRegisterDynamic’:
extensions.c:392:18: warning: pointer targets in passing argument 3 of ‘xmlStrPrintf’ differ in signedness [-Wpointer-sign]
                  "%s/%s%s", ext_directory, ext_name, LIBXML_MODULE_EXTENSION);
                  ^~~~~~~~~
In file included from /app/include/libxml2/libxml/tree.h:17:0,
                 from /app/include/libxml2/libxml/parser.h:16,
                 from /app/include/libxml2/libxml/globals.h:18,
                 from /app/include/libxml2/libxml/threads.h:35,
                 from /app/include/libxml2/libxml/xmlmemory.h:218,
                 from extensions.c:18:
/app/include/libxml2/libxml/xmlstring.h:98:17: note: expected ‘const xmlChar * {aka const unsigned char *}’ but argument is of type ‘char *’
                 xmlStrPrintf             (xmlChar *buf,
                 ^~~~~~~~~~~~
mv -f .deps/keys.Tpo .deps/keys.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT extra.lo -MD -MP -MF .deps/extra.Tpo -c -o extra.lo extra.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT extra.lo -MD -MP -MF .deps/extra.Tpo -c extra.c  -fPIC -DPIC -o .libs/extra.o
mv -f .deps/pattern.Tpo .deps/pattern.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT functions.lo -MD -MP -MF .deps/functions.Tpo -c -o functions.lo functions.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT numbers.lo -MD -MP -MF .deps/numbers.Tpo -c numbers.c -o numbers.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT functions.lo -MD -MP -MF .deps/functions.Tpo -c functions.c  -fPIC -DPIC -o .libs/functions.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT extra.lo -MD -MP -MF .deps/extra.Tpo -c extra.c -o extra.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT extensions.lo -MD -MP -MF .deps/extensions.Tpo -c extensions.c -o extensions.o >/dev/null 2>&1
mv -f .deps/extra.Tpo .deps/extra.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT namespaces.lo -MD -MP -MF .deps/namespaces.Tpo -c -o namespaces.lo namespaces.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT namespaces.lo -MD -MP -MF .deps/namespaces.Tpo -c namespaces.c  -fPIC -DPIC -o .libs/namespaces.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT functions.lo -MD -MP -MF .deps/functions.Tpo -c functions.c -o functions.o >/dev/null 2>&1
mv -f .deps/numbers.Tpo .deps/numbers.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT imports.lo -MD -MP -MF .deps/imports.Tpo -c -o imports.lo imports.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT namespaces.lo -MD -MP -MF .deps/namespaces.Tpo -c namespaces.c -o namespaces.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT imports.lo -MD -MP -MF .deps/imports.Tpo -c imports.c  -fPIC -DPIC -o .libs/imports.o
mv -f .deps/extensions.Tpo .deps/extensions.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT attributes.lo -MD -MP -MF .deps/attributes.Tpo -c -o attributes.lo attributes.c
mv -f .deps/functions.Tpo .deps/functions.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT documents.lo -MD -MP -MF .deps/documents.Tpo -c -o documents.lo documents.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT attributes.lo -MD -MP -MF .deps/attributes.Tpo -c attributes.c  -fPIC -DPIC -o .libs/attributes.o
mv -f .deps/namespaces.Tpo .deps/namespaces.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT preproc.lo -MD -MP -MF .deps/preproc.Tpo -c -o preproc.lo preproc.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT documents.lo -MD -MP -MF .deps/documents.Tpo -c documents.c  -fPIC -DPIC -o .libs/documents.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT imports.lo -MD -MP -MF .deps/imports.Tpo -c imports.c -o imports.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT preproc.lo -MD -MP -MF .deps/preproc.Tpo -c preproc.c  -fPIC -DPIC -o .libs/preproc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT documents.lo -MD -MP -MF .deps/documents.Tpo -c documents.c -o documents.o >/dev/null 2>&1
mv -f .deps/imports.Tpo .deps/imports.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT transform.lo -MD -MP -MF .deps/transform.Tpo -c -o transform.lo transform.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT attributes.lo -MD -MP -MF .deps/attributes.Tpo -c attributes.c -o attributes.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT transform.lo -MD -MP -MF .deps/transform.Tpo -c transform.c  -fPIC -DPIC -o .libs/transform.o
mv -f .deps/documents.Tpo .deps/documents.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt  -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT security.lo -MD -MP -MF .deps/security.Tpo -c -o security.lo security.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT security.lo -MD -MP -MF .deps/security.Tpo -c security.c  -fPIC -DPIC -o .libs/security.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT preproc.lo -MD -MP -MF .deps/preproc.Tpo -c preproc.c -o preproc.o >/dev/null 2>&1
mv -f .deps/attributes.Tpo .deps/attributes.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT security.lo -MD -MP -MF .deps/security.Tpo -c security.c -o security.o >/dev/null 2>&1
mv -f .deps/security.Tpo .deps/security.Plo
mv -f .deps/preproc.Tpo .deps/preproc.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT transform.lo -MD -MP -MF .deps/transform.Tpo -c transform.c -o transform.o >/dev/null 2>&1
mv -f .deps/transform.Tpo .deps/transform.Plo
/bin/sh ../libtool  --tag=CC   --mode=link gcc -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute  -Wl,--version-script=./libxslt.syms -version-info 2:32:1 -L/app/lib  -o libxslt.la -rpath /app/lib attrvt.lo xslt.lo xsltlocale.lo xsltutils.lo pattern.lo templates.lo variables.lo keys.lo numbers.lo extensions.lo extra.lo functions.lo namespaces.lo imports.lo attributes.lo documents.lo preproc.lo transform.lo security.lo  -L/app/lib -lxml2  -lm 
libtool: link: gcc -shared  -fPIC -DPIC  .libs/attrvt.o .libs/xslt.o .libs/xsltlocale.o .libs/xsltutils.o .libs/pattern.o .libs/templates.o .libs/variables.o .libs/keys.o .libs/numbers.o .libs/extensions.o .libs/extra.o .libs/functions.o .libs/namespaces.o .libs/imports.o .libs/attributes.o .libs/documents.o .libs/preproc.o .libs/transform.o .libs/security.o   -Wl,-rpath -Wl,/app/lib -Wl,-rpath -Wl,/app/lib -L/app/lib /app/lib/libxml2.so -ldl -lz -lm  -O2 -g -Wl,--version-script=./libxslt.syms   -Wl,-soname -Wl,libxslt.so.1 -o .libs/libxslt.so.1.1.32
libtool: link: (cd ".libs" && rm -f "libxslt.so.1" && ln -s "libxslt.so.1.1.32" "libxslt.so.1")
libtool: link: (cd ".libs" && rm -f "libxslt.so" && ln -s "libxslt.so.1.1.32" "libxslt.so")
libtool: link: ar cru .libs/libxslt.a  attrvt.o xslt.o xsltlocale.o xsltutils.o pattern.o templates.o variables.o keys.o numbers.o extensions.o extra.o functions.o namespaces.o imports.o attributes.o documents.o preproc.o transform.o security.o
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib .libs/libxslt.a
libtool: link: ( cd ".libs" && rm -f "libxslt.la" && ln -s "../libxslt.la" "libxslt.la" )
make[2]: Leaving directory '/run/build/libxlst/libxslt'
Making all in libexslt
make[2]: Entering directory '/run/build/libxlst/libexslt'
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT exslt.lo -MD -MP -MF .deps/exslt.Tpo -c -o exslt.lo exslt.c
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT common.lo -MD -MP -MF .deps/common.Tpo -c -o common.lo common.c
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT crypto.lo -MD -MP -MF .deps/crypto.Tpo -c -o crypto.lo crypto.c
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT math.lo -MD -MP -MF .deps/math.Tpo -c -o math.lo math.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT crypto.lo -MD -MP -MF .deps/crypto.Tpo -c crypto.c  -fPIC -DPIC -o .libs/crypto.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT math.lo -MD -MP -MF .deps/math.Tpo -c math.c  -fPIC -DPIC -o .libs/math.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT exslt.lo -MD -MP -MF .deps/exslt.Tpo -c exslt.c  -fPIC -DPIC -o .libs/exslt.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT common.lo -MD -MP -MF .deps/common.Tpo -c common.c  -fPIC -DPIC -o .libs/common.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT exslt.lo -MD -MP -MF .deps/exslt.Tpo -c exslt.c -o exslt.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT crypto.lo -MD -MP -MF .deps/crypto.Tpo -c crypto.c -o crypto.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT common.lo -MD -MP -MF .deps/common.Tpo -c common.c -o common.o >/dev/null 2>&1
mv -f .deps/exslt.Tpo .deps/exslt.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT sets.lo -MD -MP -MF .deps/sets.Tpo -c -o sets.lo sets.c
mv -f .deps/crypto.Tpo .deps/crypto.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT functions.lo -MD -MP -MF .deps/functions.Tpo -c -o functions.lo functions.c
mv -f .deps/common.Tpo .deps/common.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT strings.lo -MD -MP -MF .deps/strings.Tpo -c -o strings.lo strings.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT sets.lo -MD -MP -MF .deps/sets.Tpo -c sets.c  -fPIC -DPIC -o .libs/sets.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT functions.lo -MD -MP -MF .deps/functions.Tpo -c functions.c  -fPIC -DPIC -o .libs/functions.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT math.lo -MD -MP -MF .deps/math.Tpo -c math.c -o math.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT strings.lo -MD -MP -MF .deps/strings.Tpo -c strings.c  -fPIC -DPIC -o .libs/strings.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT sets.lo -MD -MP -MF .deps/sets.Tpo -c sets.c -o sets.o >/dev/null 2>&1
In file included from strings.c:12:0:
strings.c: In function ‘exsltStrPaddingFunction’:
strings.c:414:32: warning: implicit declaration of function ‘xmlBufferDetach’ [-Wimplicit-function-declaration]
     xmlXPathReturnString(ctxt, xmlBufferDetach(buf));
                                ^
/app/include/libxml2/libxml/xpathInternals.h:158:42: note: in definition of macro ‘xmlXPathReturnString’
     valuePush((ctxt), xmlXPathWrapString(str))
                                          ^~~
strings.c:414:32: warning: passing argument 1 of ‘xmlXPathWrapString’ makes pointer from integer without a cast [-Wint-conversion]
     xmlXPathReturnString(ctxt, xmlBufferDetach(buf));
                                ^
/app/include/libxml2/libxml/xpathInternals.h:158:42: note: in definition of macro ‘xmlXPathReturnString’
     valuePush((ctxt), xmlXPathWrapString(str))
                                          ^~~
/app/include/libxml2/libxml/xpathInternals.h:490:3: note: expected ‘xmlChar * {aka unsigned char *}’ but argument is of type ‘int’
   xmlXPathWrapString  (xmlChar *val);
   ^~~~~~~~~~~~~~~~~~
strings.c: In function ‘exsltStrConcatFunction’:
strings.c:549:32: warning: passing argument 1 of ‘xmlXPathWrapString’ makes pointer from integer without a cast [-Wint-conversion]
     xmlXPathReturnString(ctxt, xmlBufferDetach(buf));
                                ^
/app/include/libxml2/libxml/xpathInternals.h:158:42: note: in definition of macro ‘xmlXPathReturnString’
     valuePush((ctxt), xmlXPathWrapString(str))
                                          ^~~
/app/include/libxml2/libxml/xpathInternals.h:490:3: note: expected ‘xmlChar * {aka unsigned char *}’ but argument is of type ‘int’
   xmlXPathWrapString  (xmlChar *val);
   ^~~~~~~~~~~~~~~~~~
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT functions.lo -MD -MP -MF .deps/functions.Tpo -c functions.c -o functions.o >/dev/null 2>&1
mv -f .deps/sets.Tpo .deps/sets.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT date.lo -MD -MP -MF .deps/date.Tpo -c -o date.lo date.c
mv -f .deps/math.Tpo .deps/math.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT saxon.lo -MD -MP -MF .deps/saxon.Tpo -c -o saxon.lo saxon.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT date.lo -MD -MP -MF .deps/date.Tpo -c date.c  -fPIC -DPIC -o .libs/date.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT saxon.lo -MD -MP -MF .deps/saxon.Tpo -c saxon.c  -fPIC -DPIC -o .libs/saxon.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT strings.lo -MD -MP -MF .deps/strings.Tpo -c strings.c -o strings.o >/dev/null 2>&1
date.c: In function ‘_exsltDateParseGYear’:
date.c:223:25: error: ‘LONG_MAX’ undeclared (first use in this function)
         if (dt->year >= LONG_MAX / 10)
                         ^~~~~~~~
date.c:223:25: note: each undeclared identifier is reported only once for each function it appears in
date.c: In function ‘exsltDateParseDuration’:
date.c:1058:23: error: ‘LONG_MAX’ undeclared (first use in this function)
             if (num > LONG_MAX / 10)
                       ^~~~~~~~
date.c: In function ‘_exsltDateAdd’:
date.c:1534:34: error: ‘LONG_MAX’ undeclared (first use in this function)
     if ((carry > 0 && dt->year > LONG_MAX - carry) ||
                                  ^~~~~~~~
date.c:1535:34: error: ‘LONG_MIN’ undeclared (first use in this function)
         (carry < 0 && dt->year < LONG_MIN - carry)) {
                                  ^~~~~~~~
date.c: In function ‘_exsltDateDifference’:
date.c:1671:25: error: ‘LONG_MAX’ undeclared (first use in this function)
         if ((x->year >= LONG_MAX / 24) || (x->year <= LONG_MIN / 24) ||
                         ^~~~~~~~
date.c:1671:55: error: ‘LONG_MIN’ undeclared (first use in this function)
         if ((x->year >= LONG_MAX / 24) || (x->year <= LONG_MIN / 24) ||
                                                       ^~~~~~~~
date.c: In function ‘_exsltDateAddDurCalc’:
date.c:1717:33: error: ‘LONG_MAX’ undeclared (first use in this function)
     if ((x->mon > 0 && y->mon > LONG_MAX - x->mon) ||
                                 ^~~~~~~~
date.c:1718:33: error: ‘LONG_MIN’ undeclared (first use in this function)
         (x->mon < 0 && y->mon < LONG_MIN - x->mon)) {
                                 ^~~~~~~~
mv -f .deps/functions.Tpo .deps/functions.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt   -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT dynamic.lo -MD -MP -MF .deps/dynamic.Tpo -c -o dynamic.lo dynamic.c
make[2]: *** [Makefile:527: date.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT dynamic.lo -MD -MP -MF .deps/dynamic.Tpo -c dynamic.c  -fPIC -DPIC -o .libs/dynamic.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT saxon.lo -MD -MP -MF .deps/saxon.Tpo -c saxon.c -o saxon.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt -I../libexslt -I.. -I../libxslt -I../libexslt -I/app/include/libxml2 -O2 -g -Wall -Wformat=2 -Wmissing-format-attribute -MT dynamic.lo -MD -MP -MF .deps/dynamic.Tpo -c dynamic.c -o dynamic.o >/dev/null 2>&1
mv -f .deps/saxon.Tpo .deps/saxon.Plo
mv -f .deps/strings.Tpo .deps/strings.Plo
mv -f .deps/dynamic.Tpo .deps/dynamic.Plo
make[2]: Leaving directory '/run/build/libxlst/libexslt'
make[1]: *** [Makefile:614: all-recursive] Error 1
make[1]: Leaving directory '/run/build/libxlst'
make: *** [Makefile:440: all] Error 2
Error: module libxlst: Child process exited with code 2
make: *** [Makefile:8: build] Error 1
@LeandroStanger
Copy link
Author

@LeandroStanger LeandroStanger commented Jul 27, 2018

How is the progress of the correction?

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Jul 28, 2018

libxlst isn't building, so I haven't been able to progress much.

@LeandroStanger
Copy link
Author

@LeandroStanger LeandroStanger commented Aug 7, 2018

How is the progress of the correction?

@AdrianKoshka
Copy link
Collaborator

@AdrianKoshka AdrianKoshka commented Aug 17, 2018

Recently been in contact with the libxlst mailnglist to try and debug things. They say the issue I'm encountering was fixed in a specific commit, which it seems to be, but now I have another build error...waiting for feedback on that.

@LeandroStanger
Copy link
Author

@LeandroStanger LeandroStanger commented Sep 16, 2018

How is the progress of the correction?

1 similar comment
@LeandroStanger
Copy link
Author

@LeandroStanger LeandroStanger commented Oct 8, 2018

How is the progress of the correction?

@Erick555 Erick555 changed the title Lingua PT-BR Multi-languages support Sep 17, 2019
@Lvaskz
Copy link

@Lvaskz Lvaskz commented Oct 11, 2019

How is the progress of the correction?

any progress?

@Erick555
Copy link
Collaborator

@Erick555 Erick555 commented Oct 11, 2019

@Lvaskz something is cooking in #87 stay tuned 😄

@Erick555 Erick555 added wip and removed help wanted labels Oct 11, 2019
@Lvaskz
Copy link

@Lvaskz Lvaskz commented Oct 11, 2019

thanks

@Erick555 Erick555 closed this in #87 Oct 12, 2019
@Erick555 Erick555 removed the wip label Oct 12, 2019
@Erick555
Copy link
Collaborator

@Erick555 Erick555 commented Oct 12, 2019

This is now fixed and will be published to flathub within couple of hours. For details see https://github.com/flathub/org.mozilla.Thunderbird#language-support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Linked pull requests

Successfully merging a pull request may close this issue.

8 participants