summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Weber <xmw@gentoo.org>2013-06-19 06:56:40 +0000
committerMichael Weber <xmw@gentoo.org>2013-06-19 06:56:40 +0000
commit496ff772b7e9f15273874456ea20632d8bcbd13f (patch)
tree6832056c393ffb4dcda9a66c00702f10c737c71f /www-client/netsurf
parentBump (diff)
downloadgentoo-2-496ff772b7e9f15273874456ea20632d8bcbd13f.tar.gz
gentoo-2-496ff772b7e9f15273874456ea20632d8bcbd13f.tar.bz2
gentoo-2-496ff772b7e9f15273874456ea20632d8bcbd13f.zip
Version bump (bug 470720), multilib build, preparations for netsurf eclass.
(Portage version: 2.2.0_alpha180/cvs/Linux x86_64, signed Manifest commit with key 62EEF090)
Diffstat (limited to 'www-client/netsurf')
-rw-r--r--www-client/netsurf/ChangeLog9
-rw-r--r--www-client/netsurf/files/netsurf-3.0-framebuffer-pkgconfig.patch29
-rw-r--r--www-client/netsurf/metadata.xml18
-rw-r--r--www-client/netsurf/netsurf-3.0.ebuild257
4 files changed, 307 insertions, 6 deletions
diff --git a/www-client/netsurf/ChangeLog b/www-client/netsurf/ChangeLog
index c96419ecface..6407c2563729 100644
--- a/www-client/netsurf/ChangeLog
+++ b/www-client/netsurf/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for www-client/netsurf
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/netsurf/ChangeLog,v 1.6 2013/04/21 07:48:27 xmw Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/netsurf/ChangeLog,v 1.7 2013/06/19 06:56:40 xmw Exp $
+
+*netsurf-3.0 (19 Jun 2013)
+
+ 19 Jun 2013; Michael Weber <xmw@gentoo.org>
+ +files/netsurf-3.0-framebuffer-pkgconfig.patch, +netsurf-3.0.ebuild,
+ metadata.xml:
+ Version bump (bug 470720), multilib build, preparations for netsurf eclass.
21 Apr 2013; Michael Weber <xmw@gentoo.org> metadata.xml, netsurf-2.9.ebuild:
Change local IUSE freetype to global truetype
diff --git a/www-client/netsurf/files/netsurf-3.0-framebuffer-pkgconfig.patch b/www-client/netsurf/files/netsurf-3.0-framebuffer-pkgconfig.patch
new file mode 100644
index 000000000000..50c9f8b8a832
--- /dev/null
+++ b/www-client/netsurf/files/netsurf-3.0-framebuffer-pkgconfig.patch
@@ -0,0 +1,29 @@
+--- netsurf-3.0/framebuffer/Makefile.target
++++ netsurf-3.0/framebuffer/Makefile.target
+@@ -13,12 +13,16 @@
+
+ # define additional CFLAGS and LDFLAGS requirements for pkg-configed libs here
+ NETSURF_FEATURE_RSVG_CFLAGS := -DWITH_RSVG
++NETSURF_FEATURE_NSSVG_CFLAGS := -DWITH_NS_SVG
+ NETSURF_FEATURE_ROSPRITE_CFLAGS := -DWITH_NSSPRITE
+ NETSURF_FEATURE_HUBBUB_CFLAGS := -DWITH_HUBBUB
+ NETSURF_FEATURE_BMP_CFLAGS := -DWITH_BMP
+ NETSURF_FEATURE_GIF_CFLAGS := -DWITH_GIF
++NETSURF_FEATURE_PNG_CFLAGS := -DWITH_PNG
++NETSURF_FEATURE_WEBP_CFLAGS := -DWITH_WEBP
+ NETSURF_FEATURE_JS_CFLAGS := -DWITH_JS -DJS_HAS_FILE_OBJECT=0
+ NETSURF_FEATURE_MOZJS_CFLAGS := -DWITH_MOZJS -DJS_HAS_FILE_OBJECT=0
++NETSURF_FEATURE_VIDEO_CFLAGS := -DWITH_VIDEO
+
+ CFLAGS += -Dnsframebuffer
+
+@@ -41,6 +45,9 @@
+ $(eval $(call pkg_config_find_and_add_enabled,ROSPRITE,librosprite,Sprite))
+ $(eval $(call pkg_config_find_and_add_enabled,BMP,libnsbmp,BMP))
+ $(eval $(call pkg_config_find_and_add_enabled,GIF,libnsgif,GIF))
++$(eval $(call pkg_config_find_and_add_enabled,RSVG,librsvg-2.0,SVG))
++$(eval $(call pkg_config_find_and_add_enabled,NSSVG,libsvgtiny,SVG))
++$(eval $(call feature_enabled,WEBP,-DWITH_WEBP,-lwebp,WebP (libwebp)))
+ $(eval $(call pkg_config_find_and_add_enabled,MOZJS,mozjs185,JavaScript))
+ $(eval $(call pkg_config_find_and_add_enabled,JS,mozilla-js,JavaScript))
+
diff --git a/www-client/netsurf/metadata.xml b/www-client/netsurf/metadata.xml
index 573ca4a83177..207a83b9d326 100644
--- a/www-client/netsurf/metadata.xml
+++ b/www-client/netsurf/metadata.xml
@@ -5,12 +5,20 @@
<email>xmw@gentoo.org</email>
<name>Michael Weber</name>
</maintainer>
+<upstream>
+ <changelog>http://download.netsurf-browser.org/netsurf/releases/ChangeLog.txt</changelog>
+</upstream>
<use>
- <flag name="bmp">enable bmp bitmap support (media-libs/libnsbmp)</flag>
- <flag name="pdf-writer">Enable pdf output support (media-libs/libharu)</flag>
- <flag name="rosprite">enable RISC OS Sprite bitmap support (media-libs/librosprite)</flag>
- <flag name="svgtiny">enable svg image support via media-libs/svgatiny instead of gnome-base/librsvg</flag>
- <flag name="webp">enable WebP image support (media-libs/libwebp)</flag>
+ <flag name="bmp">BMP bitmap image support (media-libs/libnsbmp)</flag>
+ <flag name="fbcon_frontend_able" >Use framebuffer frontend able</flag>
+ <flag name="fbcon_frontend_linux">Use framebuffer frontend linux</flag>
+ <flag name="fbcon_frontend_sdl" >Use framebuffer frontend sdl</flag>
+ <flag name="fbcon_frontend_vnc" >Use framebuffer frontend vnc</flag>
+ <flag name="fbcon_frontend_x" >Use framebuffer frontend X</flag>
+ <flag name="pdf-writer">PDF output support (media-libs/libharu)</flag>
+ <flag name="rosprite">RISC OS Sprite bitmap image support (media-libs/librosprite)</flag>
+ <flag name="svgtiny">SVG image support via media-libs/svgatiny instead of gnome-base/librsvg</flag>
+ <flag name="webp">WebP image support (media-libs/libwebp)</flag>
</use>
<longdescription lang="en">
NetSurf is a free, open source web browser. It is written in C, has its own layout and rendering engine entirely written from scratch. It is small and capable of handling many of the web standards in use today.
diff --git a/www-client/netsurf/netsurf-3.0.ebuild b/www-client/netsurf/netsurf-3.0.ebuild
new file mode 100644
index 000000000000..e27c06b2d140
--- /dev/null
+++ b/www-client/netsurf/netsurf-3.0.ebuild
@@ -0,0 +1,257 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/netsurf/netsurf-3.0.ebuild,v 1.1 2013/06/19 06:56:40 xmw Exp $
+
+EAPI=5
+
+inherit base toolchain-funcs multilib-minimal
+
+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"
+
+LICENSE="GPL-2 MIT-with-advertising"
+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.2.0[${MULTILIB_USEDEP}]
+ >=net-libs/libhubbub-0.2.0[${MULTILIB_USEDEP}]
+ bmp? ( >=media-libs/libnsbmp-0.1.0[${MULTILIB_USEDEP}] )
+ fbcon? ( >=dev-libs/libnsfb-0.1.0[${MULTILIB_USEDEP}]
+ truetype? ( media-fonts/dejavu
+ media-libs/freetype )
+ )
+ gif? ( >=media-libs/libnsgif-0.1.0[${MULTILIB_USEDEP}] )
+ gtk? ( dev-libs/glib:2
+ gnome-base/libglade:2.0
+ media-libs/lcms:0
+ x11-libs/gtk+:2
+ amd64? ( abi_x86_32? ( app-emulation/emul-linux-x86-baselibs
+ app-emulation/emul-linux-x86-gtklibs ) ) )
+ gstreamer? ( media-libs/gstreamer:0.10 )
+ javascript? ( dev-lang/spidermonkey:0/mozjs185 )
+ jpeg? ( virtual/jpeg
+ amd64? ( abi_x86_32? ( app-emulation/emul-linux-x86-baselibs ) ) )
+ mng? ( media-libs/libmng
+ amd64? ( abi_x86_32? ( app-emulation/emul-linux-x86-baselibs ) ) )
+ pdf-writer? ( media-libs/libharu )
+ png? ( media-libs/libpng
+ amd64? ( abi_x86_32? ( app-emulation/emul-linux-x86-baselibs ) ) )
+ svg? ( svgtiny? ( >=media-libs/libsvgtiny-0.1.0[${MULTILIB_USEDEP}] )
+ !svgtiny? ( gnome-base/librsvg:2 ) )
+ webp? ( >=media-libs/libwebp-0.3.0[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ rosprite? ( >=media-libs/librosprite-0.1.0[${MULTILIB_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.9-conditionally-include-image-headers.patch
+ "${FILESDIR}"/${P}-framebuffer-pkgconfig.patch )
+DOCS=( fb.modes README Docs/USING-Framebuffer
+ Docs/ideas/{cache,css-engine,render-library}.txt )
+NETSURF_COMPONENT_TYPE=binary
+
+### future context of netsurf.eclass
+
+NETSURF_BUILDSYSTEM="${NETSURF_BUILDSYSTEM:-buildsystem-1.0}"
+SRC_URI=${SRC_URI:-http://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz}
+SRC_URI+="
+ http://download.netsurf-browser.org/libs/releases/${NETSURF_BUILDSYSTEM}.tar.gz -> netsurf-${NETSURF_BUILDSYSTEM}.tar.gz"
+IUSE+=" debug"
+if has lib-static ${NETSURF_COMPONENT_TYPE} ; then
+ IUSE+=" static-libs"
+fi
+if has doc ${IUSE} ; then
+ DEPEND+="
+ doc? ( app-doc/doxygen )"
+fi
+DEPEND+="
+ virtual/pkgconfig"
+pkg_setup(){
+ netsurf_src_prepare() {
+ base_src_prepare
+
+ multilib_copy_sources
+ }
+
+ netsurf_src_configure() {
+ netsurf_makeconf=(
+ NSSHARED=${WORKDIR}/${NETSURF_BUILDSYSTEM}
+ Q=
+ HOST_CC="\$(CC)"
+ CCOPT=
+ CCNOOPT=
+ CCDBG=
+ LDDBG=
+ AR="$(tc-getAR)"
+ BUILD=$(usex debug debug release)
+ PREFIX="${EROOT}"usr
+ )
+
+ multilib-minimal_src_configure
+ }
+
+ netsurf_src_compile() {
+ multilib-minimal_src_compile "$@"
+
+ if has doc ${USE} ; then
+ netsurf_make "$@" docs
+ fi
+ }
+
+ netsurf_src_test() {
+ multilib-minimal_src_test "$@"
+ }
+
+ netsurf_src_install() {
+ multilib-minimal_src_install "$@"
+ }
+
+ multilib_src_configure() {
+ sed -e "/^INSTALL_ITEMS/s: /lib: /$(get_libdir):g" \
+ -i Makefile || die
+ if [ -f ${PN}.pc.in ] ; then
+ sed -e "/^libdir/s:/lib:/$(get_libdir):g" \
+ -i ${PN}.pc.in || die
+ fi
+ }
+
+ netsurf_make() {
+ for COMPONENT_TYPE in ${NETSURF_COMPONENT_TYPE} ; do
+ if [ "${COMPONENT_TYPE}" == "lib-static" ] ; then
+ if ! use static-libs ; then
+ continue
+ fi
+ fi
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" "${netsurf_makeconf[@]}" \
+ COMPONENT_TYPE=${COMPONENT_TYPE} "$@"
+ done
+ }
+
+ multilib_src_compile() {
+ netsurf_make "$@"
+ }
+
+ multilib_src_test() {
+ netsurf_make test "$@"
+ }
+
+ multilib_src_install() {
+ #DEFAULT_ABI may not be the last.
+ #install to clean dir, rename binaries, move everything back
+ if [ "${ABI}" != "${DEFAULT_ABI}" ] ; then
+ netsurf_make DESTDIR="${D}"${ABI} install "$@"
+ if [ "${ABI}" != "${DEFAULT_ABI}" ] ; then
+ find "${D}"${ABI}/usr/bin -type f -exec mv {} {}.${ABI} \;
+ fi
+ mv "${D}"${ABI}/* "${D}" || die
+ rmdir "${D}"${ABI} || die
+ else
+ netsurf_make DESTDIR="${D}" install "$@"
+ fi
+ }
+
+ multilib_src_install_all() {
+ if has doc ${USE} ; then
+ dohtml -r build/docs/html/*
+ fi
+ }
+}
+
+src_prepare() {
+ sed -e '/CFLAGS \(:\|+\)=/d' \
+ -i {,framebuffer/,gtk/}Makefile.defaults || die
+ sed -e 's/xml2-config/${PKG_CONFIG} libxml-2.0/g' \
+ -i */Makefile.target || die
+ sed -e '/CFLAGS/s: -g : :' \
+ -i framebuffer/Makefile.target || 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
+ einfo "install framebuffer binary as netsurf-fb"
+ mv -v "${ED}"usr/bin/netsurf{,-fb} || die
+ fi
+ if use gtk ; then
+ netsurf_makeconf=( "${netsurf_makeconf[@]/TARGET=*/TARGET=gtk}" )
+ netsurf_src_install
+ fi
+ # mv "${D}"/usr/bin/netsurf{,-gtk} || die
+ # make_desktop_entry /usr/bin/netsurf-gtk NetSurf-gtk netsurf "Network;WebBrowser"
+ #if use fbcon ; then
+ # emake DESTDIR="${D}" PREFIX="/usr" TARGET=framebuffer install
+ # mv "${D}"/usr/bin/netsurf{,-fb} || die
+ # make_desktop_entry /usr/bin/netsurf-fb NetSurf-framebuffer netsurf "Network;WebBrowser"
+ #
+ # einfo
+ # 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)."
+ # einfo
+ # 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."
+ # einfo
+ #fi
+ insinto /usr/share/pixmaps
+ doins gtk/res/netsurf.xpm
+
+}