Building palemoon on Void Linux

For contributed third party builds not necessarily configured like the main product.
e.g. AVX builds, SSE builds, Pandora builds.
User avatar
andyprough
Fanatic
Fanatic
Posts: 229
Joined: 2020-05-31, 04:33

Building palemoon on Void Linux

Unread post by andyprough » 2022-05-14, 21:26

These are my simple notes on building Pale Moon on Void recently. Since Void does not have a legitimate user forum but instead uses reddit I'm going to post these notes here.

Figuring out the dependencies has been a major hassle due to Void's unique packaging and naming strategies, but here is my very over-inclusive list* of packages I installed before it would eventually build -
glib-devel gdk-pixbuf-devel pango-devel pango-xft binutils base-devel python-dbus-devel libXt-devel yasm dbus-glib-devel libdbusmenu-glib-devel autoconf213 gtk+-devel GConf GConf-devel pkgconf pkgconf-devel alsa-lib-devel openssl-devel sqlite-devel pulseaudio-devel gtk+3-devel libgtkdgl libgtkdgl-devel gegl-devel

Other than that, it builds on Void with the normal git commands from the Pale Moon Linux Build page. I edited the 'mach' file and changed #!/bin/sh to #!/bin/bash to reflect the shell that was in use.(Edit - not necessary, see below)

I built it without the Pale Moon branding just to see what it looks like. The start page for the unbranded version is quite good looking.

*(I'll try to figure which of these dependencies aren't necessary and update this thread with a more minimal list later).


bbrowser2.jpg

bbrowser1.jpg
Last edited by andyprough on 2022-05-14, 23:23, edited 3 times in total.
Self-compiled Pale Moon on Libre-antiX GNU/Linux respin, 32-bit and 64-bit, and on Hyperbola GNU/Linux 64-bit

User avatar
micwoj92
Fanatic
Fanatic
Posts: 146
Joined: 2020-12-22, 20:57

Re: Building palemoon on Void Linux

Unread post by micwoj92 » 2022-05-14, 21:40

python-dbus-devel is not needed, also you probably need to add python2 there.

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 663
Joined: 2018-10-28, 19:56
Location: Georgia
Contact:

Re: Building palemoon on Void Linux

Unread post by athenian200 » 2022-05-14, 22:07

andyprough wrote:
2022-05-14, 21:26
Other than that, it builds on Void with the normal git commands from the Pale Moon Linux Build page. I edited the 'mach' file and changed #!/bin/sh to #!/bin/bash to reflect the shell that was in use.
That shouldn't be needed anymore. The mach stub originally had a lot of Bash-specific code in it, but I removed enough of that so that it should work on other shells like dash and ksh if that's the problem you're having. Were you running into a problem with it using the default /bin/sh? If so, what is Void using for sh? I'd rather avoid a hard dependency on GNU Bash if we can help it.
"There are two sentences inscribed upon the Ancient oracle... 'Know thyself' and 'Nothing too much'; and upon these all other precepts depend." -- Plutarch

User avatar
andyprough
Fanatic
Fanatic
Posts: 229
Joined: 2020-05-31, 04:33

Re: Building palemoon on Void Linux

Unread post by andyprough » 2022-05-14, 22:13

micwoj92 wrote:
2022-05-14, 21:40
python-dbus-devel is not needed, also you probably need to add python2 there.
I should add that just to be safe. On Void, python2 is 'python', and it was already installed so I did not take note of it.
Self-compiled Pale Moon on Libre-antiX GNU/Linux respin, 32-bit and 64-bit, and on Hyperbola GNU/Linux 64-bit

User avatar
micwoj92
Fanatic
Fanatic
Posts: 146
Joined: 2020-12-22, 20:57

Re: Building palemoon on Void Linux

Unread post by micwoj92 » 2022-05-14, 22:23

