Netsurf Browser porting to Atari FreeMiNT [PoC]


Please click here for the latest version! This page is obsolete and does not cover the native GEM port.

Content:

Last Update: 17.06.2015

About

The final reason for this PoC project is to provide an reliable, modern browser for the Atari Coldfire machines (acp.atari.org), but also CT6x tuned falcon and Atari Hades / TT (etc.) users may find this project interesting. The browser that is used for this target is NetSurf (www.netsurf-browser.org).
Netsurf offers several GUI frontends, some of them are very easy to port. For the PoC the SDL Version of NetSurf was used.

Sources for the GEM Version have been added to the NetSurf SVN!
This page will soon get an update, so that it also covers the native GEM port.

Instruction: compiling NetSurf under FreeMiNT.

I have to slow down a bit the netsurf development for Atari, because of real-life-work issues. I'm putting this information online to make it easy to compile netsurf for freemint and hopefully someone is joining the Atari-NetSurf fun! :) I'm currently submiting the most important patches to the NetSurf mailing list, so that NetSurf-framebuffer can be compiled out of the box with freemint.Then I try to fix some major bugs with the MiNT port, when that is done, im focusing on getting a grip on Graphics programming for the Atari with VDI so that I'm able to begin coding an native NetSurf port. But as I said, real-life issues will have first-priority for me.
  1. Get the latest available versions of make, mintlib, gcc (I'm using 4.3) for freemint.
  2. Create an directory, like "netsurf-dev"
  3. I prefer to build optimized for 68020 and higer, so I do: export CFLAGS="-m68020-60 -O2" before building anything.
  4. Make sure that pkg-config searches within /usr/local, adjust your mint.cnf to contain the following line:
    setenv PKG_CONFIG_PATH u:\usr\lib\pkgconfig,u:\usr\local\lib\pkgconfig
  5. Get & build curl, first, apply this patch to lib/connect.c (solves connection problems), then configuring it with the following options (to shorten compile time and size):
    ./configure --disable-debug --enable-optimize --disable-ldap --disable-ldaps --disable-rtsp --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smtp --disable-manual -- disable-sspi --target="m68020-60" When cross-compiling, use: sudo ./configure --disable-debug --enable-optimize --disable-ldap --disable-ldaps --disable-rtsp \ --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smtp --disable-manual --disable-sspi \ --target=m68k-atari-mint --host=m68k-atari-mint --prefix=/usr/m68k-atari-mint --with-random=/dev/urandom
  6. Get & build freetype2, with this modules.cfg ( again, to shorten compile time and size)
  7. Place the getnslibs.sh script into folder netsurf-dev, then run it to checkout the netsurf project libs
  8. You either need to patch libnsfb with these patches, or you have to replace the libnsfb directory with these sources which are already patched ( probably the better idea, as the lifetime of the patches is short...)
  9. Place makenslibs.sh into "netsurf-dev" - then you compile all the libs with the makenslibs.sh command.
  10. Then you checkout netsurf into "netsurf-dev" (svn co netsurf)
  11. Currently there is needed some patching:
  12. Place this Makefile.config into the netsurf directory.
  13. Compile with make

TODO:

NetSurf + SSL support

Small instruction on how to test SSL

SSL isn't working in the current framebuffer build - but with some patching it is useable. The patches will eventually provided with the next uploaded alpha binary - or maybe with the native GEM port - not sure how I will decide...
Even if SSL certificate validation fails, the current build (atari alpha 0.4) should display HTTPS pages without problems ( validation disabled )

Downloads

Download NetSurf 2.6 ( atari alpha 0.4 ) for FreeMiNT - (see changes)
Download Netsurf 2.5 ( atari alpha 0.3 ) for FreeMiNT - (has some networking problems)
Download the needed DejaVu Fonts RPM
Download the SSL Certificates needed for SSL here (altough I found out there is an custom ca-bundle file within netsurfs res folder...)


Netsurf showing monochrom.net Netsurf showing google Netsurf showing forum.atari-home.de

Contact

Visitors:


The NetSurf website