Skip to content
This repository has been archived by the owner on Dec 9, 2022. It is now read-only.

Flatpak runtime for electron apps based on the freedesktop runtime.

Notifications You must be signed in to change notification settings

endlessm/electron-flatpak-base-app

Repository files navigation

Obsolete, superseded by https://github.com/flathub/org.electronjs.Electron2.BaseApp and https://github.com/flathub/io.atom.electron.BaseApp.

electron-flatpak-base-app

This repo contains flatpak builder manifests for building a number of applications to help with electron flatpak development.

Built versions for x86_64, i386 and arm are hosted on Flathub.

To get started with the electron base app for your current architecture.

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub io.atom.electron.BaseApp

Apps

The most useful app here will probably be the io.atom.electron.BaseApp which can be layered into your flatpak electron app with all the library dependencies electron needs to run. For a high level overview of flatpak, electron and the applications here see.

General Apps

  • io.atom.electron.BaseApp: contains all the library dependencies of an electron application, allowing your app to target the freedesktop runtime. Should be suitable for targeting any linux distribution.
  • io.atom.electron.DevApp: layered on top of the base app, this application contains flatpak, git and nodejs installed. You can use it to build electron flatpaks on a system where either git or nodejs is not available.

EndlessOS Apps

  • com.endless.ElectronKnowledgeBaseApp: layered on top of the base app, contains the library dependencies needed to build offline content browsing apps for EndlessOS.
  • com.endless.ElectronKnowledgeDevApp: adds flatpak, git and nodejs to the ElectronKnowledgeBaseApp. You can build EndlessOS content browsing flatpaks from within this app.

Building

Building the apps require flatpak and flatpak-builder to be installed on your system. You will also need the freedesktop runtime, which if you don't already have, can be installed by running

make install-deps

Any of the app manifests can be built directly using the flatpak-builder command. The makefile contains a recipe for building all the apps in this repo sequentially, to do so just run

make

You can use the following environment variables to configure the build.

  • ARCH: architecture to use when building the base application. You must have the freedesktop runtimes installed for the same architecture.
  • REPO: the location of the flatpak repository to publish the base app to. Defaults to repo wherever make is run.
  • REPO_NAME: the name to use when setting up a local flatpak remote for the repo. Default to local-endless-electron-apps.
  • EXPORT_ARGS: extra arguments to use when exporting the application with flatpak-builder, such as --gpg-sign=KEYID for gpg signing.

Using

You can use the base app to build an electron application flatpak. One way to do this is to specify it in a flatpak-builder manifest file.

{
    "id": "com.website.MyElectronApp",
    "base": "io.atom.electron.BaseApp",
    "base-version": "master",
    "runtime": "org.freedesktop.Platform",
    "runtime-version": "1.6",
    "sdk": "org.freedesktop.Sdk",

About

Flatpak runtime for electron apps based on the freedesktop runtime.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published