Off-topic:
athenian200 wrote:
2022-05-14, 22:07
That shouldn't be needed anymore. The mach stub originally had a lot of Bash-specific code in it, but I removed enough of that so that it should work on other shells like dash and ksh if that's the problem you're having. Were you running into a problem with it using the default /bin/sh? If so, what is Void using for sh? I'd rather avoid a hard dependency on GNU Bash if we can help it.
Should problems building with posix shells be reported on bugtracker?

User avatar
andyprough
Fanatic
Fanatic
Posts: 229
Joined: 2020-05-31, 04:33

Re: Building palemoon on Void Linux

Unread post by andyprough » 2022-05-14, 22:24

athenian200 wrote:
2022-05-14, 22:07
That shouldn't be needed anymore. The mach stub originally had a lot of Bash-specific code in it, but I removed enough of that so that it should work on other shells like dash and ksh if that's the problem you're having. Were you running into a problem with it using the default /bin/sh? If so, what is Void using for sh? I'd rather avoid a hard dependency on GNU Bash if we can help it.
Oh have you been working on that in the past week? I built it on antiX Linux a week ago and it threw up an immediate error unless I changed mach to refer to bash. I can't recall the error now, it was angry about a parenthesis "(" - and then worked right away when I told mach to use bash. I didn't even try it with Void, just changed to refer to bash out of habit. But I tried it just now on antiX and no such error - so I'm assuming you changed something quite recently?
Self-compiled Pale Moon on Libre-antiX GNU/Linux respin, 32-bit and 64-bit, and on Hyperbola GNU/Linux 64-bit

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 663
Joined: 2018-10-28, 19:56
Location: Georgia
Contact:

Re: Building palemoon on Void Linux

Unread post by athenian200 » 2022-05-14, 22:48

micwoj92 wrote:
2022-05-14, 22:23
Off-topic:
Should problems building with posix shells be reported on bugtracker?
Yes, to me specifically. I'm technically the SunOS maintainer, but one of the skills I've developed in the process of fixing up the codebase for Solaris/illumos is learning about trouble spots that POSIX shells are likely to hit, so I'm willing to look into that specific kind of issue even on other operating systems like Linux since it is more in my area of expertise.
andyprough wrote:
2022-05-14, 22:24
Oh have you been working on that in the past week? I built it on antiX Linux a week ago and it threw up an immediate error unless I changed mach to refer to bash. I can't recall the error now, it was angry about a parenthesis "(" - and then worked right away when I told mach to use bash. I didn't even try it with Void, just changed to refer to bash out of habit. But I tried it just now on antiX and no such error - so I'm assuming you changed something quite recently?
Yeah, it was fixed here:

https://repo.palemoon.org/MoonchildProd ... ssues/1890

The reason it wasn't working is because our script had a very silly incompatibility with dash that was introduced and never checked because the script worked with ksh and bash, but no one thought to test a Debian-based distro because we didn't know they used a completely different shell called dash until recently. Most of my experience is with Red Hat-like Linux systems and Solaris, so I had no idea what dash even was until about two weeks ago when someone had an error with that script.
"There are two sentences inscribed upon the Ancient oracle... 'Know thyself' and 'Nothing too much'; and upon these all other precepts depend." -- Plutarch

User avatar
andyprough
Fanatic
Fanatic
Posts: 229
Joined: 2020-05-31, 04:33

Re: Building palemoon on Void Linux

Unread post by andyprough » 2022-05-14, 23:17

athenian200 wrote:
2022-05-14, 22:48
The reason it wasn't working is because our script had a very silly incompatibility with dash that was introduced and never checked because the script worked with ksh and bash, but no one thought to test a Debian-based distro because we didn't know they used a completely different shell called dash until recently. Most of my experience is with Red Hat-like Linux systems and Solaris, so I had no idea what dash even was until about two weeks ago when someone had an error with that script.
Ahh - mystery solved, thank you.
Self-compiled Pale Moon on Libre-antiX GNU/Linux respin, 32-bit and 64-bit, and on Hyperbola GNU/Linux 64-bit

User avatar
jobbautista9
Lunatic
Lunatic
Posts: 418
Joined: 2020-11-03, 06:47
Location: Philippines
Contact:

