summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www-client/netsurf/ChangeLog9
-rw-r--r--www-client/netsurf/files/netsurf-3.2-CFLAGS.patch77
-rw-r--r--www-client/netsurf/files/netsurf-3.2-conditionally-include-image-headers.patch67
-rw-r--r--www-client/netsurf/files/netsurf-3.2-glibc2.20.patch30
-rw-r--r--www-client/netsurf/netsurf-3.2.ebuild139
5 files changed, 321 insertions, 1 deletions
diff --git a/www-client/netsurf/ChangeLog b/www-client/netsurf/ChangeLog
index fa09a929fc67..6945635dbbd3 100644
--- a/www-client/netsurf/ChangeLog
+++ b/www-client/netsurf/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for www-client/netsurf
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/netsurf/ChangeLog,v 1.14 2014/06/24 22:17:10 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/netsurf/ChangeLog,v 1.15 2014/11/15 15:01:58 xmw Exp $
+
+*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.
24 Jun 2014; Michał Górny <mgorny@gentoo.org> netsurf-3.0-r2.ebuild:
Lower dev-libs/glib dep to first known EAPI=5 version, requested by Funtoo for
diff --git a/www-client/netsurf/files/netsurf-3.2-CFLAGS.patch b/www-client/netsurf/files/netsurf-3.2-CFLAGS.patch
new file mode 100644
index 000000000000..3d5b8668f531
--- /dev/null
+++ b/www-client/netsurf/files/netsurf-3.2-CFLAGS.patch
@@ -0,0 +1,77 @@
+--- netsurf-3.2/Makefile.defaults
++++ netsurf-3.2/Makefile.defaults
+@@ -91,9 +91,6 @@
+ # Valid options: YES, NO
+ NETSURF_FS_BACKING_STORE := NO
+
+-# Initial CFLAGS. Optimisation level etc. tend to be target specific.
+-CFLAGS :=
+-
+ # Default installation/execution prefix
+ PREFIX ?= /usr/local
+
+--- netsurf-3.2/framebuffer/Makefile.defaults
++++ netsurf-3.2/framebuffer/Makefile.defaults
+@@ -2,9 +2,6 @@
+ # Framebuffer-target-specific options
+ # ----------------------------------------------------------------------------
+
+-# Optimisation levels
+-CFLAGS += -O2
+-
+ # Framebuffer default surface provider.
+ # Valid values are: x, sdl, linux, vnc, able,
+ NETSURF_FB_FRONTEND := sdl
+--- netsurf-3.2/framebuffer/Makefile.target
++++ netsurf-3.2/framebuffer/Makefile.target
+@@ -42,7 +42,7 @@
+ $(eval $(call pkg_config_find_and_add_enabled,MOZJS,mozjs185,JavaScript))
+ $(eval $(call pkg_config_find_and_add_enabled,JS,mozilla-js,JavaScript))
+
+-CFLAGS += -std=c99 -g -Dsmall $(WARNFLAGS) \
++CFLAGS += -std=c99 -Dsmall $(WARNFLAGS) \
+ -D_BSD_SOURCE \
+ -D_XOPEN_SOURCE=600 \
+ -D_POSIX_C_SOURCE=200112L \
+--- netsurf-3.2/gtk/Makefile.defaults
++++ netsurf-3.2/gtk/Makefile.defaults
+@@ -38,6 +38,3 @@
+
+ # Set default GTK version to build for (2 or 3)
+ NETSURF_GTK_MAJOR := 2
+-
+-# Optimisation levels
+-CFLAGS += -O2
+--- netsurf-3.2/gtk/Makefile.target
++++ netsurf-3.2/gtk/Makefile.target
+@@ -51,7 +51,7 @@
+ -D_POSIX_C_SOURCE=200809L \
+ -D_NETBSD_SOURCE \
+ -DGTK_RESPATH=\"$(NETSURF_GTK_RESOURCES)\" \
+- $(WARNFLAGS) -g
++ $(WARNFLAGS)
+
+ # non optional pkg-configed libs
+ $(eval $(call pkg_config_find_and_add,libcss,CSS))
+--- netsurf-3.2/test/Makefile
++++ netsurf-3.2/test/Makefile
+@@ -1,8 +1,8 @@
+-CFLAGS := -std=c99 -g -O0 -D_BSD_SOURCE -D_POSIX_C_SOURCE -I.. \
++CFLAGS := -std=c99 -D_BSD_SOURCE -D_POSIX_C_SOURCE -I.. \
+ $(shell pkg-config --cflags libcurl)
+ LDFLAGS := $(shell pkg-config --libs libcurl) -lz
+
+-llcache_CFLAGS := $(shell pkg-config --cflags libparserutils libwapcaplet libdom) -O2
++llcache_CFLAGS := $(shell pkg-config --cflags libparserutils libwapcaplet libdom)
+ llcache_LDFLAGS := $(shell pkg-config --libs libparserutils libwapcaplet libdom)
+
+ llcache_SRCS := content/fetch.c content/fetchers/curl.c \
+@@ -19,7 +19,7 @@
+ utils/filename.c utils/nsurl.c utils/corestrings.c \
+ test/urldbtest.c
+
+-urldbtest_CFLAGS := $(shell pkg-config --cflags libwapcaplet libdom) -O2
++urldbtest_CFLAGS := $(shell pkg-config --cflags libwapcaplet libdom)
+ urldbtest_LDFLAGS := $(shell pkg-config --libs libwapcaplet libdom)
+
+ nsurl_SRCS := utils/corestrings.c utils/log.c utils/nsurl.c utils/idna.c utils/utf8proc.c test/nsurl.c
diff --git a/www-client/netsurf/files/netsurf-3.2-conditionally-include-image-headers.patch b/www-client/netsurf/files/netsurf-3.2-conditionally-include-image-headers.patch
new file mode 100644
index 000000000000..9c73c233eff7
--- /dev/null
+++ b/www-client/netsurf/files/netsurf-3.2-conditionally-include-image-headers.patch
@@ -0,0 +1,67 @@
+--- netsurf-3.2/image/image.c
++++ netsurf-3.2/image/image.c
+@@ -28,15 +28,42 @@
+ #include "content/content.h"
+ #include "image/bitmap.h"
+
++#ifdef WITH_BMP
+ #include "image/bmp.h"
+-#include "image/gif.h"
+ #include "image/ico.h"
++#endif
++
++#ifdef WITH_GIF
++#include "image/gif.h"
++#endif
++
++#ifdef WITH_JPEG
+ #include "image/jpeg.h"
+-#include "image/nssprite.h"
++#endif
++
++#ifdef WITH_MNG
++#include "image/mng.h"
++#endif
++
++#ifdef WITH_PNG
+ #include "image/png.h"
+-#include "image/rsvg.h"
++#endif
++
++#ifdef WITH_NSSPRITE
++#include "image/nssprite.h"
++#endif
++
++#ifdef WITH_NS_SVG
+ #include "image/svg.h"
++#endif
++
++#ifdef WITH_RSVG
++#include "image/rsvg.h"
++#endif
++
++#ifdef WITH_WEBP
+ #include "image/webp.h"
++#endif
+
+ #include "image/image.h"
+
+@@ -73,7 +100,18 @@
+ return error;
+ #endif
+
++#ifdef WITH_MNG
++ error = nsmng_init();
++ if (error != NSERROR_OK)
++ return error;
++
++ error = nsjpng_init();
++ if (error != NSERROR_OK)
++ return error;
++#endif
++
+ #ifdef WITH_PNG
++ /* Prefer libpng over libmng for pngs by registering later */
+ error = nspng_init();
+ if (error != NSERROR_OK)
+ return error;
diff --git a/www-client/netsurf/files/netsurf-3.2-glibc2.20.patch b/www-client/netsurf/files/netsurf-3.2-glibc2.20.patch
new file mode 100644
index 000000000000..e63ec70540a7
--- /dev/null
+++ b/www-client/netsurf/files/netsurf-3.2-glibc2.20.patch
@@ -0,0 +1,30 @@
+--- netsurf-3.2/framebuffer/Makefile.target
++++ netsurf-3.2/framebuffer/Makefile.target
+@@ -43,7 +43,7 @@
+ $(eval $(call pkg_config_find_and_add_enabled,JS,mozilla-js,JavaScript))
+
+ CFLAGS += -std=c99 -Dsmall $(WARNFLAGS) \
+- -D_BSD_SOURCE \
++ -D_DEFAULT_SOURCE \
+ -D_XOPEN_SOURCE=600 \
+ -D_POSIX_C_SOURCE=200112L \
+ $(shell $(PKG_CONFIG) --cflags libnsfb libhubbub libcss openssl)
+--- netsurf-3.2/gtk/Makefile.target
++++ netsurf-3.2/gtk/Makefile.target
+@@ -46,7 +46,7 @@
+
+ GTKCFLAGS := -std=c99 -Dgtk -Dnsgtk \
+ $(GTKDEPFLAGS) \
+- -D_BSD_SOURCE \
++ -D_DEFAULT_SOURCE \
+ -D_XOPEN_SOURCE=600 \
+ -D_POSIX_C_SOURCE=200809L \
+ -D_NETBSD_SOURCE \
+--- netsurf-3.2/test/Makefile
++++ netsurf-3.2/test/Makefile
+@@ -1,4 +1,4 @@
+-CFLAGS := -std=c99 -D_BSD_SOURCE -D_POSIX_C_SOURCE -I.. \
++CFLAGS := -std=c99 -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE -I.. \
+ $(shell pkg-config --cflags libcurl)
+ LDFLAGS := $(shell pkg-config --libs libcurl) -lz
+
diff --git a/www-client/netsurf/netsurf-3.2.ebuild b/www-client/netsurf/netsurf-3.2.ebuild
new file mode 100644
index 000000000000..82f8d852bd77
--- /dev/null
+++ b/www-client/netsurf/netsurf-3.2.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/netsurf/netsurf-3.2.ebuild,v 1.1 2014/11/15 15:01:58 xmw Exp $
+
+EAPI=5
+
+NETSURF_COMPONENT_TYPE=binary
+NETSURF_BUILDSYSTEM=buildsystem-1.2
+inherit netsurf
+
+DESCRIPTION="a free, open source web browser"
+HOMEPAGE="http://www.netsurf-browser.org/"
+SRC_URI="http://download.netsurf-browser.org/netsurf/releases/source/${P}-src.tar.gz
+ http://xmw.de/mirror/netsurf-fb.modes-example.gz
+ ${NETSURF_BUILDSYSTEM_SRC_URI}"
+
+LICENSE="GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE="+bmp fbcon truetype +gif gstreamer gtk javascript +jpeg +mng pdf-writer
+ +png +rosprite +svg +svgtiny +webp fbcon_frontend_able fbcon_frontend_linux
+ fbcon_frontend_sdl fbcon_frontend_vnc fbcon_frontend_x"
+
+REQUIRED_USE="|| ( fbcon gtk )
+ amd64? ( abi_x86_32? (
+ !gstreamer !javascript !pdf-writer svg? ( svgtiny ) !truetype ) )
+ fbcon? ( ^^ ( fbcon_frontend_able fbcon_frontend_linux fbcon_frontend_sdl
+ fbcon_frontend_vnc fbcon_frontend_x ) )"
+
+RDEPEND="dev-libs/libxml2
+ net-misc/curl
+ >=dev-libs/libcss-0.4.0[${MULTILIB_USEDEP}]
+ >=net-libs/libhubbub-0.3.0-r1[${MULTILIB_USEDEP}]
+ bmp? ( >=media-libs/libnsbmp-0.1.1[${MULTILIB_USEDEP}] )
+ fbcon? ( >=dev-libs/libnsfb-0.1.2[${MULTILIB_USEDEP}]
+ truetype? ( media-fonts/dejavu
+ >=media-libs/freetype-2.5.0.1[${MULTILIB_USEDEP}] )
+ )
+ gif? ( >=media-libs/libnsgif-0.1.1[${MULTILIB_USEDEP}] )
+ gtk? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ gnome-base/libglade:2.0
+ >=media-libs/lcms-1.19-r1:0[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.24.23:2[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-libs/gstreamer:0.10 )
+ javascript? ( >=dev-libs/nsgenbind-0.1.1[${MULTILIB_USEDEP}] )
+ jpeg? ( >=virtual/jpeg-0-r2[${MULTILIB_USEDEP}] )
+ mng? ( >=media-libs/libmng-1.0.10-r2[${MULTILIB_USEDEP}] )
+ pdf-writer? ( media-libs/libharu )
+ png? ( >=media-libs/libpng-1.2.51[${MULTILIB_USEDEP}] )
+ svg? ( svgtiny? ( >=media-libs/libsvgtiny-0.1.2[${MULTILIB_USEDEP}] )
+ !svgtiny? ( gnome-base/librsvg:2 ) )
+ webp? ( >=media-libs/libwebp-0.3.0[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ javascript? ( >=dev-libs/nsgenbind-0.1.1[${MULTILIB_USEDEP}] )
+ rosprite? ( >=media-libs/librosprite-0.1.1[${MULTILIB_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${P}-CFLAGS.patch
+ "${FILESDIR}"/${PN}-3.0-framebuffer-pkgconfig.patch
+ "${FILESDIR}"/${P}-conditionally-include-image-headers.patch
+ "${FILESDIR}"/${P}-glibc2.20.patch )
+DOCS=( fb.modes README Docs/USING-Framebuffer
+ Docs/ideas/{cache,css-engine,render-library}.txt )
+
+src_prepare() {
+ rm -rf amiga atari beos cocoa monkey riscos windows || die
+
+ mv "${WORKDIR}"/netsurf-fb.modes-example fb.modes
+
+ netsurf_src_prepare
+}
+
+src_configure() {
+ netsurf_src_configure
+
+ netsurf_makeconf+=(
+ NETSURF_USE_BMP=$(usex bmp YES NO)
+ NETSURF_USE_GIF=$(usex gif YES NO)
+ NETSURF_USE_JPEG=$(usex jpeg YES NO)
+ NETSURF_USE_PNG=$(usex png YES NO)
+ NETSURF_USE_PNG=$(usex png YES NO)
+ NETSURF_USE_MNG=$(usex mng YES NO)
+ NETSURF_USE_WEBP=$(usex webp YES NO)
+ NETSURF_USE_VIDEO=$(usex gstreamer YES NO)
+ NETSURF_USE_MOZJS=$(usex javascript YES NO)
+ NETSURF_USE_JS=NO
+ NETSURF_USE_HARU_PDF=$(usex pdf-writer YES NO)
+ NETSURF_USE_NSSVG=$(usex svg $(usex svgtiny YES NO) NO)
+ NETSURF_USE_RSVG=$(usex svg $(usex svgtiny NO YES) NO)
+ NETSURF_USE_ROSPRITE=$(usex rosprite YES NO)
+ PKG_CONFIG=$(tc-getPKG_CONFIG)
+ $(usex fbcon_frontend_able NETSURF_FB_FRONTEND=able "")
+ $(usex fbcon_frontend_linux NETSURF_FB_FRONTEND=linux "")
+ $(usex fbcon_frontend_sdl NETSURF_FB_FRONTEND=sdl "")
+ $(usex fbcon_frontend_vnc NETSURF_FB_FRONTEND=vnc "")
+ $(usex fbcon_frontend_x NETSURF_FB_FRONTEND=x "")
+ NETSURF_FB_FONTLIB=$(usex truetype freetype internal)
+ NETSURF_FB_FONTPATH=${EROOT}usr/share/fonts/dejavu
+ TARGET=dummy
+ )
+}
+
+src_compile() {
+ if use fbcon ; then
+ netsurf_makeconf=( "${netsurf_makeconf[@]/TARGET=*/TARGET=framebuffer}" )
+ netsurf_src_compile
+ fi
+ if use gtk ; then
+ netsurf_makeconf=( "${netsurf_makeconf[@]/TARGET=*/TARGET=gtk}" )
+ netsurf_src_compile
+ fi
+}
+
+src_install() {
+ sed -e '1iexit;' \
+ -i "${WORKDIR}"/*/utils/git-testament.pl || die
+
+ if use fbcon ; then
+ netsurf_makeconf=( "${netsurf_makeconf[@]/TARGET=*/TARGET=framebuffer}" )
+ netsurf_src_install
+ elog "framebuffer binary has been installed as netsurf-fb"
+ mv -v "${ED}"usr/bin/netsurf{,-fb} || die
+ make_desktop_entry "${EROOT}"usr/bin/netsurf-fb NetSurf-framebuffer netsurf "Network;WebBrowser"
+
+ elog "In order to setup the framebuffer console, netsurf needs an /etc/fb.modes"
+ elog "You can use an example from /usr/share/doc/${PF}/fb.modes.* (bug 427092)."
+ elog "Please make /etc/input/mice readable to the account using netsurf-fb."
+ elog "Either use chmod a+r /etc/input/mice (security!!!) or use an group."
+ fi
+ if use gtk ; then
+ netsurf_makeconf=( "${netsurf_makeconf[@]/TARGET=*/TARGET=gtk}" )
+ netsurf_src_install
+ elog "netsurf gtk version has been installed as netsurf-gtk"
+ mv -v "${ED}"/usr/bin/netsurf{,-gtk} || die
+ make_desktop_entry "${EROOT}"usr/bin/netsurf-gtk NetSurf-gtk netsurf "Network;WebBrowser"
+ fi
+
+ insinto /usr/share/pixmaps
+ doins gtk/res/netsurf.xpm
+}