-
Notifications
You must be signed in to change notification settings - Fork 176
Build Resynthesizer from source
To build, you must have installed: a compiler, the meson build system, git, and the GIMP library. See below "Dependencies".
Then you download the git repo and command meson to build and install.
The build system for version 3 (the git branch named "resynthesizer3") is the meson build system. (The build system on the master branch, for GIMP 2, was automake. The GIMP project also builds with meson.)
This tells how to build and install the Resynthesizer suite of plugins to the shared GIMP directories. The build is ordinary, following common meson tutorials...
Examples here are commands that you run in a terminal/shell:
Clone the repo:
git clone https://github.com/bootchk/resynthesizer.git
Change directory to the top of the repo:
cd resynthesizer
Checkout the "resynthesizer3" branch:
git checkout resynthesizer3
Build and install:
meson setup resynthesizerBuild
cd resynthesizerBuild
meson compile --verbose -j 12
meson install
After you have installed, you can delete the downloaded directory of the repo, including the build directory inside it.
Attention Ubuntu Users! On Ubuntu, the default installation path is /usr/local/lib/gimp/3.0/plug-ins
and you may need to direct GIMP to look there.
To do so, open GIMP and choose Edit>Preferences>Folders>Plugins>
Add an entry /usr/local/lib/gimp/2.0/plug-ins.
There are no instructions here, nor build scripts in the repository, to build for Windows or Mac OSX.
The meson build system will run on those platforms. But Resynthesizer depends on the GIMP library. You also need to install or build the dependencies on other platforms.
Github supports building and releasing packages for these platforms. I myself can't do that until I learn more about Github, and until there is a runner image that has libgimp-3.0-dev installed. I don't want to build GIMP in my Github CI job just to be able to build the Resynthesizer.
When you build, it may complain of missing packages. Please install them, for example:
sudo apt-get update
sudo apt-get install meson libgimp3.0-dev
To build Resynthesizer (or any GIMP plugin in the C language) you need these developer packages:
- build-essential - all the tools to build a Debian package ( gcc and make.)
- meson
- intltool (for i18n internationalization, when optionally installed)
- libgimp3.0-dev - libraries that the Resynthesizer engine links to.
Note: The control panel plugin, since Resynthesizer v3, no longer depends on Gtk for GUI. Instead, the GUI is provided by GIMP using Gtk.
The Resynthesizer plugin suite depends directly on GIMP, and transitively on GLib and Gtk.
Resynthesizer v3 outer plugins no longer depend on Python, only on the Scheme interpreter embedded in GIMP.
The Resynthesizer library (not the GIMP plugins) can be built without any runtime dependencies on GLib.
Build options use conventional meson techniques. See meson-options.txt.
One feature of the engine is "threads."
Threading is not the default.
Threading does NOT help the performance as much as you might expect.
Threading may give different, sometimes poor, results.
Threading makes the engine non-deterministic, i.e. the results are not reproducible from run to run.
Threading uses GLib threads but other people have been able to compile Resynthesizer with POSIX threads.
Another feature is "GLib dependence". Using Glib is the default. GLib provides platform independence. The engine plugin uses GLib. There is some unmaintained conditionally compilation without GLib.
Contributors have localized (internationalized, i18n) the plugins.
There is a build option to install localization data. For now, it defaults to "false", i.e. not installed. For now, i18n is broken, until a fix to GIMP that supports i18n for Scheme plugins.
To build for another spoken language, you may also need to create a symbolic link to your preferred language file, for example:
sudo ln -s /usr/local/share/locale/fr/LC_MESSAGES/resynthesizer.mo /usr/share/locale/fr/LC_MESSAGES/resynthesizer.mo