Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Unsupported Software
  • Search

Palemoon uses gtk2 libs with USE="gtk3"

This forum covers all Gentoo-related software not officially supported by Gentoo. Ebuilds/software posted here might harm the health and stability of your system(s), and are not supported by Gentoo developers. Bugs/errors caused by ebuilds from overlays.gentoo.org are covered by this forum, too.
Post Reply
Advanced search
9 posts • Page 1 of 1
Author
Message
stefan11111
Veteran
Veteran
Posts: 1025
Joined: Sun Jan 29, 2023 6:08 pm
Location: Romania
Contact:
Contact stefan11111
Website

Palemoon uses gtk2 libs with USE="gtk3"

  • Quote

Post by stefan11111 » Sun Jul 16, 2023 8:02 pm

Palemoon has a build time dependency on gtk2, even with USE="gtk3"
It uses the gtk2 headers at some point in the build process and links some stuff against gtk2 libs.
I assume this is known to the maintainer, as USE="gtk2" is forced. However this is a bad workaround, as USE="gtk2" forces USE="-gtk3".
All gtk2 is used for is to build a library in /usr/lib64/palemoon/gtk2.
Palemoon doesn't need that library, as removing the gtk2 libs, that library, or both doesn't prevent palemoon from working.
I even added that path to my INSTALL_MASK and everything works.
If that library was used at all, starting palemoon would fail with a loading shared object error.
This tells me that the build-time dependency on gtk2 is probably a bug.

As a better workaround, I created this:
https://github.com/stefan11111/fake-gtk2

I don't thing I can optimize it more, as the source files are empty files, so any further optimization in that can only be achieved through compile flags.
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Top
Ionen
Developer
Developer
User avatar
Posts: 3014
Joined: Thu Dec 06, 2018 2:23 pm

  • Quote

Post by Ionen » Sun Jul 16, 2023 8:31 pm

Does palemoon still support old npapi? aka to run flash or other similar plugins

Firefox truly dropped gtk2 after it got rid of npapi, given even though it used gtk3 that bit still needed gtk2, and it'd fail you tried to use plugins without gtk2 (but otherwise not).
Top
stefan11111
Veteran
Veteran
Posts: 1025
Joined: Sun Jan 29, 2023 6:08 pm
Location: Romania
Contact:
Contact stefan11111
Website

  • Quote

Post by stefan11111 » Sun Jul 16, 2023 8:37 pm

Ionen wrote:Does palemoon still support old npapi? aka to run flash or other similar plugins

Firefox truly dropped gtk2 after it got rid of npapi, given even though it used gtk3 that bit still needed gtk2, and it'd fail you tried to use plugins without gtk2 (but otherwise not).
I doesn't seem like it does. I tried some adobe flash tests and they indicated that flash does not work.
But shouldn't palemoon not start it it actually tried to load those gtk2 libs?
Also, who uses flash?
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Top
stefan11111
Veteran
Veteran
Posts: 1025
Joined: Sun Jan 29, 2023 6:08 pm
Location: Romania
Contact:
Contact stefan11111
Website

  • Quote

Post by stefan11111 » Mon Jul 17, 2023 2:38 pm

stefan11111 wrote:
Ionen wrote:Does palemoon still support old npapi? aka to run flash or other similar plugins

Firefox truly dropped gtk2 after it got rid of npapi, given even though it used gtk3 that bit still needed gtk2, and it'd fail you tried to use plugins without gtk2 (but otherwise not).
I doesn't seem like it does. I tried some adobe flash tests and they indicated that flash does not work.
But shouldn't palemoon not start it it actually tried to load those gtk2 libs?
Also, who uses flash?
Seems like I was wrong:
Will continue to support NPAPI plugins like Silverlight, Adobe Flash and Java
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Top
flexibeast
l33t
l33t
Posts: 682
Joined: Mon Apr 04, 2022 4:15 am
Location: Naarm/Melbourne, Australia
Contact:
Contact flexibeast
Website

  • Quote

