www-client/dooble: new package, "a secure web browser"
authorRichard Yao <ryao@gentoo.org>
Sun, 15 Nov 2015 18:54:03 +0000 (13:54 -0500)
committerRichard Yao <ryao@gentoo.org>
Sun, 15 Nov 2015 18:54:03 +0000 (13:54 -0500)
This is a rewrite of the www-client/dooble package from Sabayon's
for-gentoo repository:

https://github.com/Sabayon/for-gentoo/tree/master/www-client/dooble

I have not audited the package to verify the security claims, but a
cursory peek at how it restricts possible exploit vectors has been
promising. I would like this to be scrutinized by others, but I feel
good enough about this that I am committing it to ~amd64 for our users
to evaluate.

At the moment, I am only committing the Qt4 version, which is the 1.x
series. The 2.x series is the Qt5 version. This probably should be
changed to be slotted when that is committed.

Package-Manager: portage-2.2.20.1

www-client/dooble/Manifest [new file with mode: 0644]
www-client/dooble/dooble-1.55.ebuild [new file with mode: 0644]
www-client/dooble/files/00-dooble-1.55-path-fix.patch [new file with mode: 0644]
www-client/dooble/metadata.xml [new file with mode: 0644]

diff --git a/www-client/dooble/Manifest b/www-client/dooble/Manifest
new file mode 100644 (file)
index 0000000..56022b3
--- /dev/null
@@ -0,0 +1 @@
+DIST dooble-1.55.tar.gz 11663614 SHA256 024003e7c397a925d48e41cba10a2a35b89dd1745120caf4fd2010c1e254c5e5 SHA512 413727f74ab7fba89f7b617a774a0dceaa8a03b826f12950e31ca3fedda7e607539759b946eacccd57087429e6a37acd967a2c376b0b195b560c8c9beaf4e3d6 WHIRLPOOL ebe0b69a3dde0c0977c6295c6c67811195ca6d4e66dd95d09b51eae7da32170f737e62275e17020213c640e10a368f3792c8d34b495f15ee004e7a644a914700
diff --git a/www-client/dooble/dooble-1.55.ebuild b/www-client/dooble/dooble-1.55.ebuild
new file mode 100644 (file)
index 0000000..554b0c0
--- /dev/null
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils qt4-r2 fdo-mime
+DESCRIPTION="A Secure and Open Source Web Browser"
+HOMEPAGE="http://dooble.sourceforge.net/"
+
+SRC_URI="mirror://sourceforge/${PN}/Version%20${PV}/Dooble_Src.d.tar.gz ->
+${P}.tar.gz"
+
+# icon sets are GPL-3 LGPL-2.1 while the code is BSD
+LICENSE="BSD GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+DEPEND="dev-db/sqlite:3
+       dev-libs/libgcrypt:0/20
+       dev-libs/libgpg-error
+       dev-qt/qtcore:4
+       dev-qt/qtgui:4
+       dev-qt/qtsql:4
+       dev-qt/qtwebkit:4
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/dooble.d/Version 1.x/"
+
+src_prepare() {
+       # Adjust paths from FreeBSD locations to Gentoo locations
+       # XXX: Fix the build system to be more flexible and upstream fix
+       epatch "${FILESDIR}/00-dooble-${PV}-path-fix.patch"
+       sed -i -e "s:\"Icons:\"${EROOT}usr/share/dooble/Icons:" \
+               ./Source/dsettings.cc
+       sed -i -e '/export/d' -e "s:/usr/local/dooble/Dooble:${EROOT}usr/bin/Dooble:g" \
+               -e "s:cd /usr/local/dooble:cd /usr/share/dooble:" \
+               -e "s:exec ./Dooble:exec ${EROOT}usr/bin/Dooble:" ./dooble.sh
+       sed -i -e "s:/usr/local:${EROOT}/usr/share:" -e 's:/text/xml:text/xml:' \
+               ./dooble.desktop
+}
+
+src_configure() {
+       eqmake4 dooble.pro
+}
+
+src_install() {
+       dohtml ../Documentation/RELEASE-NOTES.html
+       dodoc Documentation/{THEMES,TO-DO}
+       dosym ../share/dooble/dooble.sh /usr/bin/dooble
+       dosym ../../lib/nsbrowser/plugins /usr/share/dooble/Plugins
+       dolib.so libSpotOn/libspoton.so
+       emake INSTALL_ROOT="${ED}" install
+
+       # XXX: The build system installs the build path into INSTALL_ROOT.
+       # It should be fixed not to do this.
+       rm -r "${ED}/var" || die "Failed to remove build path from ${ED}"
+}
+
+pkg_postinst() {
+       fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+       fdo-mime_desktop_database_update
+}
diff --git a/www-client/dooble/files/00-dooble-1.55-path-fix.patch b/www-client/dooble/files/00-dooble-1.55-path-fix.patch
new file mode 100644 (file)
index 0000000..8edc8c5
--- /dev/null
@@ -0,0 +1,45 @@
+diff --git a/dooble.pro b/dooble.pro
+index 8df489e..d448f6e 100644
+--- a/dooble.pro
++++ b/dooble.pro
+@@ -240,33 +240,32 @@ TRANSLATIONS    = Translations/dooble_en.ts \
+ PROJECTNAME   = Dooble
+ TARGET                = Dooble
+ 
+-dooble.path           = /usr/local/dooble
++dooble.path           = /usr/bin
+ dooble.files          = Dooble
+-dooble_sh.path                = /usr/local/dooble
++dooble_sh.path                = /usr/share/dooble
+ dooble_sh.files               = dooble.sh
+ desktop.path            = /usr/share/applications
+ desktop.files           = dooble.desktop
+ desktopicon.path        = /usr/share/icons/hicolor/48x48
+ desktopicon.files       = Icons/48x48/dooble.png
+-icons.path            = /usr/local/dooble
++icons.path            = /usr/share/dooble
+ icons.files           = Icons
+-images.path           = /usr/local/dooble
++images.path           = /usr/share/dooble
+ images.files          = Images
+-libspoton_install.path        = /usr/local/dooble/Lib
++libspoton_install.path        = /usr/lib
+ libspoton_install.files = libSpotOn/libspoton.so
+ lrelease.extra          = $$[QT_INSTALL_BINS]/lrelease dooble.pro
+ lrelease.path           = .
+ lupdate.extra           = $$[QT_INSTALL_BINS]/lupdate dooble.pro
+ lupdate.path            = .
+-pluginsdir.path         = /usr/local/dooble/Plugins/dooble
++pluginsdir.path         = /usr/lib/nsbrowser/plugins
+-pluginsdir.files        = Plugins/README
+-plugspec.path           = /usr/local/include/dooble/plugin-spec
++plugspec.path           = /usr/include/dooble/plugin-spec
+ plugspec.files          = plugin-spec/*.h
+-postinstall.path      = /usr/local/dooble
++postinstall.path      = /usr/share/dooble
+ postinstall.extra     = find /usr/local/dooble -name .svn -exec rm -rf {} \\; 2>/dev/null; echo
+-tab.path              = /usr/local/dooble
++tab.path              = /usr/share/dooble
+ tab.files             = Tab
+ translations.path     = /usr/local/dooble/Translations
+ translations.files    = Translations/*.qm
diff --git a/www-client/dooble/metadata.xml b/www-client/dooble/metadata.xml
new file mode 100644 (file)
index 0000000..115276e
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer>
+               <email>ryao@gentoo.org</email>
+               <name>Richard Yao</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="sourceforge">dooble</remote-id>
+       </upstream>
+</pkgmetadata>