SeaLion (SeaMonkey / Borealis fork)

Discussions about applications built on our platform code that do not have a dedicated board.

Moderators: trava90, athenian200

User avatar
Drugwash
Lunatic
Lunatic
Posts: 335
Joined: 2016-01-28, 12:08
Location: Ploieşti, Romania

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Drugwash » 2026-01-16, 02:49

Tried to build this out of sheer curiosity, and failed. Considering recent changes to the UXP platform - mainly removal of Gconf references and automatic building of Gio with GTK, referenced here - I believe the SeaLion sources require a few changes.

Also, the mach script assumes certain syntax is available in all Linux sh, which is not necessarily true. At least on my machine (Linux Mint 19.2 Cinnamon, built on Ubuntu 18.04) the sh binary doesn't recognize the double square brackets ([[ ]]), treating them as errors.
A simple shebang replacement from #!/bin/sh to #!/bin/bash fixes the issue. Since that may break portability I believe shipping different mach scripts (i.e. mach_macos - or mach_darwin - and mach_linux) would be straightforward and beneficial.

Same separation might be useful for .mozconfig too. Thankfully I had a template from previously building Pale Moon, otherwise it would've been difficult to modify it for Linux. Here's a possible sample that also provides hints as to how to select a compiler different than the system default, use the SSE2 instruction set in case the sources are capable of using AVX/AVX2, and limit the number of CPU threads for machines with limited RAM:

Code: Select all

# tailor these two to use a compiler different than the system default
export CC=gcc-9
export CXX=g++-9

# These must be set for cross builds, and don't hurt straight builds.
RANLIB="${TOOLCHAIN_PREFIX}ranlib"
AR="${TOOLCHAIN_PREFIX}ar"
AS=$CC
LD=ld
STRIP="${TOOLCHAIN_PREFIX}strip"
OTOOL="${TOOLCHAIN_PREFIX}otool"
#export CC CXX HOST_CC HOST_CXX RANLIB AR AS LD STRIP OTOOL
export RANLIB AR AS LD STRIP OTOOL

# Clear this if not a 64bit build
_BUILD_64=1

# Set GTK Version to 2 or 3
_GTK_VERSION=3

# Application and target
export MOZ_PKG_SPECIAL=sse2_gtk"$_GTK_VERSION"
ac_add_options --enable-application=navigator

# Build options
mk_add_options MOZ_MAKE_FLAGS="-j2"
ac_add_options --enable-optimize="-O2 -msse2 -mfpmath=sse -w"
ac_add_options --enable-default-toolkit=cairo-gtk$_GTK_VERSION

ac_add_options --disable-precompiled-startupcache

ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --enable-av1
ac_add_options --enable-jxl
ac_add_options --disable-webrtc
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-crashreporter
ac_add_options --disable-necko-wifi
ac_add_options --disable-safe-browsing
ac_add_options --disable-devtools
#ac_add_options --disable-gconf

export MOZ_TELEMETRY_REPORTING=0
export MOZ_ADDON_SIGNING=0
export MOZ_REQUIRE_SIGNING=0

ac_add_options --x-libraries=/usr/lib64
Fortunately I had not yet updated the platform code for the Pale Moon sources, so I copied those to the SeaLion folder and used them to build it. They're from July 2025. Build was succesful this time. :thumbup:

Image

My machine is quite old for today's standards (CPU Intel Core i5 M460, 8GB DDR3), compilation takes 3 hours, and it's frustrating to wait a long time only to get some error in the end. Hopefully these suggestions would help others.

User avatar
wicknix
Fanatic
Fanatic
Posts: 185
Joined: 2018-03-26, 04:47
Location: Wisconsin, USA

Re: SeaLion (SeaMonkey / Borealis fork)

Post by wicknix » 2026-01-17, 04:43

Thanks for the insight. Feel free to submit some PR’s to SeaLion's github. Since i mainly only build for older Intel Macs i don’t pay attention to the changes made to UXP that affect Linux. All the Linux builds linked on github have come from 3rd party builders. No mention of any changes needed from them so far.

Cheers
Silence is golden, but duct tape is silver...

User avatar
Drugwash
Lunatic
Lunatic
Posts: 335
Joined: 2016-01-28, 12:08
Location: Ploieşti, Romania

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Drugwash » 2026-01-17, 05:01

Unfortunately I don't have a GitHub account anymore due to their 2FA requirement, I deleted it sometime last year. Besides, I'm not that familiar with C/C++ enough to make meaningful changes to the code.

Hopefully people who contributed third-party Linux builds so far will fix the code after the UXP code gets relatively stable; that is, when new Pale Moon 34 gets released. I have not yet tried to build Pale Moon 34 so no idea if it even builds or how deep the required changes might be for SeaLion.

q160765803
Moon lover
Moon lover
Posts: 81
Joined: 2023-04-13, 07:57

Re: SeaLion (SeaMonkey / Borealis fork)

Post by q160765803 » 2026-01-17, 10:21

Drugwash wrote:
2026-01-17, 05:01
Unfortunately I don't have a GitHub account anymore due to their 2FA requirement, I deleted it sometime last year. Besides, I'm not that familiar with C/C++ enough to make meaningful changes to the code.