Post by flexibeast » Tue Jul 18, 2023 7:36 am

In terms of the continued use of Flash more generally, here's a quote from the relevant Wikipedia article:
Internet Explorer 11, along with IE mode in Edge, will continue with ActiveX support, and by extension Flash Player support. Firefox forks that plan to continue NPAPI support, and by extension Flash Player support, include Waterfox, Basilisk, Pale Moon, and K-Meleon. Various Chromium-based Chinese browsers will also continue to support Flash Player in PPAPI and/or NPAPI form, including, but not limited to, 360 Secure Browser.
Top
rab0171610
l33t
l33t
Posts: 721
Joined: Sat Dec 24, 2022 1:41 am

  • Quote

Post by rab0171610 » Tue Jul 18, 2023 8:10 am

The palemoon ebuild sets up the nsplugin (old Netscape plugins) directory:

Code: Select all

src_prepare() {
	# Ensure that our plugins dir is enabled by default:
	sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
		"${S}/platform/xpcom/io/nsAppFileLocationProvider.cpp" \
		|| die "sed failed to replace plugin path for 32bit!"
	sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
		"${S}/platform/xpcom/io/nsAppFileLocationProvider.cpp" \
		|| die "sed failed to replace plugin path for 64bit!"
I doubt it is intended to be used for Adobe Flash or Silverlight, as both are now discontinued. Maybe there is still some java/js in use somewhere.
The only ebuild that still has an nsplugin use flag is lightspark which is an open source flash alternative that states it now only works in some alternative browsers.
My guess is that since Palemoon is a maintained fork of an older Firefox build that supported Netscape plugins, it likely is just legacy baggage that can't be removed without modifying a lot of code, even though it no longer provides much functionality.
Top
Ionen
Developer
Developer
User avatar
Posts: 3014
Joined: Thu Dec 06, 2018 2:23 pm

  • Quote

Post by Ionen » Tue Jul 18, 2023 4:47 pm

One problem with older firefox is that there was no switch to disable npapi and ripping out support wasn't entirely trivial, so you always needed gtk2 at build time regardless of if you want to use it or not (iirc you can remove the resulting library at runtime for a binary package though)

Haven't looked at what palemoon does, but if they have a old codebase and they haven't worked on that.. then odds are it's stuck with it for (at least) building.
Top
stefan11111
Veteran
Veteran
Posts: 1025
Joined: Sun Jan 29, 2023 6:08 pm
Location: Romania
Contact:
Contact stefan11111
Website

  • Quote

Post by stefan11111 » Tue Jul 18, 2023 6:13 pm

Ionen wrote:One problem with older firefox is that there was no switch to disable npapi and ripping out support wasn't entirely trivial, so you always needed gtk2 at build time regardless of if you want to use it or not (iirc you can remove the resulting library at runtime for a binary package though)

Haven't looked at what palemoon does, but if they have a old codebase and they haven't worked on that.. then odds are it's stuck with it for (at least) building.
That's what I did.
I added the gtk2 lib and it's gtk2 directory to my INSTALL_MASK, copied the headers from gtk2 and added empty files to be compiled as dummy shared libs.
I wrote a Makefile and ebuild to automate that.
Somehow, those empty shared libs are almost 9k each.
For now, this solution will have to do if the proper solution involves way more work.
Still, forcefully enabling USE="gtk2", which implies USE="-gtk3" really seems like the worst way to handle this.
My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev"
Top
Hu
Administrator
Administrator
Posts: 24401
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Tue Jul 18, 2023 6:55 pm

I can think of one worse way: not forcefully enabling USE=gtk2 (and making no other changes to the source), so that users can set USE='-gtk2 gtk3', then get a build failure when the upstream build tries to use gtk2 anyway and it is not installed. The current setup is not ideal, but it beats having users able to trigger a build failure with easily settable options. This is especially true now that most people probably have USE='-gtk2 gtk3' as their system defaults regarding gtk+.
Top
Post Reply

9 posts • Page 1 of 1

Return to “Unsupported Software”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic