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

Setup Travis-CI for build AppImage #10

Open
Symbian9 opened this Issue May 4, 2018 · 6 comments

Comments

Projects
None yet
3 participants
@Symbian9
Copy link

Symbian9 commented May 4, 2018

Cast @probonopd

@probonopd

This comment has been minimized.

Copy link

probonopd commented May 4, 2018

First thing to do: Get it to build on Travis CI on Ubuntu 14.04.

Ubuntu 14.04 needs a more recent harfbuzz than is included, but more recent Ubuntu should work well.

This is worrisome, as bundling Harfbuzz inside the AppImage is known to be problematic (see probonopd/linuxdeployqt#261 (comment) and probonopd/linuxdeployqt#157 (comment)).

Options:

  • Remove the dependency on Harfbuzz
  • Lower the dependency on Harfbuzz to the one in 14.04
  • Statically link Harfbuzz
@probonopd

This comment has been minimized.

Copy link

probonopd commented May 4, 2018

Tried it at https://github.com/probonopd/laidout/blob/patch-1/.travis.yml. As was to be expected, running into

captioninterface.cc:428:49: error: ‘hb_ft_face_create_referenced’ was not declared in this scope
   hb_face = hb_ft_face_create_referenced(ft_face); 

https://travis-ci.org/probonopd/laidout/builds/374735928#L718

This code is too new to work on the oldest still-supported version of Ubuntu, which currently is 14.04. The source code needs to be changed so that it can build on 14.04. Otherwise the AppImage will not run on all still-supported versions of the major distributions (which one usually wants). With other libraries, the solution would be to just bundle the library in question, but this does not work properly with libharfbuzz for some reason.

@tomlechner

This comment has been minimized.

Copy link
Contributor

tomlechner commented May 4, 2018

Laidout 0.096 doesn't really need very current harfbuzz stuff, I don't recall this being insurmountable a couple years ago, meaning it shouldn't be all that difficult to make it work on default 14.04. I'm travelling now, but I'll look into it when I get home in a few days, unless you can patch it! However, I no longer have a 14.04 to test.

FYI I hope to have a 0.097 release within a month or so, and I'll be testing on Ubuntu 16.04, but it will likely be very difficult to make it work with default 14.04 harfbuzz.

@tomlechner

This comment has been minimized.

Copy link
Contributor

tomlechner commented May 18, 2018

Been low on free time, I would expect an AppImage that works on 14.04 to be successful with the "stable" Laidout 0.096 version as that does not depend on harfbuzz at all. Immediately after 0.096, I started using harfbuzz, and newer harfbuzz provides too many improvements to justify supporting 14.04 at this point. But I'd be happy to set up a separate branch if someone has a patch!

@Symbian9

This comment has been minimized.

Copy link

Symbian9 commented May 18, 2018

I started using harfbuzz, and newer harfbuzz provides too many improvements

Which version of harfbuzz you mean?

But I'd be happy to set up a separate branch if someone has a patch!

Need ask Trusty-backports team

There are many other guys that provide backports for Trusty on Launchpad, so will try cast some of them

@tomlechner

This comment has been minimized.

Copy link
Contributor

tomlechner commented May 18, 2018

For the upcoming Laidout 0.097, I'll make it work on default Ubuntu 16.04. My text tools are very much works in progress, and my goal is to support as many writing systems as I can. I'm certainly no expert, but it seems like the most current harfbuzz as possible is important for that. Balancing new development against old system compatibility is not easy.

For backporting, I would think the first step is getting any version of Laidout in a Debian or Ubuntu repository at all, currently it's not, as far as I know. I would very much welcome that, but I don't personally have enough free time to take that on.

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