Meld build fails due to missing gtksourceview

Trying to develop a new feature for meld but I’m not sure I understand how to set up the dev environment.

I installed the dev requirements pip3 install -r dev_requirements.txt
As per documentation, I tried meson _build but it fails:

Source dir: /home/ventsyv/meld
Build dir: /home/ventsyv/meld/_build
Build type: native build
Project name: meld
Project version: 3.22.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency python3 found: YES 3.10
Run-time dependency gtk+-3.0 found: YES 3.24.33
Run-time dependency glib-2.0 found: YES 2.72.4
Found CMake: /usr/bin/cmake (3.22.1)
Run-time dependency gtksourceview-4 found: NO (tried pkgconfig and cmake) ERROR: Dependency "gtksourceview-4" not found, tried pkgconfig and cmake

Running pip3 install . gives:

meld/", line 67, in <module>
      AttributeError: module '' has no attribute 'Build'. Did you mean: 'build'?
      [end of output]
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

I apt installed gtksourceview-4-dev, then used pip to install pygobject but meson is still not founding it:

Found CMake: /usr/bin/cmake (3.22.1)
Run-time dependency pygobject-3.0 found: NO (tried pkgconfig and cmake) ERROR: Dependency "pygobject-3.0" not found, tried pkgconfig and cmake
pip3 show pygobject
Name: PyGObject
Version: 3.42.1
Summary: Python bindings for GObject Introspection
Author: James Henstridge
License: GNU LGPL
Location: /usr/lib/python3/dist-packages
Requires: pycairo

I don’t want to keep installing packages by hand. What am I missing here?
OS is Ubuntu 22.04

You may use Flatpak to build meld.

I use “data/org.gnome.MeldDevel.json” manifest to build the project.

I figure out what packages I need to install. Also had to make some code changes to get everything to work.
Will submit a MR shortly

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.