Installation Overview

April 25, 2025 · View on GitHub

The meson-based build can compile and install a release target, including any available translation data.

For development and testing use the included Makefile, which can build, but not install, the project. See § [Building using the included Makefile].

GTK+-3 runtime dependencies

Mdview depends on the following libraries: libgtk-3-0 (>= 3.24.33), libpango-1.0-0 (>= 1.50.6), libglib2.0-0 (>= 2.72.4).

Dependencies satisfy the package versions that the following distributions provide:

──────────────────────────────────────────────────────────────────
Debian package namelibgtk-3-0libpango-1.0-0libglib2.0-0
──────────────────────────────────────────────────────────────────
12 bookworm3.24.381.50.122.74.6
13 trixie (testing)3.24.431.55.02.82.4
sid (unstable)3.24.431.55.02.82.4
──────────────────────────────────────────────────────────────────
Ubuntu package namelibgtk-3-0libpango-1.0-0libglib2.0-0
──────────────────────────────────────────────────────────────────
22.04 (LTS) Jammy3.24.331.50.62.72.4
Noble3.24.411.52.12.80.0
Oracular3.24.431.54.02.82.1
Plucky3.24.431.55.02.82.4
──────────────────────────────────────────────────────────────────
Fatdog64 package namegtk3pangoglib
──────────────────────────────────────────────────────────────────
9033.24.421.50.122.74.5

GTK+-2 dependencies

You should use the latest GTK+-2 version available for your distribution. On Fatdog64 Linux, I use gtk2 2.24.33.

Building and installing using meson

Meson's default installation prefix is /usr/local.

[CC=gcc] meson setup build      # set CC to disable ccache autodetection
meson compile -C build
meson install -C build

Building using the included Makefile

GTK+-3 release build                : make
GTK+-2 release build                : make GTK=2
standard debug build                : make DEBUG=1
run tests in a debug build          : make TEST=1 [TEST_GROUP]
custom build                        : make [VARS] [DEBUG=1] [TEST=1]

The top Makefile sets LOCALEDIR to /usr/local/share/locale. Change the path on the make invocation as needed, e.g., make LOCALEDIR=/usr/share/locale.

The standard build runs $(CC) passing default release options. If the make invocation includes DEBUG=1 the Makefile appends default debug options to the set of release options, overriding the release intent. TEST=1 appends more debug options enabling test hooks in the binary file. See the main Makefile for the available TEST_GROUP targets.

Make invokes $(CC) passing CPPFLAGS, DEBUG_CPPFLAGS, CFLAGS and DEBUG_CFLAGSin this order. DEBUG=1 and TEST=1 append to the DEBUG_* variables overriding their values including those set on the command line.

Make runs the following non-standard tools, which you will need to install on your system if you intend to modify and recompile the source code:

Building translations

To update the Gettext POT template in directory ./po:

meson compile -C build mdview-pot

To update translations under directory build/po:

meson compile -C build      # don't also append target mdview-update-po

Building and installing documentation

If the help2man(1) command is available, meson will build and install the manual page.