Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
GIMP plugins relying on deprecated python
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
world_is_a_fun
n00b
n00b


Joined: 02 Apr 2024
Posts: 7

PostPosted: Mon Dec 16, 2024 5:21 am    Post subject: GIMP plugins relying on deprecated python Reply with quote

I'm losing my mind, I just need these plugins to work but no matter how deep in the weeds I get nothing I do seems to work properly.

GIMP has a use flag python, which is disabled. Without this use flag, it doesn't have python support built in, meaning plugins do not work. When modifying the ebuild, I find that it relies on a deprecated package dev-python/pygtk. The only ebuild I can find is an attachment in the bug report https://bugs.gentoo.org/662518 which I had to heavily modify in order to get it to build. All these ebuilds went into my local repository. After some more tweaking I end up with a successfully compiled GIMP 2.10.38 however, it still refuses to load python2.7 and still seems to be missing something important after all that effort, but what specifically I could not say if my life depended on it. Then when I try to reemerge it, with no changes, it seemingly stops working as if by magic.

All I need is a fully functioning GIMP. I've been at this for over 12 hours and it just refuses, stubbornly, to work. The only other option I can find is flatpak, and I would rather never edit another image again for the rest of my entire life than use flatpak. GIMP3 may very well work, but since the plugins I have are not actively maintained and rely on python 2.7, its not really helpful. Also, for some god forsaken reason, eselect python list only sees python 3 versions and does not see python 2.7 depsite an otherwise functional installation.

I don't understand why dev-python/pygtk was removed when a critical aspect of a widely used piece of software still relies on it for major functionality, but arguing about it is besides the point. No matter what I do, nothing seems to work, and I really just need these plugins to function.

Relevant links:
GIMP ebuild version 2.10.38-r1
Modified pygtk ebuild (PS pastebin apparently censors cursewords now, rip my comments)
emerge --info =media-gfx/gimp-2.10.38-r1::local
Removal of pygtk from repos
GIMP ebuild has python flag hard disabled (mentions newer ebuild requiring unmask does not disable python, but plugins I need do not support newer stuff as mentioned, so moot point)
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22827

PostPosted: Mon Dec 16, 2024 12:59 pm    Post subject: Reply with quote

Although you provided several links, I do not see among them the error message when GIMP fails to use the plugins you want. Therefore, someone who wants to help you would need to use the provided content to locally reproduce a GIMP before they could begin debugging. Additionally, I don't see a mention of specifically what Python plugins you want that are abandoned, so I am doubtful that I could reproduce your test environment.

eselect python is no longer needed. My system depclean'd it more than a year ago. I suspect, but did not check, that eselect python no longer sees python:2.7 because that version is long deprecated, and has been completely removed from the Gentoo Portage tree.

Perhaps you would be better off maintaining the needed plugins and updating them to work with current Python, rather than trying to force python2.7 back into service.
Back to top
View user's profile Send private message
world_is_a_fun
n00b
n00b


Joined: 02 Apr 2024
Posts: 7

PostPosted: Mon Dec 16, 2024 1:23 pm    Post subject: Reply with quote

Hu wrote:
Although you provided several links, I do not see among them the error message when GIMP fails to use the plugins you want. Therefore, someone who wants to help you would need to use the provided content to locally reproduce a GIMP before they could begin debugging. Additionally, I don't see a mention of specifically what Python plugins you want that are abandoned, so I am doubtful that I could reproduce your test environment.

eselect python is no longer needed. My system depclean'd it more than a year ago. I suspect, but did not check, that eselect python no longer sees python:2.7 because that version is long deprecated, and has been completely removed from the Gentoo Portage tree.

Perhaps you would be better off maintaining the needed plugins and updating them to work with current Python, rather than trying to force python2.7 back into service.


Here are the additional links:
gimp output
the plugins I need to work in this case

gimp launches and can be used, just not with python. Everything else seems to work as you would expect. I have no idea how to bring those plugins back up to speed, or if it is possible to do so. I know nothing at all about GIMP plugin development. Unfortunately for me, just not using these plugins is not an option.
Back to top
View user's profile Send private message
world_is_a_fun
n00b
n00b


Joined: 02 Apr 2024
Posts: 7

PostPosted: Mon Dec 16, 2024 7:13 pm    Post subject: Reply with quote

