Firefox-46.0.5 "fedzilla" for TahrPup64-605CE

Browsers, email, chat, etc.
Post Reply
Message
Author
Keisha
Posts: 469
Joined: Tue 18 Nov 2014, 05:43

Firefox-46.0.5 "fedzilla" for TahrPup64-605CE

#1 Post by Keisha »

***update May 12 2016: I still can't compile a version of it, even using the Light-46 patches, which will succeed in playing http://perezhilton.com/tv/Prince_Seven_ ... a58ce02cab. I'm guessing that Light-46 incorporates some sourcecode swapped in from Firefox-43. Still working on it. In the meantime, Light-46 works, http://murga-linux.com/puppy/viewtopic. ... 170#903170***

***update May 8 2016: Fedora released a new trial build this morning, I'm still studying it. My advice would be to hold off on downloading my build here until my version 0.0.3 appears, a few days.***

The release Mozilla build works fine, by most accounts, in Puppy; however, difficulty has been reported in custom-building in Puppy the Mozilla way when using other than the standard configure parameters, for example to build Firefox to use gtk2 rather than gtk3.

So I built it in Puppy but, the Fedora way, not the Mozilla way. I invite your comparison. The purpose is mainly to see if this is an effective way to build a custom firefox-46 in Puppy. This is a gtk2 build, no crash reporting, no auto-updater, using system cairo and freetype.

It can peacefully coexist with existing firefox installations. I placed it all in subdirectory /usr/lib/firefox-46.0.5-fedzilla. There is a same-name shortcut in /usr/bin and .desktop file in /usr/share/applications.

If there is interest I can try building it for other Puppies or Quirkies as well. I've been using a version of it compiled on Fedora-23 for four days now. So far, it's flawless.

Download (for, and compiled on, TahrPup64-605CE):

Version 0.0.2 May 4 2016, from 46.0.1 source:
https://www.datafilehost.com/d/ed16202d
(same dirname and filenames as version 0.0.1, so unload the old .sfs first)
root# sha1sum TP64-firefox-46.0.5-fedzilla-0.0.2.sfs
5f3dbf1aa5e4ef5ee94787197149674707ea42f5 TP64-firefox-46.0.5-fedzilla-0.0.2.sfs
44,371,968 bytes

Version 0.0.1 May 2 2016, from 46.0 source:
https://www.sendspace.com/file/3q5bqp
root# sha1sum TP64-firefox-46.0.5-fedzilla-0.0.1.sfs
24b755e17dfd97b67a0920bf595383d43c014c2d TP64-firefox-46.0.5-fedzilla-0.0.1.sfs
44,343,296 bytes

***

I spent most of April 29 through May 1 doing test compiles of firefox-46, using every plausible combination of the linker flags and gcc configure switches as used by the Mozilla team and the Fedora team.

Sources are
https://ftp.mozilla.org/pub/firefox/rel ... rce.tar.xz
and
https://kojipkgs.fedoraproject.org//pac ... 23.src.rpm
and
https://www.rust-lang.org/

The conclusion I reached is that an excellent firefox-46.0.1 is built for a Puppy or Quirky by this recipe:

1. Give the source the full official Fedora patch set;

2. Take mozconfig from the Fedora rpmbuild firefox-mozconfig.

3. Add to mozconfig the Mozilla release version mozconfig's '--enable-verify-mar' and '--enable-rust' configure switches but omit '--enable-elf-hack' (elf-hack makes it unstable). Install the rust compiler.

4. Use '--enable-default-toolkit=cairo-gtk2' so it is not necessary to install gtk3 to run it (it is also more stable on my system, in Fedora-23, with gtk2 than with gtk3);

5. Use '--enable-system-cairo' and 'USE_FC_FREETYPE=1', so that TahrPup's own font rendering is used.

6. Change --with-system-nspr to without, because TahrPup's nspr is only version 4.10.10 and >= 4.12 is required, so let it use the firefox source's internal copy of nspr.

