Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 514170 - www-client/netsurf-3.2 version bump
Summary: www-client/netsurf-3.2 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michael Weber (RETIRED)
URL:
Whiteboard:
Keywords:
: 529134 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-06-21 13:38 UTC by Roc Vallès
Modified: 2015-06-08 12:46 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Alters netsurf.eclass to set the LIBDIR variable when installing (netsurf.eclass-add-LIBDIR.patch,651 bytes, patch)
2014-08-02 20:58 UTC, S. Gilles
Details | Diff
Adds calling pkg-config on gstreamer (netsurf-3.2-framebuffer-pkgconfig.patch,1.63 KB, patch)
2014-11-15 17:25 UTC, S. Gilles
Details | Diff
Netsurf-3.2-reenable-glib-deprecated.patch (netsurf-3.2-reenable-glib-deprecated.patch,469 bytes, patch)
2014-11-15 17:42 UTC, S. Gilles
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Roc Vallès 2014-06-21 13:38:59 UTC
Netsurf 3.1 was released a couple months ago. Portage needs updating.

Reproducible: Always
Comment 1 S. Gilles 2014-08-02 20:58:38 UTC
Created attachment 382106 [details, diff]
Alters netsurf.eclass to set the LIBDIR variable when installing

Recent releases of netsurf libraries require this variable set to put .pc files in the correct place. Without this, version-bumping libraries such as libnsgif will place .pc files where they cannot be reached by netsurf, and so netsurf-3.1 will fail to build.

This patch assumes that /usr/lib/pkgconfig/ is the correct installation path for .pc files.  I am not aware if gentoo supports others.
Comment 2 S. Gilles 2014-08-03 06:40:36 UTC
Please ignore my earlier comment and patch - I had not realized that the netsurf buildsystem had updated.

I currently have a working overlay for netsurf-3.1 located at http://repo.or.cz/w/netsurf-overlay.git .  I have tested it only on AMD64, and I know it currently has problems with multilib systems.
Comment 3 Another Mortal 2014-09-15 11:30:32 UTC
make that 3.2 ...
Comment 4 S. Gilles 2014-09-18 02:35:57 UTC
I have updated my overlay to work with 3.2, and it works well enough to write this.

(Multilib is still problematic.)
Comment 5 Tamas Jantvik 2014-11-07 06:26:42 UTC
For me it compiles, but linking fails. Reports a lot of undefined symbols - to netsurf deps. During compilation pkg-config also complains that it can't find deps, but it goes on until linking still. I pulled your repo today.

