Commit graph

17 commits

Author SHA1 Message Date
Francois Perrad 152e160bf6 package/netsurf: add optional dependency on webp
new feature of version 3.9

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-08-01 16:54:04 +02:00
Bernd Kuhls 56a33e2a95 package/netsurf: needs host-vim
Fixes:
http://autobuild.buildroot.net/results/ade/adead660148cec04910b7a616cc85adfdd63ae95/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-07-28 12:22:10 +02:00
Bernd Kuhls 56d39c9014 package/netsurf: fix build of host tool convert_image
Upstream commit
http://source.netsurf-browser.org/netsurf.git/commit/frontends/framebuffer/Makefile?id=40cdf498b9153685b4cefe576e59f6b41090912b

renamed the variable HOST_*FLAGS to BUILD_*FLAGS.

This breaks the build of the host tool convert_image when png.h is not
provided by the host system itself.

Fixes:
http://autobuild.buildroot.net/results/6ac/6ac71c7a41dd92a5fb924af9da7cedc40e745cfa/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-07-27 22:22:40 +02:00
Francois Perrad 89267150fd package/netsurf: bump to version 3.9
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-07-20 15:38:54 +02:00
Peter Korsgaard 18855d79e2 package/netsurf: disallow on archs requiring ABI specific CFLAGS
Fixes:
http://autobuild.buildroot.net/results/67ef520d82ea529a9fe593d83a3aeae5f8b0ee5d/
http://autobuild.buildroot.net/results/eafc3e4be571d5ecee549a11530ac4e508f31782/
http://autobuild.buildroot.net/results/ba7f30833fef54162a82f4b336a72d6599594526/

The netsurf build system mixes up host and target CFLAGS, so it isn't
compatible with architectures where we pass ABI specific compiler flags (in
TARGET_ABI).

Add a _ARCH_SUPPORTS kconfig variable matching the TARGET_ABI logic we have
in package/Makefile.in, and use it to disallow netsurf for those
architectures.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-06-01 10:16:25 +02:00
Thomas Petazzoni bbfdfa77c4 package/netsurf: do not allow on static linking configurations
Static linking does not work properly in netsurf, nobody fixed it, and
the netsurf build system is completely broken. Let's disable the
package for static linking configurations.

Fixes:

  http://autobuild.buildroot.net/results/28b43c29e241080e23c87145797ea00dc4b3970d/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-05-14 23:13:26 +02:00
Thomas Petazzoni 1da0a84f78 package/netsurf: change how CFLAGS/LDFLAGS are passed
Fixes:
http://autobuild.buildroot.net/results/eeb2863c6237aac8428e49a5ee514d43088b0fb8
http://autobuild.buildroot.net/results/f938fd1515f1d6e11b57aa6e314135789da52a44