7. Change --with-system-nss to without, because TahrPup's nss is only version 3.19.2.1 and >= 3.22.3 is required, so let it use the firefox source's internal copy of nss.

8. Change --enable-system-sqlite to disable. TahrPup does not carry sqlite, so use the firefox source's internal copy.

9. Added libpulse-dev to my local install so it will support pulseaudio, let me know if this was a mistake.

10. Omit from CFLAGS and CXXFLAGS Fedora's '-fstack-protector-strong' switch, it is unsupported in TahrPup64-605CE.

11. Copied into my local TahrPup the /usr/lib/rpm subdirectory from Fedora-23 so the linker can use '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' to decide whether to use -fPIC or -fpic or no position-independence in building individual libraries.

and finally

12. Both the Fedora and Mozilla teams use '--disable-strip' and in my experiments I found that using the '--enable-strip' configure switch produced an unstable firefox. The firefox binary comes out stripped anyway, but nevertheless overall this is unavoidably a large package by Puppy standards. Hopefully, as the code base matures, it will become once again strippable without instability. So, I decided, since it's already bloated, why not go even larger by using Barry Kauler's trick of uncompressing the three copies of omni.ja (see http://barryk.org/blog2/?viewDetailed=00291) for faster performance, at the expense of more than doubling their size in memory, but, paradoxically, this shrinks the .sfs by about 3 MB and makes firefox start and run faster.

The mozconfig is in /usr/lib/firefox-46.0.5-fedzilla alongside the binary.

Bon appetit, tell me what you think. On TahrPup64-605CE, is it better than, worse than, or the same as the official mozilla binary?
Last edited by Keisha on Thu 12 May 2016, 18:35, edited 2 times in total.
“A wise man can learn more from a foolish question than a fool can learn from a wise answer.â€￾ --Bruce Lee

quirkian2new
Posts: 152
Joined: Tue 06 Oct 2015, 14:10
Location: on the inter-planet train

#2 Post by quirkian2new »

Is there a built for Fatdog64 (version 631) ? I am still using Fatdog64-631 but can't upgrade to Firefox46. thanks

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#3 Post by ally »

mirrored on tahrpup archive page

:)

Keisha
Posts: 469
Joined: Tue 18 Nov 2014, 05:43

#4 Post by Keisha »

quirkian2new wrote:Is there a built for Fatdog64 (version 631) ? I am still using Fatdog64-631 but can't upgrade to Firefox46. thanks
I will be busy til at least Tuesday but will see if I can build it then.

What happens when you try to use the official release binary of Firefox 46 in FatDog-631?

Meanwhile I have discovered that there are some videos which simply will not play in a gtk2 firefox, no matter what the version number. Example:
http://www.smithsonianmag.com/videos/ca ... ng/?no-ist

So I think that, while it may serve as a temporary palliative, this strategy of recompiling firefox to use gtk2 is fated to become an evolutionary dead end. If we wish to continue to use our favorite gtk2 themes, we must get busy learning how to port them to gtk3.
“A wise man can learn more from a foolish question than a fool can learn from a wise answer.â€￾ --Bruce Lee

quirkian2new
Posts: 152
Joined: Tue 06 Oct 2015, 14:10
Location: on the inter-planet train

#5 Post by quirkian2new »

Downloaded the official release binary of Firefox 46 in FatDog-631, nothing happened when I clicked on the binary file "firefox" in ROX-Filer file manager.

When issue a command in the terminal, it looks as attached. Thanks
Attachments
Screenshot.jpg
(66.56 KiB) Downloaded 947 times

Keisha
Posts: 469
Joined: Tue 18 Nov 2014, 05:43

#6 Post by Keisha »

Looks like you need to use FatDog's package manager to download and install libgtk3. Then the release binary of firefox-46 should start.
“A wise man can learn more from a foolish question than a fool can learn from a wise answer.â€￾ --Bruce Lee

Post Reply