Page 1 of 1

[Solved???] Netsurf "framebuffer"

Posted: 19 Mar 2018, 16:48
by n0ctilucient
Netsurf "framebuffer" is an ultra lightweight XCB based Dillo alternative
(for web browsing w/o slow bloated unsecure Gtk/Qt dependency)...

Site is...
@ http://www.netsurf-browser.org/

Source is...
@ http://www.netsurf-browser.org/downloads/source/

This package has not been adopted yet by ("slackonly" or)...
https://slakfinder.org
https://slackbuilds.org
https://pkgs.org

So far... I have not been able to successfully compile
this package with the following src2pkg conf...
see... Src2pkg.conf w/ "hardened" EXTRA_FLAGS

Thanx... in advance to anyone that is interested in sharing their precompiled package link.

[Solved...] Netsurf "framebuffer"

Posted: 19 Mar 2018, 16:50
by n0ctilucient
[Solved...] Slackonly has included it in it's repo.

Package is...
@ http://slakfinder.org/index.php?act=sea ... e=#results

To load the binary type... "netsurf-fb" @ the cmdline prompt.

The following are the runtime deps...
libidn2-2.0.4-x86_64-1
libunistring-0.9.9-x86_64-1
libvncserver-0.9.11-x86_64-2
xcb-util-image-0.4.0-x86_64-2
xcb-util-keysyms-0.4.0-x86_64-2
xcb-util-wm-0.4.1-x86_64-2

I first requested this package as "fullmoonremix" in this thread...
see... Dillo alternative?

[Solved...?] Netsurf "framebuffer"

Posted: 31 Mar 2018, 12:01
by n0ctilucient
Update...

I discovered new deps when attempting to compile "framebufferer" for SDL instead of x ("slonly")...

ccache-3.4.1-x86_64-1
perl-html-parser-3.72-x86_64-1alien
gperf-3.1-x86_64-1

also duktape...

Site is @... http://duktape.org/
Source is @... http://duktape.org/download.html

A required netsurf-all-3.7.tar.gz "make" configuration (using an archive editor)...

@ /netsurf-all-3.7/netsurf/makefile.config

Code: Select all

#
# NetSurf build configuration
#
#
# To configure NetSurf's build options create a Makefile.config file. This is
# an example Makefile.config.
#
# To see the available config options, look at Makefile.defaults, but make any
# alterations in your Makefile.config

### To enable/disable PNG support, uncomment the appropriate line below.
override NETSURF_USE_PNG := YES
# override NETSURF_USE_PNG := NO

### To enable/disable JPEG support, uncomment the appropriate line below.
override NETSURF_USE_JPEG := YES
# override NETSURF_USE_JPEG := NO

### To enable/disable RSVG support, uncomment the appropriate line below.
override NETSURF_USE_RSVG := YES
# override NETSURF_USE_RSVG := NO

### To enable/disable BMP support, uncomment the appropriate line below.
override NETSURF_USE_BMP := YES
# override NETSURF_USE_BMP := NO

### To enable/disable GIF support, uncomment the appropriate line below.
override NETSURF_USE_GIF := YES
# override NETSURF_USE_GIF := NO

### To enable/disable LIBICONV support, uncomment the appropriate line below.
# override NETSURF_USE_LIBICONV_PLUG := YES
override NETSURF_USE_LIBICONV_PLUG := NO

### To enable/disable CURL support, uncomment the appropriate line below.
override NETSURF_USE_CURL := YES
# override NETSURF_USE_CURL := NO

### To enable/disable OPENSSL support, uncomment the appropriate line below.
override NETSURF_USE_OPENSSL := YES
# override NETSURF_USE_OPENSSL := NO

### To enable/disable SVGTiny support, uncomment the appropriate line below.
override NETSURF_USE_NSSVG := AUTO
# override NETSURF_USE_NSSVG := NO

### To enable/disable NSPSL support, uncomment the appropriate line below.
# override NETSURF_USE_NSPSL := AUTO
override NETSURF_USE_NSPSL := NO

### To enable/disable NSLOG support, uncomment the appropriate line below.
# override NETSURF_USE_NSLOG := AUTO
override NETSURF_USE_NSLOG := NO

### To make the framebuffer front end use freetype for text, uncomment the
### following line
override NETSURF_FB_FONTLIB := freetype

### To disable JavaScript support, uncomment the appropriate line below.
override NETSURF_USE_DUKTAPE := NO

### To change flags to javascript binding generator
# GBFLAGS:=-g

[Solved???] Netsurf "framebuffer"

Posted: 31 Mar 2018, 12:38
by n0ctilucient
Required netsurf-all-3.7.tar.gz "make" configuration "modifications" (using an archive editor)...

@ /netsurf-all-3.7/netsurf/makefile

Code: Select all

# Default target is GTK backend
ifeq ($(TARGET),)
  TARGET := framebuffer
endif

@ /netsurf-all-3.7/netsurf/frontends/framebuffermakefile.defaults

Code: Select all

# Framebuffer default surface provider.
# Valid values are: x, sdl, linux, vnc, able,
NETSURF_FB_FRONTEND := sdl
also...

Code: Select all

# Library to use for font plotting
# Valid options: internal, freetype
NETSURF_FB_FONTLIB := freetype
Unfortunately... the src2pkg log returns this error... :wall:

Code: Select all

content/content.c: In function 'content_abort':
./utils/log.h:72:26: error: 'NSLOG_LEVEL_' undeclared (first use in this function); did you mean 'NSLOG_LVL'?