Hopefully people who contributed third-party Linux builds so far will fix the code after the UXP code gets relatively stable; that is, when new Pale Moon 34 gets released. I have not yet tried to build Pale Moon 34 so no idea if it even builds or how deep the required changes might be for SeaLion.
Maybe you can push it to somewhere else, for example, codeberg?

User avatar
Drugwash
Lunatic
Lunatic
Posts: 335
Joined: 2016-01-28, 12:08
Location: Ploieşti, Romania

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Drugwash » 2026-01-17, 10:38

Yeah, about that... I do have an account there which I have not visited for quite some time. Problem is, my mind simply cannot get around using git to its full potential. I still put files there manually through the browser, which is a pain. I'm having big problems with my memory, and it's getting worse day by day. :(

Anyway, I've been digging around the code for a bit and I think I found the problems. Right now it's building - knock on wood - but it'll take about 2.5 hours more to know if it finishes without error, and then if it works correctly. If everything is OK I'll post here what needs to be done. It's not much anyway.

User avatar
Drugwash
Lunatic
Lunatic
Posts: 335
Joined: 2016-01-28, 12:08
Location: Ploieşti, Romania

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Drugwash » 2026-01-17, 18:34

Well... it works! :D (sorry for taking so long)

Files to be modified:
- /navigator/components/shell/src/nsGNOMEShellService.cpp (inspired from here)
- /navigator/confvars.sh

Optional when compiling the suite:
- /mail/components/shell/nsMailGNOMEIntegration.cpp
- /mail/components/steel/steelApplication.js

File additions specific to Linux (GTK3, SSE2):
- .mozconfig_linux
- mach_linux

Bonus automatic build script, complete with UXP and SeaLion code sync, file rename, and moving resulting archive to specific or default destination:
- build_sealion_linux_gtk3_sse2.sh

Last two additional files (before bonus script) are to be renamed to .mozconfig, respectively mach each time after any source sync from git, if not using the bonus script.

Apparently I can't attach anything to this board, not even images let alone archives. :( Had to upload the files to my Dropbox.
Here you are: direct download

User avatar
Moonchild
Project founder
Project founder
Posts: 38821
Joined: 2011-08-28, 17:27
Location: Sweden

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Moonchild » 2026-01-17, 20:24

For convenience, attaching it here.
You do not have the required permissions to view the files attached to this post.
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
Drugwash
Lunatic
Lunatic
Posts: 335
Joined: 2016-01-28, 12:08
Location: Ploieşti, Romania

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Drugwash » 2026-01-17, 20:35

Moonchild wrote:
2026-01-17, 20:24
For convenience, attaching it here.
Thank you. Quick question: are attachments disabled overall or could there be something wrong with my Pale Moon build? I did notice a couple minor oddities since upgrading yesterday to 33.9.1 (self-build): certain longer items are cut off in menu on main Pale Moon page, and YouTube videos on a search results page don't autostart anymore on hover as before. :?

User avatar
Moonchild
Project founder
Project founder
Posts: 38821
Joined: 2011-08-28, 17:27
Location: Sweden

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Moonchild » 2026-01-17, 20:42

Drugwash wrote:
2026-01-17, 20:35
are attachments disabled overall or could there be something wrong with my Pale Moon build?
Sounds like there might be something wrong with your Pale Moon build.
I haven't changed attachment settings at all for a very very long time on the forum. And your other oddities do sound wrong.
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
Drugwash
Lunatic
Lunatic
Posts: 335
Joined: 2016-01-28, 12:08
Location: Ploieşti, Romania

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Drugwash » 2026-01-17, 20:56

OK, thanks for the heads up. I'll try to revert to 33.9.0 (also self-built) that I've been using before, and see if the issues persist.

User avatar
wicknix
Fanatic
Fanatic
Posts: 185
Joined: 2018-03-26, 04:47
Location: Wisconsin, USA

Re: SeaLion (SeaMonkey / Borealis fork)

Post by wicknix » 2026-01-18, 03:00

Thanks guys. I’ll have a look and should have things adjusted for the next release.
Silence is golden, but duct tape is silver...

User avatar
Drugwash
Lunatic
Lunatic
Posts: 335
Joined: 2016-01-28, 12:08
Location: Ploieşti, Romania

Re: SeaLion (SeaMonkey / Borealis fork)

Post by Drugwash » 2026-01-18, 03:23

Great! In the mean time I'll work a little more on the automatic script, currently it only works when git has already been cloned, not nice for first time building.

EDIT: Here it is. Hopefully it works in all scenarios now. Please test carefully. ;)
build_sealion_linux_gtk3_sse2_v2.zip
And another version; minor code cleanup (redundant option) and added ability to customize the timeout until automatic defaults kick in on syncing.
build_sealion_linux_gtk3_sse2_v3.zip
Off-topic:
Yay, I managed to attach a file! Maybe a reboot was really needed. Darn Windows Linux... :roll:
You do not have the required permissions to view the files attached to this post.