What use flags work? I tried the follwing:
[ebuild     U #] www-client/netsurf-3.2::netsurf-overlay [3.0-r1::gentoo] USE="bmp fbcon* fbcon_frontend_x gif gstreamer* gtk javascript jpeg mng pdf-writer* png rosprite svgtiny truetype webp -debug -fbcon_frontend_able -fbcon_frontend_linux* -fbcon_frontend_sdl* -fbcon_frontend_vnc* -svg*" ABI_X86="(64) -32 (-x32)" 3,196 kB
[ebuild  N    #]  dev-libs/libnsfb-0.1.2::netsurf-overlay  USE="sdl vnc xcb -debug -static-libs {-test} -wayland" ABI_X86="(64) -32 (-x32)" 79 kB
[ebuild     U ~]   x11-libs/xcb-util-image-0.4.0 [0.3.9] USE="-doc -static-libs {-test}" ABI_X86="(64%*) -32% (-x32)" 321 kB
[nomerge       ] app-office/abiword-3.0.0-r2:2  USE="calendar collab cups goffice grammar introspection latex map math plugins readline redland spell thesaurus wmf wordperfect -debug -eds -ots" 
[nomerge       ]  x11-libs/cairo-1.12.16  USE="X directfb glib opengl openvg svg xcb xlib-xcb (-aqua) -debug -doc (-drm) (-gallium) (-gles2) -legacy-drivers (-qt4) -static-libs -valgrind" 
[nomerge       ]   x11-libs/xcb-util-0.4.0 [0.3.9] USE="-doc -static-libs {-test}" ABI_X86="(64%*) -32% (-x32)" 
[ebuild  N     ]    x11-libs/xcb-util-cursor-0.1.1  USE="-doc -static-libs {-test}" 275 kB
[ebuild     U ~]     x11-libs/xcb-util-0.4.0 [0.3.9] USE="-doc -static-libs {-test}" ABI_X86="(64%*) -32% (-x32)" 291 kB
[ebuild     U ~]      x11-libs/xcb-util-renderutil-0.3.9-r1 [0.3.8] USE="-doc -static-libs {-test}" ABI_X86="(64%*) -32% (-x32)" 287 kB
[ebuild     U ~]      x11-libs/xcb-util-keysyms-0.4.0 [0.3.9] USE="-doc -static-libs {-test}" ABI_X86="(64%*) -32% (-x32)" 284 kB
[nomerge       ] www-client/netsurf-3.2::netsurf-overlay [3.0-r1::gentoo] USE="bmp fbcon* fbcon_frontend_x gif gstreamer* gtk javascript jpeg mng pdf-writer* png rosprite svgtiny truetype webp -debug -fbcon_frontend_able -fbcon_frontend_linux* -fbcon_frontend_sdl* -fbcon_frontend_vnc* -svg*" ABI_X86="(64) -32 (-x32)" 
[ebuild     U #]  media-libs/librosprite-0.1.1::netsurf-overlay [0.1.0::gentoo] USE="-debug -static-libs" ABI_X86="(64) -32 (-x32)" 31 kB
[ebuild     U #]  dev-libs/libcss-0.4.0::netsurf-overlay [0.2.0::gentoo] USE="-debug -static-libs {-test}" ABI_X86="(64) -32 (-x32)" 452 kB
[ebuild     U #]  media-libs/libnsgif-0.1.1::netsurf-overlay [0.1.0::gentoo] USE="-debug -static-libs" ABI_X86="(64) -32 (-x32)" 198 kB
[ebuild     U #]  dev-libs/nsgenbind-0.1.1::netsurf-overlay [0.0.1::gentoo] USE="-debug" ABI_X86="(64) -32 (-x32)" 50 kB
[ebuild     U #]  media-libs/libnsbmp-0.1.1::netsurf-overlay [0.1.0::gentoo] USE="-debug -static-libs" ABI_X86="(64) -32 (-x32)" 198 kB
[ebuild  N     ]  media-libs/libharu-2.2.1-r1  USE="png zlib -static-libs" 774 kB
Comment 6 S. Gilles 2014-11-07 07:40:16 UTC
My default USE flags (and, I must admit, the only ones I had tested with) are

USE="bmp fbcon fbcon_frontend_linux gif gstreamer gtk javascript jpeg mng png rosprite svg svgtiny truetype webp -debug -fbcon_frontend_able -fbcon_frontend_sdl -fbcon_frontend_vnc -fbcon_frontend_x -pdf-writer"

When I tested with your USE flags, I could confirm your error.  It looks like the issue was that libdom wasn't being installed.  From what I can tell, libdom was missing from the dependencies, but was accidentally pulled in by my USE flags because I have svg set, and libsvgtiny depends on libdom.  I'm not sure why libdom was dropped from the dependencies of netsurf proper - but it appears this was done back in netsurf-3.0.  I've re-added libdom as a dependency.

With that completed, there's still an error, this time it seems that part of the pdf writing code doesn't compile. Based on the bug report upstream http://bugs.netsurf-browser.org/mantis/view.php?id=497 it doesn't look like it will be fixed, therefore I have disabled the pdf-writer USE flag.

So as of about three minutes ago, USE flags USE="bmp fbcon fbcon_frontend_x gif gstreamer gtk javascript jpeg mng png rosprite svgtiny truetype webp -debug -fbcon_frontend_able -fbcon_frontend_linux -fbcon_frontend_sdl -fbcon_frontend_vnc -svg"  produce, for me, a binary that launches and can display the front page of Wikipedia.  Hopefully this should work for you as well.
Comment 7 Tamas Jantvik 2014-11-07 08:44:32 UTC
Thank you for the quick and splendid answer. I can confirm that the pulling the depended packages from your overlay and disabling pdf-writer enables building netsurf.
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2014-11-13 12:02:12 UTC
*** Bug 529134 has been marked as a duplicate of this bug. ***
Comment 9 Michael Weber (RETIRED) gentoo-dev 2014-11-15 14:18:02 UTC
Hi,

I just worked my way http://dev.gentoo.org/~xmw/netsurf.png to finally read this bug ;-)

I've also bumped all packages, made precise *DEPEND entry to pull all the new library versions, made use of the new buildsystem version and fixed all these bug 260867 and -D_BSD_SOURCE bug 528456 blockers.

Did you change anything else I missed browsing your repo?
Comment 10 Michael Weber (RETIRED) gentoo-dev 2014-11-15 15:02:49 UTC
+*netsurf-3.2 (15 Nov 2014)
+
+  15 Nov 2014; Michael Weber <xmw@gentoo.org> +files/netsurf-3.2-CFLAGS.patch,
+  +files/netsurf-3.2-conditionally-include-image-headers.patch,
+  +files/netsurf-3.2-glibc2.20.patch, +netsurf-3.2.ebuild:
+  Version bump, frist try.
+

 # $Header: /var/cvsroot/gentoo-x86/profiles/arch/arm/ChangeLog,v 1.325 2014/11/14 21:25:53 maekke Exp $

+  15 Nov 2014; Michael Weber <xmw@gentoo.org> package.use.mask:
+  p.use mask www-client/netsurf[pdf-writer] due missing keywords on libharu
+
Comment 11 S. Gilles 2014-11-15 17:25:34 UTC
Created attachment 389428 [details, diff]
Adds calling pkg-config on gstreamer
Comment 12 S. Gilles 2014-11-15 17:42:32 UTC
Created attachment 389430 [details, diff]
Netsurf-3.2-reenable-glib-deprecated.patch
Comment 13 S. Gilles 2014-11-15 17:47:12 UTC
I see some updates in the main portage tree, but libnsfb-0.1.2 is missing.  That was a pretty simple update, so I version bumped it locally.

That said, the only (possibly) significant differences I see are:

 - mozjs185: I have =dev-lang/spidermonkey-1.8.5-r4[${MULTILIB_USEDEP}] listed as a dependency for netsurf[javascript]. Without this, I'm getting a build error "gtk/Makefile.target:31: *** Unable to find library for: JavaScript (mozjs185). Stop."  With spidermonkey-17.0.0-r3 only installed, the same happens, so apparently netsurf asks for mozjs185 specifically.  This is probably pretty trivial, since netsurf's javascript support isn't really useful for an end-user right now.

 - The libdom dependency: I do see Tamas Jantvik's build issue with USE="bmp fbcon fbcon_frontend_linux gif gstreamer gtk javascript jpeg mng png rosprite svgtiny truetype webp -debug -fbcon_frontend_able -fbcon_frontend_sdl -fbcon_frontend_vnc -fbcon_frontend_x -pdf-writer -svg" .  Turning on the svg flag fixes this, and since I can't seem to find a USE configuration that doesn't include svg and that does build, I suspect the whole browser depends on it.

 - gst: with USE="bmp fbcon fbcon_frontend_linux gif gstreamer gtk javascript jpeg mng png rosprite svgtiny truetype webp -debug -fbcon_frontend_able -fbcon_frontend_sdl -fbcon_frontend_vnc -fbcon_frontend_x -pdf-writer svg", building ends with a failed #include of <gst/gst.h> (full log at http://sprunge.us/TRQa ) .  My fix for this was modifying the netsurf-3.X-framebuffer-pkgconfig.patch to include calling pkg-config on gstreamer-0.10. The modified patch is in my repo, but for convenience I've also attached it.

 - gst part II: Applying the above then seems to trigger upstream bug http://bugs.netsurf-browser.org/mantis/view.php?id=1872 . My solution to that was to carry forward the reenable-deprecated patch.  As above, the modified patch is in my repo, but for convenience I've attached it.

Those are the only differences that I can detect, and applying them compiles netsurf for me.  There are probably better solutions than the ones I've provided, but there they are.

Thanks for the bump!
Comment 14 Kobboi 2015-04-06 18:20:37 UTC
Running into the gst-1 of the above comment:

x86_64-pc-linux-gnu-gcc -march=core2 -O2 -pipe -DWITH_JPEG -UWITH_PDF_EXPORT -DLIBICONV_PLUG -I. -Ibuild-Linux-framebuffer -DNETSURF_UA_FORMAT_STRING=\""NetSurf/%d.%d (%s)"\" -DNETSURF_HOMEPAGE=\""about:welcome"\" -DWITH_PNG -DFB_USE_FREETYPE -I/usr/include/freetype2 -Dnsframebuffer  '-DNETSURF_FB_RESPATH="${HOME}/.netsurf/:${NETSURFRES}:/usr/share/netsurf/:./framebuffer/res"' '-DNETSURF_FB_FONTPATH="/usr/share/fonts/dejavu"' '-DNETSURF_FB_FONT_SANS_SERIF="DejaVuSans.ttf"' '-DNETSURF_FB_FONT_SANS_SERIF_BOLD="DejaVuSans-Bold.ttf"' '-DNETSURF_FB_FONT_SANS_SERIF_ITALIC="DejaVuSans-Oblique.ttf"' '-DNETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD="DejaVuSans-BoldOblique.ttf"' '-DNETSURF_FB_FONT_SERIF="DejaVuSerif.ttf"' '-DNETSURF_FB_FONT_SERIF_BOLD="DejaVuSerif-Bold.ttf"' '-DNETSURF_FB_FONT_MONOSPACE="DejaVuSansMono.ttf"' '-DNETSURF_FB_FONT_MONOSPACE_BOLD="DejaVuSansMono-Bold.ttf"' '-DNETSURF_FB_FONT_CURSIVE="Comic_Sans_MS.ttf"' '-DNETSURF_FB_FONT_FANTASY="Impact.ttf"'  -DWITH_NSSPRITE -I/usr/include/  -DWITH_BMP  -DWITH_GIF -I/usr/include/libxml2  -DWITH_NS_SVG -DWITH_WEBP -std=c99 -Dsmall -W -Wall -Wundef -Wpointer-arith -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wuninitialized -Wno-unused-parameter  -Wno-unused-but-set-variable -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=200112L -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL   -MMD -MT 'build-Linux-framebuffer/deps/image_video.d build-Linux-framebuffer/image_video.o' -MF build-Linux-framebuffer/deps/image_video.d -o build-Linux-framebuffer/image_video.o -c image/video.c
image/video.c:19:21: fatal error: gst/gst.h: No such file or directory