[Solved???] Netsurf "framebuffer"

Posted: 31 Mar 2018, 16:05
by jssouza
Alienbob has netsurf (slackbuild as well as pkg) here:
http://www.slackware.com/~alien/slackbuilds/netsurf/

[Solved???] Netsurf "framebuffer"

Posted: 31 Mar 2018, 16:29
by Ed_P
So does USM.

Code: Select all

guest@porteus:~$ su
Password: 
root@porteus:/home/guest# usm -s netsurf

netsurf-3.3-x86_64-3_slonly.txz was found in slackonly [not installed]
netsurf-3.7-x86_64-1alien.tgz was found in alien [not installed]
Packages found:   2 

Use:   usm -i <package>  for more info
Use:   usm -g <package>  to download

root@porteus:/home/guest# 
Includes Alien's pkg and makes it into a module. :good:

[Solved???] Netsurf "framebuffer"

Posted: 14 Jun 2019, 23:00
by n0ctilucient

[Solved???] Netsurf "framebuffer"

Posted: 15 Jun 2019, 01:24
by francois
jssouza you are too subtle and just pass insconciously. B)

[Solved???] Netsurf "framebuffer"

Posted: 17 Jun 2019, 15:11
by n0ctilucient
I'm currently working on a hardened XCB version of Netsurf.

[Solved???] Netsurf "framebuffer"

Posted: 19 Jun 2019, 01:39
by nanZor
Thanks for working on that!

I enjoyed Dillo, but I don't think there's *ever* going to be a release beyond 3.05, even though work on it has continued for years. I even donated a bit, but I don't see any further release happening. Maybe it's a perfectionist thing - dunno'.

Still - I used it for years and donated a little a few years ago to show appreciation.

So Netsurf caught my eye...

[Solved???] Netsurf "framebuffer"

Posted: 03 Jul 2019, 17:47
by jssouza
n0ctilucient, posted a link to a slackbuild. Check that. You can harden it the way you want. That's what a slackbuild is there for.

[Solved???] Netsurf "framebuffer"

Posted: 04 Jul 2019, 14:26
by n0ctilucient
I don't know how to harden other than from source using scr2pkg...

Code: Select all

# ===================================================["fullmoonremix"]

# Pls Note:  Mileage may vary... so take the following parameters w/ a grain of salt.
# (This configuration successfully compiles "musl" libc)

# (...configure)
PACKAGER="fullmoonremix"
SIG="_fmr4"
QUIET="NO"
PREFIX=/usr
LIBDIR=${PREFIX}/lib64
CREATE_MD5_CHECKSUM="YES"
BIN_COMPRESSOR=upx
COMPRESS_BINS=YES

# (...install)
INSTALL_TYPE=REAL
INSTALL_LINE="make -i install"

# (...path)
SOURCES_DIR="$CWD"
PKG_DEST_DIR="$CWD"

LOG_DIR="$CWD/src2pkg/log"
SRC_BUILDS_DIR="$CWD/src2pkg/source"
PKG_BUILDS_DIR="$CWD/src2pkg/package"

# pls note: you might need to create the, 
# following "current directory" subfolders...
BACKUPS_SAVE_DIR="$CWD/src2pkg/backup/save"
PATCHES_DIR="$CWD/src2pkg/patches"
CONFIG_DIR="$CWD/src2pkg/configure"
BACKUP_DIR="$CWD/src2pkg/backup"

# (...flags)
STD_FLAGS="-O3 -D_FORTIFY_SOURCE=2 -DPIC -fPIC -mmitigate-rop -pipe -fwrapv -fomit-frame-pointer -fmerge-all-constants -momit-leaf-frame-pointer -pipe -pthread -fopenmp"

# (...ld)
LDLIBS="-lmcheck -lpthread -ldl -lOpenCl -lselinux"
EXTRA_LDFLAGS="-z,relro,-z,now"

# (...autoconf)
AUTO_CONFIG=NATIVE
AUTO_CONFIG_OPTIONS="sysconfdir, bindir, libdir, docdir, mandir, localdir, sharedir"
AC_DEFAULT_PREFIX=/usr

# (...host)
ADD_EXPLICIT_HOST=YES
CFLAGS="-march=native -mtune=generic ./configure --prefix=/usr --build=native-slackware-linux --host=native-slackware-linux --target=native-slackware-linux"
CXXFLAGS="-march=native -mtune=generic ./configure --prefix=/usr  --build=native-slackware-linux --host=native-slackware-linux --target=native-slackware-linux"

# (...options)
JOBS='-j4'
LINK_LICENSES=YES
COMPRESS_DOCS=YES
DOCLIST=MINIMAL 
LOG_COMMANDS=YES
AUTO_DESKTOP=YES
FAIL_ON_BAD_DIRS=YES

# (...optional)
EXTRA_CONFIGS="--x-libraries=/usr/X11R6/lib64 --x-includes=/usr/includes --with-openssl-dir --with-tcl=../lib64 --with-tk=../lib64 --with-pic --with-selinux --with-x --with-xft --with-xftconfig --enable-dependency-tracking sysconfdir=${AC_DEFAULT_PREFIX}/etc bindir=${AC_DEFAULT_PREFIX}/bin libdir=${AC_DEFAULT_PREFIX}/lib64 docdir=${AC_DEFAULT_PREFIX}/doc mandir=${AC_DEFAULT_PREFIX}/man localdir=${AC_DEFAULT_PREFIX}/local sharedir=${AC_DEFAULT_PREFIX}/share"