In commit 6da049f8ae ("package/netsurf:
fix build"), the CC variable passed to netsurf's build system was
extended to pass some special -I and -L options needed for netsurf to
find its own headers/libraries.

Unfortunately, on some systems (including mine), it breaks the build,
due to:

  toolpath_ := $(shell /bin/which $(CC__))

when $(CC__) contains some -I/-L options, they are considered to be
options "to which", which causes the funny:

/usr/bin/make install --directory=libnslog HOST=arm-buildroot-linux-uclibcgnueabi PREFIX=/home/thomas/projets/outputs/shared-netsurf/build/netsurf-3.8/tmpusr Q=@ WARNFLAGS='-Wall -W -Wno-error' DESTDIR=
make[3]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
/bin/which: invalid option -- 'I'
/bin/which: invalid option -- '/'
/bin/which: invalid option -- 'h'
/bin/which: invalid option -- 'o'
/bin/which: invalid option -- 'm'
/bin/which: invalid option -- 'e'
/bin/which: invalid option -- '/'
/bin/which: invalid option -- 't'
/bin/which: invalid option -- 'h'
/bin/which: invalid option -- 'o'
/bin/which: invalid option -- 'm'
/bin/which: invalid option -- 's'
/bin/which: invalid option -- '/'
[...]
/bin/which: invalid option -- 'l'
/bin/which: invalid option -- 'b'
/bin/which: --read-alias, -i: Warning: stdin is a tty.

and the build simply hangs.

We cannot pass CFLAGS/LDFLAGS as make options, as they would override
the CFLAGS definitions in netsurf Makefiles. However, those Makefiles
use the construct:

CFLAGS := $(CFLAGS) -more-flags

so by passing CFLAGS and LDFLAGS through the make environment, which
can achieve our goal.

It is worth mentioning that it remains very fragile, because
CFLAGS/LDFLAGS are used both for building target objects but also some
host tools. The netsurf build system is really not good.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-05-14 23:13:26 +02:00
Peter Korsgaard 6da049f8ae package/netsurf: fix build
Fixes:
http://autobuild.buildroot.net/results/a5b/a5bd8969c398fc3101ffaec4aa715a827aec5770/
http://autobuild.buildroot.net/results/441/44112e8ad03f47125bbf4b231d800ebd5beef24b/

After commit 122089ad (package/netsurf: use TMP_PREFIX inside the build
directory), the build fails with:

 COMPILE: src/stylesheet.c
In file included from src/stylesheet.c:12:0:
src/stylesheet.h:14:39: fatal error: libwapcaplet/libwapcaplet.h: No such file or directory
 #include <libwapcaplet/libwapcaplet.h>

The reason is that netsurf installs its internal libraries to TMP_PREFIX
during the build, and uses pkg-config to add the correct include/linker
flags when building/linking the rest.  Unfortunately this fails badly, as we
prefix STAGING_DIR to the paths returned by pkg-config, causing gcc to fail
to find the header / library files.

This worked (by accident) when we pointed TMP_PREFIX to STAGING_DIR/usr, as
STAGING_DIR/usr/include and STAGING_DIR/usr/lib are in the standard
include/library search paths.

Fix it by adding TMP_PREFIX/include and TMP_PREFIX/lib to the
include/library search paths.  We cannot easily add them to CFLAGS/LDFLAGS
as the makefiles do not use override when appending to them, so instead pass
both in CC (which is also used for linking).

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-05 13:17:44 +01:00
Thomas Petazzoni 122089adf6 package/netsurf: use TMP_PREFIX inside the build directory
The netsurf build system creates a stamp file inside TMP_PREFIX to
know if the build was done, and if the stamp file exists, it doesn't
do any build. Therefore, having this stamp file in STAGING_DIR
prevents from rebuilding netsurf, even after removing its entire build
directory: the stamp file exists in STAGING_DIR, and netsurf doesn't
build anything, causing the installation to fail.

We fix this by putting this temporary directory inside the netsurf
build directory. We must mkdir this directory manually, otherwise the
build fails with:

COMPILE: src/stylesheet.c
In file included from src/stylesheet.c:12:0:
src/stylesheet.h:14:10: fatal error: libwapcaplet/libwapcaplet.h: No such file or directory
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Arnout: mkdir it first]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-03 21:27:20 +01:00
Thomas Petazzoni 84be6912bb package/netsurf: use HOST_CFLAGS/HOST_LDFLAGS
In commit 9b0ac87538 ("package/netsurf:
make sure host libpng can be found"), the netsurf package was modified
to pass -L$(HOST_DIR)/lib so that libpng is found at link time.

However, this is not sufficient: for the host tool to work at runtime,
we need to have the proper RPATH encoded in the host
binary. Otherwise, building netsurf fails with:

build/Linux-framebuffer/tools/convert_image: error while loading shared libraries: libpng16.so.16: cannot open shared object file: No such file or directory
make[3]: *** [build/Linux-framebuffer/image-caret_image.c] Error 127

So basically, we need to build not only with -L$(HOST_DIR)/lib, but
with the complete HOST_LDFLAGS provided by Buildroot.

For consistency, we also use HOST_CFLAGS instead of hardcoding
-I$(HOST_DIR)/include.

It is worth mentioning that we must use single quotes here, because
the NETSURF_CONFIG variable value then gets put within double quotes
to be passed to the netsurf build system.

Fixes:

  http://autobuild.buildroot.net/results/4ff6a8c4017d006a4b6b9ca369a569fa72862900/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-28 11:51:23 +01:00
Francois Perrad 9b0ac87538 package/netsurf: make sure host libpng can be found
Commit 42c8f9f6b4 ("package/netsurf: add
dependency on host-libpng for sdl") ensured host-libpng was built
prior to netsurf when the SDL backend is selected. However, this is
not sufficient for the netsurf build system to find libpng on the
host, we need to help by providing the right HOST_CFLAGS and
HOST_LDFLAGS.

Fixes:

  http://autobuild.buildroot.net/results/d0bbd563fe5c9463316b2ba0d7ef5553be0563bc/

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
[Thomas: rewrite commit message.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-17 09:19:42 +01:00
Francois Perrad b808e65c1c package/netsurf: turn libcurl into an optional dependency
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-16 21:47:37 +01:00
Francois Perrad 436ed9d547 package/netsurf: add GTK+ 3 frontend
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-16 21:46:37 +01:00
Francois Perrad 4d8407091d package/netsurf: enable javascript with duktape
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-16 21:33:15 +01:00
Francois Perrad 03bb034d89 package/netsurf: add optional dependency on freetype
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-16 21:32:16 +01:00
Francois Perrad 42c8f9f6b4 package/netsurf: add dependency on host-libpng for sdl
libpng is used by the convert_image host tool, which is built when SDL
is enabled.

Fixes:
http://autobuild.buildroot.net/results/d0b/d0bbd563fe5c9463316b2ba0d7ef5553be0563bc/

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-12-11 23:17:05 +01:00
Francois Perrad f8b2b42efb package/netsurf: new package
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
[Thomas:
 - rename BR2_PACKAGE_NETSURF_FRAMEBUFFER to BR2_PACKAGE_NETSURF_SDL,
   and use "sdl" everywhere instead of "framebuffer", since really SDL
   can display on something else than the framebuffer
 - use a "depends on BR2_PACKAGE_LIBGTK2" instead of a "depends on
   BR2_PACKAGE_XORG7 + many other depends on + select
   BR2_PACKAGE_LIBGTK2"
 - use PKG_CONFIG_HOST_BINARY for the pkg-config path]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-10 21:32:51 +01:00