Re: Building palemoon on Void Linux

Unread post by jobbautista9 » 2022-05-16, 14:19

You might want to consider adding sndio's development headers to your build-time dependencies and add --enable-sndio to your mozconfig. sndio seems to be a "first-class citizen" in Void Linux, as they build their firefox with sndio support.

I've compiled my own personal build with --enable-sndio, as well as --disable-alsa and --disable-pulseaudio to force the browser to use sndio, since there seems to be no about:config option to set the audio backend (media.cubeb.backend doesn't work). It works fine, though YouTube videos can sometimes initially sound too loud or too quiet until you touch the volume control, due to the normalization they do to each video. Backporting bug #1467882 should fix this.
mima confirmed

Developer of Ambassador in Window Menu, BrowserTickTock, CacheSwitch, Chrome Navigator, Cite4Wiki, Clickity Touch 'n Push, ColorPili, EditDatContent, EditDatTitle, Esrever, Go Menu, User Agent Status, Website Navigation Bar, and Yet Another about:config Helper.

My PGP public key (My copy on rw.rs)

Touhou avatar by わんどろいど of pixiv

User avatar
Moonraker
Board Warrior
Board Warrior
Posts: 1875
Joined: 2015-09-30, 23:02
Location: uk.

Re: Building palemoon on Void Linux

Unread post by Moonraker » 2022-05-16, 15:09

It should be noted that there is a puppy woof-ce version of void available over at the puppy linux forum.
user of multiple puppy linuxes..upup,fossapup.scpup,xenialpup..... :thumbup:

Pale moon 29.4.1

User avatar
andyprough
Fanatic
Fanatic
Posts: 229
Joined: 2020-05-31, 04:33

Re: Building palemoon on Void Linux

Unread post by andyprough » 2022-05-16, 15:15

jobbautista9 wrote:
2022-05-16, 14:19
You might want to consider adding sndio's development headers to your build-time dependencies and add --enable-sndio to your mozconfig. sndio seems to be a "first-class citizen" in Void Linux, as they build their firefox with sndio support.

I've compiled my own personal build with --enable-sndio, as well as --disable-alsa and --disable-pulseaudio to force the browser to use sndio, since there seems to be no about:config option to set the audio backend (media.cubeb.backend doesn't work). It works fine, though YouTube videos can sometimes initially sound too loud or too quiet until you touch the volume control, due to the normalization they do to each video. Backporting bug #1467882 should fix this.
Very nice, I'll do that. I messed with sndio a bit on Hyperbola linux, thought it was quite good.
Self-compiled Pale Moon on Libre-antiX GNU/Linux respin, 32-bit and 64-bit, and on Hyperbola GNU/Linux 64-bit

User avatar
andyprough
Fanatic
Fanatic
Posts: 229
Joined: 2020-05-31, 04:33

Re: Building palemoon on Void Linux

Unread post by andyprough » 2022-05-16, 15:18

Moonraker wrote:
2022-05-16, 15:09
It should be noted that there is a puppy woof-ce version of void available over at the puppy linux forum.
Really? Puppy Void? Going to have to dig up a USB stick and give that puppy a test drive. Do you know is anyone maintaining Devuan Dog at this point? That used to be my favorite puppy-ish distro.
Self-compiled Pale Moon on Libre-antiX GNU/Linux respin, 32-bit and 64-bit, and on Hyperbola GNU/Linux 64-bit

User avatar
Moonraker
Board Warrior
Board Warrior
Posts: 1875
Joined: 2015-09-30, 23:02
Location: uk.

Re: Building palemoon on Void Linux

Unread post by Moonraker » 2022-05-16, 15:23

https://www.forum.puppylinux.com/viewtopic.php?t=3083

The above is the devuanpup thread.Cannot quite tell if it is kept up to date but puppy doesn't really need constant updating so appears to function ok,
user of multiple puppy linuxes..upup,fossapup.scpup,xenialpup..... :thumbup:

Pale moon 29.4.1

Post Reply