Attempt to compile funne Android stuff (or Distant's Folly)

General project discussion.
Use this as a last resort if your topic does not fit in any of the other boards but it still on-topic.
Forum rules
This General Discussion board is meant for topics that are still relevant to Pale Moon, web browsers, browser tech, UXP applications, and related, but don't have a more fitting board available.

Please stick to the relevance of this forum here, which focuses on everything around the Pale Moon project and its user community. "Random" subjects don't belong here, and should be posted in the Off-Topic board.
User avatar
PseudoDistant
Moonbather
Moonbather
Posts: 73
Joined: 2024-02-06, 20:19

Attempt to compile funne Android stuff (or Distant's Folly)

Unread post by PseudoDistant » 2024-03-04, 18:01

idk if this is the proper place to put this thread, feel free to move it if I dumbed.

So today, a friend of mine asked if there would ever be a Pale Moon or Basilisk mobile (I've succeeded in showing him the light), and I said that none currently exist.
But then I thought:
"Maybe it's something I could try. I have some background in Android application development, maybe I could work it out." (I tend to swing between overestimating and underestimating my capabilities, often at the worst of times.)
So I found and downloaded the source code for Firefox Fennec 52.0.2, as afaik Firefox for Mobile back in the day was just the Firefox mobile frontend on top of Gecko, should be possible to slap Goanna onto it and rewire some things, get it running.

My first mistake was thinking I could.

I assumed that it'd need Python 2.7 (I still believe it does), so I set up a Python 2.7.18 virtual environment, gave it a test, and successfully compiled Firefox 52 for Android!
- Is what I would say if it didn't even make it one second in before throwing

Code: Select all

Error running mach:

    ['build']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.

You should consider filing a bug for this issue.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

IOError: poll() gave POLLNVAL or POLLERR

  File "/home/distant/Funne Hacc Jobe/firefox-52.0.2/python/mozbuild/mozbuild/mach_commands.py", line 459, in build
    monitor.finish(record_usage=status==0)
  File "/home/distant/Funne Hacc Jobe/firefox-52.0.2/python/mozbuild/mozbuild/mach_commands.py", line 236, in __exit__
    self.monitor.stop_resource_recording()
  File "/home/distant/Funne Hacc Jobe/firefox-52.0.2/python/mozbuild/mozbuild/controller/building.py", line 243, in stop_resource_recording
    self.resources.stop()
  File "/home/distant/Funne Hacc Jobe/firefox-52.0.2/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py", line 304, in stop
    while self._pipe.poll(1.0):
There's probably a lot I'm missing here, and I understand I already have a lot on my plate, but I'd really like a non-Chromium browser for mobile and I feel like I could do it if I slammed my head into the wall hard enough. But it seems I don't know that much about Mozilla's toolchain in general. Does anyone know how I could at least get this to compile so I can fail to actually get it working later? :angel:
Eat your school.
Eat your drugs.
Eat your teeth.

User avatar
Nuck-TH
Project Contributor
Project Contributor
Posts: 204
Joined: 2020-03-02, 16:04

Re: Attempt to compile funne Android stuff (or Distant's Folly)

Unread post by Nuck-TH » 2024-03-05, 10:55

In my experience, before rather deep into Quantum(~version 80-90), android Firefox was practically useless - hellishly slow and had no support for any extensions.

Tbh, i do not see this being particularly useful - it will be as slow, and without ad blocking you gonna have a bad time. Plus Fennec(as in Firefox android UI) is not based on XUL, so can't be customised.
AFAIK, to bring XUL/XPCOM to android, Fennec pretty much as whole can be thrown out and everything it did need to designed and written from scratch.

User avatar
PseudoDistant
Moonbather
Moonbather
Posts: 73
Joined: 2024-02-06, 20:19

Re: Attempt to compile funne Android stuff (or Distant's Folly)

Unread post by PseudoDistant » 2024-03-05, 14:18

Nuck-TH wrote:
2024-03-05, 10:55
In my experience, before rather deep into Quantum(~version 80-90), android Firefox was practically useless - hellishly slow and had no support for any extensions.

Tbh, i do not see this being particularly useful - it will be as slow, and without ad blocking you gonna have a bad time. Plus Fennec(as in Firefox android UI) is not based on XUL, so can't be customised.
AFAIK, to bring XUL/XPCOM to android, Fennec pretty much as whole can be thrown out and everything it did need to designed and written from scratch.
I had Firefox 31 installed on an old Samsung Galaxy Prevail. I could install Ghostery and a few others back in the day.
I think they removed the ability to install extensions later, but it was there at some point in the past. (Even if the UI isn't XUL at all).
I also don't remember it being that slow, even on the Prevail's older 800 MHz arm11 CPU.
Eat your school.
Eat your drugs.
Eat your teeth.

mrnhmath
Fanatic
Fanatic
Posts: 122
Joined: 2017-06-21, 02:37

Re: Attempt to compile funne Android stuff (or Distant's Folly)

Unread post by mrnhmath » 2024-03-05, 14:22

Reverse the Android removals in your tree and see what you can get. I would also look at what would it take to revive fennec-xul, which was the first iteration of Fennec that used XUL for its UI instead of native components.

User avatar
Nuck-TH
Project Contributor
Project Contributor
Posts: 204
Joined: 2020-03-02, 16:04

Re: Attempt to compile funne Android stuff (or Distant's Folly)

Unread post by Nuck-TH » 2024-03-05, 15:20

mrnhmath wrote:
2024-03-05, 14:22
I would also look at what would it take to revive fennec-xul, which was the first iteration of Fennec that used XUL for its UI instead of native components.
Didn't know that was a thing. Typical Mozilla....
This way it certainly has merit, no less because of how bad mobile UIs of browsers are...

mrnhmath
Fanatic
Fanatic
Posts: 122
Joined: 2017-06-21, 02:37

Re: Attempt to compile funne Android stuff (or Distant's Folly)

Unread post by mrnhmath » 2024-03-05, 15:39

Nuck-TH wrote:
2024-03-05, 15:20
mrnhmath wrote:
2024-03-05, 14:22
I would also look at what would it take to revive fennec-xul, which was the first iteration of Fennec that used XUL for its UI instead of native components.
Didn't know that was a thing. Typical Mozilla....
This way it certainly has merit, no less because of how bad mobile UIs of browsers are...
They had it going on all major mobile platforms from back in the day with the same UI/UX across them, it was quite neat but the hardware just wasn't there. I suppose fennec-xul would fare much better with today's devices.

User avatar
PseudoDistant
Moonbather
Moonbather
Posts: 73
Joined: 2024-02-06, 20:19

Re: Attempt to compile funne Android stuff (or Distant's Folly)

Unread post by PseudoDistant » 2024-03-11, 01:29

Nuck-TH wrote:
2024-03-05, 15:20
mrnhmath wrote:
2024-03-05, 14:22
I would also look at what would it take to revive fennec-xul, which was the first iteration of Fennec that used XUL for its UI instead of native components.
Didn't know that was a thing. Typical Mozilla....
This way it certainly has merit, no less because of how bad mobile UIs of browsers are...
Image

Firefox for Android 52 (after I installed some extensions from the Pale Moon Add-ons page)
This is the tablet UI, if the display size is small enough it'll instead display a UI that's more phone-optimized.

Not all add-ons can install, but a few of them can.
It won't support Pale Moon overlay extensions, due to having a different UI (and application ID).
Eat your school.
Eat your drugs.
Eat your teeth.