Skip to content

🏗️ Building

Stella and Charlie edited this page Apr 17, 2026 · 6 revisions

Installation is as simple as installing the above, downloading and extracting the zip archive, changing to the new repo's directory, and run the following command:

On elementary OS, or with its Appcenter remote installed

Built using the official command for building and submitting Appcenter apps, and using the elementary Platform from Appcenter

flatpak-builder --force-clean --user --install-deps-from=appcenter --install builddir \
./io.github.elly_code.jorts.yml

On other systems:

Built using the official command for building and submitting flathub apps,the elementary BaseApp to use Granite, and Gnome Platform

Uses the legacy RDNN

flatpak run org.flatpak.Builder --force-clean --sandbox --user --install --install-deps-from=flathub \
--ccache --mirror-screenshots-url=https://dl.flathub.org/media/ --repo=repo builddir \
io.github.ellie_commons.jorts.yml

The Devel version

It can be installed alongside any other version, and is intended for spicy testing. The command and manifest are built for flathub, which is usually more modern than what elementary OS bundles. This allows to test for the bigger user base, and early-troubleshoot bugs in Gnome runtime, baseapp...

Uses the devel build flag

flatpak run org.flatpak.Builder --force-clean --sandbox --user --install --install-deps-from=flathub \
--ccache --mirror-screenshots-url=https://dl.flathub.org/media/ --repo=repo builddir \
io.github.elly_code.jorts.devel.yml

On Windows

  1. First go on a Windows box,

  2. and install MSYS2, which is some kind of linux subsystem thingie

  3. Then from the MSYS2 shell navigate to whatever folder you put the sources in, and cd into said folder

  4. run the "./windows/prep.sh" script. It will install all needed dependencies with Pacman

  5. Then run "./windows/deploy.sh". It will:

  • build the app. Meson includes the extra cruft for windows stuff
  • then compile it like grandma does when she cooks
  • then move it along with needed dependencies in the deploy
  • then create an NSIS script for an installer with everything
  • then create the installer
  1. The resulting exe has everything bundled up in it, including uninstaller. It is built so as to not need admin rights. You can distribute as is.

Without packaging

Please make sure you have these dependencies first before building Jorts.

libgranite-7-dev gtk+-4.0 libjson-glib-dev libgee-0.8-dev libjson-glib meson libvala

As of the current date (18Feb2025), here are the package names to install:

sudo apt install libgranite-7-common libjson-glib-1.0-0 libgee-0.8-2 meson libvala-0.56-0

It's recommended to create a clean build environment. Run meson to configure the build environment and then ninja to build "cd" into the source folder, then

meson builddir --prefix=/usr
cd builddir
ninja

To install, use ninja install, then execute with io.github.elly_code.jorts

ninja install
io.github.elly_code.jorts

you can also just run the binary in builddir

Snap?

Idk how to do that, havent looked into it and not sure if worth it.

Appimage?

Idk how to do that, havent looked into it and not sure if worth it.

DEB/RPM/idkstuff

Is there demand? I dont wanna bother with that... For packagers: A tweak would be to have Jorts create a data directory instead of using its root.

Jorts just checks whether DATA_DIR exists since in a fresh sandbox it isnt a given, then just dump into it with no regards (since it is expected it does not share the space with other apps)

Windows has a check in place, you can just remove the "#if WINDOWS"-"#endif" plumbing, and ensure Jorts create a folder with rdnn instead of just "Jorts" (there is no way to rebase between app-id on windows and other apps dont use rdnn anyway)

Mac OS?

An attempt has been made

The big hurdles are:

  • DBus isnt a thing on MacOS
  • Just like Windows, no LibPortal
  • CSS theming seems broken?
  • It apparently is crashy

Clone this wiki locally