gentoo / dotnet

[MIRROR] Newer mono, .NET languages, and libraries
https://gitweb.gentoo.org/repo/proj/dotnet.git
78 stars 56 forks source link

problem with dev-dotnet/libgdiplus #327

Open genterminl opened 7 years ago

genterminl commented 7 years ago

All recent libgdiplus versions install a broken libgdiplus.pc file. Running "pkg-config --list-all" triggers "Variable 'libjpeg_prefix' not defined in '/usr/lib/pkgconfig/libgdiplus.pc'" (I'll skip the problem that pkg-config shouldn't choke on bad .pc files)

I've modified the ebuild to sed out the bad library.

In addition, the -r3 ebuild had dropped dotnet from the inherit line, I've added it back.

The ebuild fails repoman because cairo use flag is not listed in metadata.xml, but per issue #8 I'm not really sure what it actually does, or how to describe it. I've attached a new (zipped) ebuild.

libgdiplus-4.2-r4.ebuild.zip

ArsenShnurkov commented 7 years ago

In addition, the -r3 ebuild had dropped dotnet from the inherit line, I've added it back.

why you did that?

genterminl commented 7 years ago

I no longer remember, but I suspect the ebuild failed without it and worked with it. I would reverse the question to ask why it was dropped. It might be obvious, but not to me. I suppose I can try again without it.

However, I have not done anything at all with the dotnet stuff in over a month. It just got too convoluted for me, and I didn't see any other activity. I would love to get mono-develop working, but there are just too many different pieces that fail, and I have not gotten any of them to work for me.

ArsenShnurkov commented 7 years ago

If you navigate from commit to pull request you will see the comment about bug 604644, which says about circular dependency between mono package and libgdiplus package through dotnet.eclass. Actually libgdiplus is native package, and dotnet.eclass is for managed packages. This is why that dependency was removed.

genterminl commented 7 years ago

OK, at this point I really don't know if I actually had a reason or just didn't understand. I dropped the dotnet from the inherit, and it still seems to work fine. Let me know if you want me to bother attaching a new ebuild with that one change, and whether you want it as -r3, -r4, or -r5.

ArsenShnurkov commented 7 years ago

according to gentoo politics you should add -rNEXT each time when you modify something (substantial) in a ebuild and publish it. You changed .pc file, and i think that this is substantial change (to regenerate this file in all users machines). I don't care do you attach new version or not, because it's Cynede who should care about pull requests.

genterminl commented 7 years ago

Both portage and the overlay have 4.2-r3. I attached 4.2-r4 to my initial comment on this issue. No point in going to -r5 just to remove dotnet from the inherit line, since -r4 hasn't yet been used anywhere. I'd really hope the originally attached ebuild can be accepted and used, rather than having to file a pull request, which would take quite a bit more effort, but I'll attach an updated version if really necessary.

ArsenShnurkov commented 7 years ago

i think that you added dotnet.eclass because of this bug - https://bugs.gentoo.org/609760 it should be fixed too (by investigating dotnet_multilib_comply implementation and replacing it into general solution which is common for all other unmanaged gentoo ebuilds, something like 1, 2, 3, 4, 5). I have no mental strength to do it.