rpeyron / plugin-gimp-fourier

Fourier plugin for GIMP
https://www.lprp.fr/gimp_plugin_en/
GNU General Public License v3.0
20 stars 4 forks source link

Updated configure/make to build GIMP2 or GIMP3 versions of fourier.c #9

Closed JoesCat closed 3 months ago

JoesCat commented 3 months ago

This closes PR #8 when merged. As per PR#8 this will build gimp/2.0/plugin/fourier or gimp/3.0/plugin/fourier/fourier3

What was noted in earlier PR was the naming conventions, and it seemed important to maintain continuity with gimp-fourier-plugin for Fedora, Mageia, and some other Distros using that existing naming convention. Also noted that the registry used gimp-plugin-fourier, so we need to also allow for that too.

Just need to add one more patch to add GETTEXT support. Will try get that done tomorrow.

NOTE: This was tested for gimp3 using gimp-2.99.19 RC0 or higher NOTE: gimp3 still contains gimptool-2.99 NOTE: .github/workflows/main.yml is not setup for gimp3 yet.

Your method of fetching gimp prefix also seems preferable to the SNIPPETS done in PR #8

rpeyron commented 3 months ago

Hi, Thank you! I should be able to merge both PR this weekend

JoesCat commented 3 months ago

FYI - I still need to add one last patch. I noticed that gimp3 (using meson) doesn't recognize variable exec_prefix, so I'll need to use the (uglier) SNIPPET method seen in the older PR #8. I also can't depend on GTK2 or GIMP2 being installed to "borrow" that variable.

I'm also assuming you do-not want to add locale support to the GIMP2 version since it hasn't had it up to now. Right now, the build process is set up to build GIMP2 by default, OR to build the GIMP3 using the ./configure --enable-make-gimp3. We could fix this to build both at the same time by adding another ./configure --enable-make-gimp2 or some other similar option.

JoesCat commented 3 months ago

Well, fourier.c builds and gets put in /usr/lib64/gimp/3.0/plug-in/fourier as fourier3 This way, you can have both gimp2 and gimp3 fourier(3).exe files in the same directory at the same time.

fourier3 builds and installs, but needs fixing since I didn't see it in the filter/generic menu. Since you're running two programs in one, there might be some ideas in plugins like plug-in/common/file-xpm.c

The gimp3_win portion of .github/workflows/main.yml was left relatively unmodified.

You can close PR #8 as it no longer is needed. This PR replaces it.

JoesCat commented 3 months ago

It appears that when you build gimp3 version, you can have gimp/3.0/plug-in/fourier/fourier or gimp/3.0/plug-in/fourier3/fourier3, but not gimp/3.0/plug-in/fourier/fourier3

Seems like for gimp3 the file name needs to match the directory name.

JoesCat commented 3 months ago

Resolved gimp3 problem by naming the binary as fourier instead of fourier3 to match the subdirectory /usr/lib/gimp/3.0/plug-in/fourier/ It was either renaming the directory as fourier3 to match the binary fourier3, or to rename the binary as fourier. :-) done.

rpeyron commented 3 months ago

Hi, merged, thanks!

I have made the following changes:

We should now be ready for GIMP3 ; next steps should be:

  1. with the release of 3.0-rc1 the msys2 gimp3 dev package should be shortly available, and solve the windows CI issue ; I will merge the gimp2.99 branch in main at this step
  2. GIMP3 should then be shipped in a Linux distribution available in GitHub actions ; I will then reactivate the gimp3_linux job (and have it converted to matrix to avoid duplication)
JoesCat commented 3 months ago

after working on #8, I noted that the file naming was flip-flopping between different naming schemes when applying the Fedora/Mageia rpm.spec improvements, which is why I restarted with PR#9.

Between the two of us, we probably re-worked this code over a dozen times, but glad to hear that you got it fine-tuned to what you have now.