Re: [Shotwell] Development environment setup or "How to build shotwell from source?"


Hello, i'm interested in contributing to shotwell, but i'm a bit
clumsy to set up the development environment with all it's
Could somebody give me a quick overview of his or hers setup process,

I've also checked the wiki, but i had
my problems especially with the installation of OpenCV and DNN stuff.

Since none of the major distributions ships OpenCV with DNN enabled,
you have might have to build it yourself. There are several options:

- The easy automatic path: Get GNOME Builder and open Shotwell in
there. It will use the flatpak description to download and build all
dependencies, you get an IDE and everything _should_ work. This would
be my preferred way of developing, but Builder gets in the way of my
IDE muscle memory too often

- The manual and slightly inconvenient way:
Use flatpak to build all the dependencies, then build against the
flatpak environment. To do that, install flatpak ( Then in shotwell's source directory,
 $ flatpak install --user org.gnome.Sdk//3.34
 $ flatpak-builder --user --stop-at shotwell fp-build-dir
 $ flatpak build fp-build-dir meson build -Dface-detection=true
 $ flatpak build fp-build-dir ninja -C build

This is the way I use when being on a really outdated machine such as
Ubuntu 16.04

I personally have installed all build dependencies as necessary from
the system (Ubuntu 19.10, apt build-dep shotwell; apt install
libchamplain-0.12-dev libchamplain-gtk-0.12-dev) and have locally added
an OpenCV to jhbuild.

- Ignore OpenCV's DNN - You can just install opencv3 development
packages. There will be no face recognition, just detection

- Install the face detection helper from flatpak, compile the rest of
the package aginst your system dependencies:

 $ flatpak-builder --user --install build-dir
 Then configure the rest of Shotwell with

 $ meson build -Dface-detection=true -Dface-detection-helper=false
 $ ninja -C build

This will do the OpenCV stuff externally.

For some of the steps the pre-trained model is downloaded
automatically, for some you have to get them yourself. The URLs are in
flatpak/org.gnome.Shotwell.flatpak and Shotwell will tell you where it
expects them.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]