foudfou / FireTray

Mozilla icon tray. DISCONTINUED
https://foudfou.github.io/FireTray/
Other
102 stars 62 forks source link

non-win/linux desktop usage #166

Open scottfurry opened 9 years ago

scottfurry commented 9 years ago

Using FreeBSD 10.1 - Release with XFCE desktop. I used this add-on previously with Linux-based OS's without flaw. However, add-on is disabled because of OS compatibility (and Mozilla doesn't even list BSD-compatible add-ons).

I would very much like to get this add-on working for my environment. Including firefox about:buildconfig details. I don't have much experience with javascript, but if I can help - point me in the right direction, please.

Build platform
target
x86_64-portbld-freebsd10.1
Build tools
Compiler    Version     Compiler flags
cc  3.4.1   -Qunused-arguments -Wall -Wdeclaration-after-statement -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -O2 -pipe -march=native -O3 -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing -std=gnu99 -fgnu89-inline -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pipe
c++     3.4.1   -Qunused-arguments -isystem/usr/local/include -DLIBICONV_PLUG -Qunused-arguments -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wno-inline-new-delete -Wno-c++0x-extensions -Wno-extended-offsetof -Wno-unknown-warning-option -Wno-return-type-c-linkage -O2 -pipe -march=native -O3 -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing -DLIBICONV_PLUG -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pipe -DNDEBUG -DTRIMMED -O2 -O3 -fomit-frame-pointer -isystem/usr/local/include -DLIBICONV_PLUG
Configure arguments

--program-transform-name=s/firefox/firefox/ --enable-application=browser --enable-official-branding x86_64-portbld-freebsd10.1 --prefix=/usr/local --enable-system-cairo --with-system-libevent --enable-system-ffi --with-system-graphite2 --with-system-harfbuzz --enable-system-hunspell --with-system-icu --with-intl-api --with-system-jpeg=/usr/local --with-system-nspr --with-system-nss --with-system-opus --with-system-png=/usr/local --enable-system-pixman --with-system-soundtouch --enable-system-sqlite --with-system-vorbis --with-system-ogg --with-system-libvpx --enable-chrome-format=omni --enable-default-toolkit=cairo-gtk2 --with-pthreads --enable-extensions=default --enable-necko-protocols=default --with-system-zlib --with-system-bz2 --enable-unified-compilation --disable-debug-symbols --disable-glibtest --disable-gtktest --disable-freetypetest --disable-installer --disable-updater --disable-pedantic --enable-optimize --enable-startup-notification --enable-gstreamer=1.0 --disable-gconf --enable-gio --disable-gnomeui --disable-libproxy --enable-alsa --disable-pulseaudio --disable-debug --enable-release --disable-dtrace --enable-logging --disable-profiling --disable-tests --enable-strip --enable-install-strip
foudfou commented 9 years ago

Hi, ok so FireTray would need a few adjustments. For starters:

Then I guess some of the libs ABIs defined in modules/ctypes/linux/differ.

That'd be great if you could work on this. Otherwise I'd need a FreeBSD environment. Can you possibly provide me with such a VirtualBox VM ?

scottfurry commented 9 years ago

On 01/03/2015 15:25, foudfou wrote:

Hi, ok so FireTray would need a few adjustments. For starters:

  • |modules/commons.js:const FIRETRAY_OS_SUPPORT = ['linux', 'winnt'];|
  • rename |modules/ctypes/linux/| and |modules/linux/| with |freebsd|

Then I guess some of the libs ABIs defined in |modules/ctypes/linux/|differ.

That'd be great if you could work on this. Otherwise I'd need a FreeBSD environment. Can you possibly provide me with such a VirtualBox VM ?

— Reply to this email directly or view it on GitHub https://github.com/foudfou/FireTray/issues/166#issuecomment-76635039.

There are VM's available for BSD environmnets. I've used Qemu and installed the latest FreeBSD iso. Setting up a desktop environment can be a bit of a challenge.

Or I could do some of the work here...don't mind. I have the project cloned locally. I would need some guidance now and again. But I'm rather hopeful. Let me hack away at this a bit.

Scott

scottfurry commented 9 years ago

So...first pass. git diff http://pastebin.com/GUk5jbeP screen shot http://i.imgur.com/uJstoNi.png

BTW, having good instructions and very usable Makefile really help!!! If building on 'BSD's, others should use gmake (gnu make on 'BSD's - no effect to Linux users).

I had tried to use links rather than just copy files but the build mechanism didn't like that much. We'll probably want to sort out de-duplication if possible.

foudfou commented 9 years ago

Woah! Sounds great! A few hints:

foudfou commented 9 years ago

I remember zip does support symlinks, but I think xpi does not (to be verified). Ses also a similar issue.

scottfurry commented 9 years ago

On 02/03/2015 06:52, foudfou wrote:

I remember zip /does/ support symlinks, but I think xpi does not (to be verified). Ses also a similar issue </gnome-integration-team/firefox-gnome/issues/221>.

— Reply to this email directly or view it on GitHub https://github.com/foudfou/FireTray/issues/166#issuecomment-76714517.

I had a look at the discussion referenced (https://github.com/gnome-integration-team/firefox-gnome/issues/221). They seemed to conclude not to conclude.

As I understand the state of things...

WRT FireTray

The only compiled sources I see are the folders in src/lib. However, a .so or .dll are not present in the final xpi.

Overall, I'm hopeful that the add-on can be utilized by 'BSD folks. I'm sure there is a solution to packaging for other platforms...I just haven't had that "light-bulb" moment, yet. :-D

Am I missing anything?