I will add, after another day full of troubleshooting, that I'm just giving up. Trying to get plugins to work for the current stable version just wasn't happening, so I decided to try porting the plugins to the new API as suggested with version 3.0.0-r1. I hit a wall just as fast, and I just don't see a way to continue forward. The poor documentation alone is a severe roadblock and even a best case scenario where it works perfectly, its going to take me days that I just don't have. The deeper I look into the history of what happened with these packages, the more I think that completely removing the option for the user to use legacy versions of software was a mistake. The end result here, no matter what I try or which version I use, is that I am effectively locked out of using plugins for GIMP unless I compromise and use something bloated or more opaque. Having spent a total of 3 full days including my whole weekend, I'm just completely stuck, and it's unbelievably frustrating that the reason is not because of my own lack of technical understanding but because there are so many roadblocks artificially placed in my way of using the software as intended.

If someone has an overlay where I can get access to legacy stuff to get this off the ground, I'd love to hear about it, but honestly this has turned into a bit of a black mark in my mind against both GIMP and the maintainers that didn't seem to care overmuch that critical stuff was going to permanently break. Good luck to anybody else trying to solve this issue.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22827

PostPosted: Mon Dec 16, 2024 7:32 pm    Post subject: Reply with quote

How is using something bloated or opaque a technically viable solution? If the plugins don't work in the new GIMP when built in Gentoo, then they likely don't work in the new GIMP under any circumstances. Are you saying that, if you compromised on purity, you would be using a bloated wrapper of an old GIMP, from before this was changed?

Gentoo's history will provide you with legacy ebuilds going back much farther than you likely need here. However, there is a good chance that those legacy ebuilds depend on other legacy functionality, recursively.
Back to top
View user's profile Send private message
world_is_a_fun
n00b
n00b


Joined: 02 Apr 2024
Posts: 7

PostPosted: Mon Dec 16, 2024 7:57 pm    Post subject: Reply with quote

Hu wrote:
How is using something bloated or opaque a technically viable solution? If the plugins don't work in the new GIMP when built in Gentoo, then they likely don't work in the new GIMP under any circumstances. Are you saying that, if you compromised on purity, you would be using a bloated wrapper of an old GIMP, from before this was changed?

Gentoo's history will provide you with legacy ebuilds going back much farther than you likely need here. However, there is a good chance that those legacy ebuilds depend on other legacy functionality, recursively.


The plugins are built for python 2.7, so its either have python 2.7 working (which I've found to be an insurmountable obstacle, due to deprecation despite there being no alternative for that functionality), or port them to gimp3 (which I've found to be equally insurmountable, due to the lack of documentation and my own lack of knowledge related to plugin development for gimp, under the assumption that it could be done even if I took an extended time to learn). The main issue with gimp, built on gentoo, is that even though it has a python flag to build it with the functionality to have plugins, the ebuild has been made such that it is hard disabled. I tried enabling it through the modification of a copy of that ebuild in my local repo, and then likewise finding and modifying the pygtk ebuild file mentioned in OP, and additionally playing around with pycairo to get it all to emerge as I hoped. However, after successfully emerging once, it never emerged properly again, and I have no idea why. Additionally, a large volume of other problems started popping up, especially revolving around python2.7 and getting GIMP to actually use that interpreter. As far as I can see, I'm stuck either way, because I cannot get either of the two solutions to work, and even if I could it would be fair to say that both are not trivial. To answer why something more bloated or opaque is a technically viable solution, though, the primary issue with build GIMP through portage are these issues with python functionality. Ive only successfully got it working for the GIMP 3 version, and let me tell you that took a lot of tweaking, guesswork, and troubleshooting itself too; Out of the box, gimps own plugins do not function, unless you know how it works ahead of time, and it has the curious quirk of ignoring its own config files and environment variables and instead using the system default interpreter.

As for what I mean by opaque, I do mean that I think if I compromised on purity, I might be able to do something. There might be an AppImage floating around, and I sincerely and earnestly hate flatpak but that also exists. I could also, begrudgingly, attempt to use proton through steam or some other version of wine in order to get a windows version. I could try setting up a virtual machine with another operating system as well. All of these things require that I give up on the compiled version of the software, managed through portage, which I really really don't want to do. It should also be said that none of these answers are guaranteed to work, and all of the represent a fair amount of time investment, research, or (given my luck so far with this little unintentional mini project) even more frustration.
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1766
Location: South America

PostPosted: Mon Dec 16, 2024 9:01 pm    Post subject: Reply with quote

world_is_a_fun wrote:
The deeper I look into the history of what happened with these packages, the more I think that completely removing the option for the user to use legacy versions of software was a mistake.

There wasn't much of a choice here, bringing back a zombie Python 2.7 looks really unfeasible.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum