Eos-knowledge-lib: Require some help in building

I am trying to build eos-knowledge-lib because it generally interests me the most when I look around EndlessOS. Though, I need some help.

I followed the Jhbuild’s instructions mentioned here: https://github.com/endlessm/eos-knowledge-lib
Had some problems initially in eos-knowledge-lib.modules but after adjusting some system dependencies paths according to my system, I have narrowed jhbuild sysdeps --install to 2 dependencies.

No matching system package installed:
mozjs31 (mozjs-31.pc)

I somehow cannot resolve this, so if someone can help me here, that would be great. I cannot find it anywhere in dnf repos or any rpm. Do I need it build it from source? I am on Fedora(28) rawhide.
I think @ptomato can help me here.

Hi! You did tag the right person.

Unfortunately the JHbuild moduleset is out of date and we don’t use it anymore. It should have been removed already, but the only reason why not is because I haven’t written the new instructions to replace it.

The quick answer here is to use flatpak. We have a flatpak runtime set up with all the dependencies already in it. You can find the instructions for adding the remote at the top of this page: http://endlessm.github.io/eos-knowledge-lib/contributing (Don’t scroll down because the outdated JHbuild instructions are still on there. Sorry about that.)

Hi @ptomato

Ok, so after obtaining the runtime/sdk from as per the doc, I somehow don’t find a way to install & run the knowledge application. I am trying to build and run the knowledge application as I see in EndlessOS on my machine (F28 rawhide), and is that possible?

Should I try to first flatpak the application (I don’t see a flatpak manifest) ? On looking around it seems as if the knowledge application is spread across multiple modules I suppose and eos-knowledge-lib is the GUI library. But can I run a “demo application” using that on my machine? How?

P.S. - I am so clueless about the state-of-EndlessOS development, just trying to build and run this app, so that I can later play around with the code. So, please bear with me :stuck_out_tongue:


Which application are you trying to build? The flatpak manifests of many of the applications we have are not available since they’re generated dynamically in an internal tool. However, we are planning to publish a tutorial soon on how to do that for yourself. The bad news is that it’s not written yet.

You can run any application that uses eos-knowledge-lib in a number of demo modes that will let you experiment. flatpak run com.endlessm.whatever_application --help should show you the command line switches. You can replace the application’s app.yaml file (which describes the structure of the UI) with your own, replace the CSS file with your own, and replace the content with dummy content.

There are also some developer tools available, here is the documentation. You can access these tools in a flatpak sandbox of the SDK: flatpak run -d --command=bash com.endlessm.whatever_application (the -d uses the “SDK” runtime instead of the “Platform” runtime.)

1 Like