Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: interface.o:(.bss+0xe0): multiple definition of `fimg'; plugin.o:(.bss+0x40): first defined here
Without the change build fails on upstream gcc-10 as:
ld: interface_aux.o:src/interface_aux.c:55: multiple definition of
`dlg'; interface.o:src/interface.c💯 first defined here
GEGL 0.4.28 started marking introspect action as unavailable when dot is not present.
But GIMP previously required the action to be present at startup, even though it was only ever used in dev builds.
Let’s apply an upstream patch that removes this strict requirement.
`installPlugins` command installed stuff into directories based on package name
but GIMP actually requires the plug-in executable to match the directory,
so the plug-ins could not be loaded.
efae55a73e
Let’s update `installPlugins` and also rename since the old broken usage had different semantics.
Scripts work the old way.
Turns out there was a pre-compiled binary in the tarball,
which was installed instead of building our own binary.
That means RPATH was not set properly,
and the plug-in could not find libgimp.
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
The E (extension) line in pygimp.interp prints the following warnings:
GIMP-Warning: Bad interpreter referenced in interpreter file /nix/store/5c91dah385gn70blsn6i5rzncqj3ks0y-gimp-with-plugins-2.10.18/lib/gimp/2.0/interpreters/pygimp.interp: python2
GIMP-Warning: Bad binary format string in interpreter file /nix/store/5c91dah385gn70blsn6i5rzncqj3ks0y-gimp-with-plugins-2.10.18/lib/gimp/2.0/interpreters/pygimp.interp
This means that the py extension will not be registered when python2 is not in PATH. To prevent this, let’s hardcode the absolute python2 path.
https://github.com/NixOS/nixpkgs/issues/60937#issuecomment-653652093
Closes: https://github.com/NixOS/nixpkgs/issues/60937
GIMP uses python interpreter specified in pygimp.interp file for running Python plug-ins,
so any Python related wrapping is useless. It will pick up and use the python from build PATH.
Let’s use a python environment containing pygtk, which is needed by many plug-ins.
Closes: https://github.com/NixOS/nixpkgs/issues/87883