summaryrefslogtreecommitdiff
path: root/www-client/qupzilla
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /www-client/qupzilla
reinit the tree, so we can have metadata
Diffstat (limited to 'www-client/qupzilla')
-rw-r--r--www-client/qupzilla/Manifest7
-rw-r--r--www-client/qupzilla/files/qupzilla-2.1.2-openssl-1.1.0.patch103
-rw-r--r--www-client/qupzilla/metadata.xml18
-rw-r--r--www-client/qupzilla/qupzilla-2.1.2.ebuild109
4 files changed, 237 insertions, 0 deletions
diff --git a/www-client/qupzilla/Manifest b/www-client/qupzilla/Manifest
new file mode 100644
index 000000000000..b3cbd0227584
--- /dev/null
+++ b/www-client/qupzilla/Manifest
@@ -0,0 +1,7 @@
+AUX qupzilla-2.1.2-openssl-1.1.0.patch 4631 SHA256 d6857da5d289a070188bcd3788f8f07f55a9cf25b68048c40065477e53d99081 SHA512 0171a9d64c4202c3893767c962b7951d6f431d7e70a7de1385e80c097dd6d1e55fd77be8da3621a9d15cb6982a92d4049e0dc6058c00b7bf7fc90439d659479f WHIRLPOOL 557f8e514686d279d4f6da0efeebd489bc9e06db8a4d7a331fb7831f65aa411ba17e1ef43fc47c15cb7f048ac1edaccb032ca6ca001ef153a9093c598549a690
+DIST QupZilla-2.1.2.tar.xz 2767560 SHA256 d8f860d8c41bbf2bf78889aef3ffed118a34b2754f7e114ad44eb2c6103ee58a SHA512 d09a394ba70ae0f7f908940a26d6554a3706b6638c197d16b75e1e5855f76015c8e13b7155c40dacee3a38080a0c277d9410eaf07cf912dc4b295eafe1ff6343 WHIRLPOOL 1da85e81854d41e62bd28b71e9509571c789cc73c2a550a7165efa9dc65bb1099f8de17dafcdbbbcdf6498403e5e8458a82042f1090355c4df67144cb4fed59b
+DIST qupzilla-plugins-2016.05.02.tar.gz 425314 SHA256 276491a89daf1b64d6eab861b54d313e85c815d322bf51d47491f00ad22f55bc SHA512 b294ecb2372b3267603a43bc7412ab75d2cd29a8c4667331f0d2c74e3b0b99d0c2a005b9e4854c6d777894522bba9fb3b1607e85e8da6dcbaa760c9ddc6288f2 WHIRLPOOL 471807dc70dd3ea072f1e429a6e67ea97ecd5eadc02ac19debdcddfca4f5cb8e1767ad754aed1ff8a557f0734460a87b4e2d5e01ea57d07c473f48b006e32ef1
+EBUILD qupzilla-2.1.2.ebuild 3001 SHA256 210534ae8ae491f57dc58ff114f3fa7379e81432810e49eeced4c2ed4c3ca5fb SHA512 a3e1b61d21a035c8ffed67cd60369e68267778a2611d6ff4a28fc9606742a27c5253e476dd3d74d229ce83cd0293da62ad9da46235ab60d22ef60d27c6b68525 WHIRLPOOL 7b438a5787bb5791f898d870c71712ec4e0c215c7dfd03a1bfee24e4a029d31b717f554000e05962dc03c473c47e2a0e1188b308bce5839e047213e17c731696
+MISC ChangeLog 5569 SHA256 bf448fbcb88ee01612cda41c512c8dcd4d7fbcab06ddb2819d6cd60520e272d4 SHA512 1cadff8ba79555d401a6e70c0e584942e6aeb65e29ac83f0d662d0cb1b00994a172b43b5bfee9963b636c5ed3ce0079b59942cc4f95eac2c7d265cd152646880 WHIRLPOOL 1d8c1aebd30ed250ef354da4cc6295de4958d3d4a127ecf717ac3091d0d5c80e55c9e7e61e7b4740bb54eb2966af326cf558ebc376d873dbd584b94b9f793348
+MISC ChangeLog-2015 8942 SHA256 b2c7533cace9e417caee761506a654153767bca76af1eeac25cf66a3ad64705e SHA512 43f20aeb4bb9d2b1d2b7b051d5955f4e33fe67f3ffbd4933600beab97bb4d6a9396eb6fb507e6c9de3a2af83092a13bf05b3ef77a6d09e57b367c157c0d69534 WHIRLPOOL 83b892904657bd1207e8d54a7a935857ec2118f554a84f6557a36390dedca6a3b6ee107497054fe717dc075abeb78721e2dd6ad0636ff7fb7d25ed8576e2c633
+MISC metadata.xml 691 SHA256 c622fca8c71ea7e9f1993311b66bc961f5fe3b2d9f455cab03294bdcc0a100b7 SHA512 585fed97ee3390094552cb5350c185dcdfaba1df7d5d3608cddbb6c05812223276b661121518ffce7921456983ee073aea58ada17ee6347d01a9e5559f75388d WHIRLPOOL 28f39b1b88906ee4d1387199bce256274d15cb5c13a5091d41f73737cb804a906528de0b401870cda895d731f4ea87b385f85e64bf91ab6f80f23afb927e9ee0
diff --git a/www-client/qupzilla/files/qupzilla-2.1.2-openssl-1.1.0.patch b/www-client/qupzilla/files/qupzilla-2.1.2-openssl-1.1.0.patch
new file mode 100644
index 000000000000..42effa56d5cc
--- /dev/null
+++ b/www-client/qupzilla/files/qupzilla-2.1.2-openssl-1.1.0.patch
@@ -0,0 +1,103 @@
+From efc4725e91e10ccfef257143408d3a683e74a866 Mon Sep 17 00:00:00 2001
+From: Jose Rios <joseriosneto@protonmail.com>
+Date: Mon, 1 May 2017 02:12:26 +0100
+Subject: [PATCH] Fixed compilation for Openssl 1.1.0
+
+Most of libcrypto and libssl internal structures were made
+opaque in this version not allowing to instatiate them in
+the stack.
+
+More info:
+ * https://www.openssl.org/news/openssl-1.1.0-notes.html
+ * https://github.com/openssl/openssl/issues/962#issuecomment-208792020
+---
+ src/lib/tools/aesinterface.cpp | 28 ++++++++++++++++------------
+ src/lib/tools/aesinterface.h | 4 ++--
+ 2 files changed, 18 insertions(+), 14 deletions(-)
+
+diff --git a/src/lib/tools/aesinterface.cpp b/src/lib/tools/aesinterface.cpp
+index fa33eb3..29ed37e 100644
+--- a/src/lib/tools/aesinterface.cpp
++++ b/src/lib/tools/aesinterface.cpp
+@@ -39,14 +39,18 @@ AesInterface::AesInterface(QObject* parent)
+ : QObject(parent)
+ , m_ok(false)
+ {
+- EVP_CIPHER_CTX_init(&m_encodeCTX);
+- EVP_CIPHER_CTX_init(&m_decodeCTX);
++ m_encodeCTX = EVP_CIPHER_CTX_new();
++ m_decodeCTX = EVP_CIPHER_CTX_new();
++ EVP_CIPHER_CTX_init(m_encodeCTX);
++ EVP_CIPHER_CTX_init(m_decodeCTX);
+ }
+
+ AesInterface::~AesInterface()
+ {
+- EVP_CIPHER_CTX_cleanup(&m_encodeCTX);
+- EVP_CIPHER_CTX_cleanup(&m_decodeCTX);
++ EVP_CIPHER_CTX_cleanup(m_encodeCTX);
++ EVP_CIPHER_CTX_cleanup(m_decodeCTX);
++ EVP_CIPHER_CTX_free(m_encodeCTX);
++ EVP_CIPHER_CTX_free(m_decodeCTX);
+ }
+
+ bool AesInterface::isOk()
+@@ -78,10 +82,10 @@ bool AesInterface::init(int evpMode, const QByteArray &password, const QByteArra
+ int result = 0;
+ if (evpMode == EVP_PKEY_MO_ENCRYPT) {
+ m_iVector = createRandomData(EVP_MAX_IV_LENGTH);
+- result = EVP_EncryptInit_ex(&m_encodeCTX, EVP_aes_256_cbc(), NULL, key, (uchar*)m_iVector.constData());
++ result = EVP_EncryptInit_ex(m_encodeCTX, EVP_aes_256_cbc(), NULL, key, (uchar*)m_iVector.constData());
+ }
+ else if (evpMode == EVP_PKEY_MO_DECRYPT) {
+- result = EVP_DecryptInit_ex(&m_decodeCTX, EVP_aes_256_cbc(), NULL, key, (uchar*)iVector.constData());
++ result = EVP_DecryptInit_ex(m_decodeCTX, EVP_aes_256_cbc(), NULL, key, (uchar*)iVector.constData());
+ }
+
+ if (result == 0) {
+@@ -106,14 +110,14 @@ QByteArray AesInterface::encrypt(const QByteArray &plainData, const QByteArray &
+ uchar* ciphertext = (uchar*)malloc(cipherlength);
+
+ // allows reusing of 'm_encodeCTX' for multiple encryption cycles
+- EVP_EncryptInit_ex(&m_encodeCTX, NULL, NULL, NULL, NULL);
++ EVP_EncryptInit_ex(m_encodeCTX, NULL, NULL, NULL, NULL);
+
+ // update ciphertext, c_len is filled with the length of ciphertext generated,
+ // dataLength is the size of plaintext in bytes
+- EVP_EncryptUpdate(&m_encodeCTX, ciphertext, &cipherlength, (uchar*)plainData.data(), dataLength);
++ EVP_EncryptUpdate(m_encodeCTX, ciphertext, &cipherlength, (uchar*)plainData.data(), dataLength);
+
+ // update ciphertext with the final remaining bytes
+- EVP_EncryptFinal_ex(&m_encodeCTX, ciphertext + cipherlength, &finalLength);
++ EVP_EncryptFinal_ex(m_encodeCTX, ciphertext + cipherlength, &finalLength);
+
+ dataLength = cipherlength + finalLength;
+ QByteArray out((char*)ciphertext, dataLength);
+@@ -163,9 +167,9 @@ QByteArray AesInterface::decrypt(const QByteArray &cipherData, const QByteArray
+ // because we have padding ON, we must allocate an extra cipher block size of memory
+ uchar* plainText = (uchar*)malloc(plainTextLength + AES_BLOCK_SIZE);
+
+- EVP_DecryptInit_ex(&m_decodeCTX, NULL, NULL, NULL, NULL);
+- EVP_DecryptUpdate(&m_decodeCTX, plainText, &plainTextLength, cipherText, cipherLength);
+- int success = EVP_DecryptFinal_ex(&m_decodeCTX, plainText + plainTextLength, &finalLength);
++ EVP_DecryptInit_ex(m_decodeCTX, NULL, NULL, NULL, NULL);
++ EVP_DecryptUpdate(m_decodeCTX, plainText, &plainTextLength, cipherText, cipherLength);
++ int success = EVP_DecryptFinal_ex(m_decodeCTX, plainText + plainTextLength, &finalLength);
+
+ cipherLength = plainTextLength + finalLength;
+
+diff --git a/src/lib/tools/aesinterface.h b/src/lib/tools/aesinterface.h
+index e0debc6..c3c940c 100644
+--- a/src/lib/tools/aesinterface.h
++++ b/src/lib/tools/aesinterface.h
+@@ -50,8 +50,8 @@ class QUPZILLA_EXPORT AesInterface : public QObject
+ private:
+ bool init(int evpMode, const QByteArray &password, const QByteArray &iVector = QByteArray());
+
+- EVP_CIPHER_CTX m_encodeCTX;
+- EVP_CIPHER_CTX m_decodeCTX;
++ EVP_CIPHER_CTX* m_encodeCTX;
++ EVP_CIPHER_CTX* m_decodeCTX;
+
+ bool m_ok;
+ QByteArray m_iVector;
diff --git a/www-client/qupzilla/metadata.xml b/www-client/qupzilla/metadata.xml
new file mode 100644
index 000000000000..0f7954fa4ccb
--- /dev/null
+++ b/www-client/qupzilla/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <use>
+ <flag name="kwallet">Enable encrypted storage of passwords with <pkg>kde-frameworks/kwallet</pkg></flag>
+ <flag name="nonblockdialogs">Enable fancy non-blocking JavaScript dialogs
+ shown inside the page, not blocking the application window. When closing
+ browser windows with open dialogs, this can crash the application.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">QupZilla/qupzilla-plugins</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/www-client/qupzilla/qupzilla-2.1.2.ebuild b/www-client/qupzilla/qupzilla-2.1.2.ebuild
new file mode 100644
index 000000000000..c17924c3323c
--- /dev/null
+++ b/www-client/qupzilla/qupzilla-2.1.2.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PLOCALES="ar_SA bg_BG ca_ES cs_CZ da_DK de_DE el_GR es_ES es_MX es_VE eu_ES
+ fa_IR fi_FI fr_FR gl_ES he_IL hr_HR hu_HU id_ID is it_IT ja_JP ka_GE
+ lg lt lv_LV nl_NL nqo pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK sr
+ sr@ijekavian sr@ijekavianlatin sr@latin sv_SE tr_TR uk_UA uz@Latn
+ zh_CN zh_HK zh_TW"
+
+PLUGINS_HASH='c332d306c0f6cf645c75eaf198d2fc5e12339e9e'
+PLUGINS_VERSION='2016.05.02' # if there are no updates, we can use the older archive
+
+inherit l10n qmake-utils
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/QupZilla/${PN}.git"
+else
+ MY_P=QupZilla-${PV}
+ SRC_URI="https://github.com/QupZilla/${PN}/releases/download/v${PV}/${MY_P}.tar.xz"
+ KEYWORDS="amd64 ~arm x86"
+ S=${WORKDIR}/${MY_P}
+fi
+
+DESCRIPTION="A cross-platform web browser using QtWebEngine"
+HOMEPAGE="https://www.qupzilla.com/"
+SRC_URI+=" https://github.com/QupZilla/${PN}-plugins/archive/${PLUGINS_HASH}.tar.gz -> ${PN}-plugins-${PLUGINS_VERSION}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="dbus debug gnome-keyring kwallet libressl nonblockdialogs"
+
+RDEPEND="
+ >=dev-qt/qtcore-5.7.1:5
+ >=dev-qt/qtdeclarative-5.7.1:5[widgets]
+ >=dev-qt/qtgui-5.7.1:5
+ >=dev-qt/qtnetwork-5.7.1:5[ssl]
+ >=dev-qt/qtprintsupport-5.7.1:5
+ >=dev-qt/qtsql-5.7.1:5[sqlite]
+ >=dev-qt/qtwebchannel-5.7.1:5
+ >=dev-qt/qtwebengine-5.7.1:5[widgets]
+ >=dev-qt/qtwidgets-5.7.1:5
+ >=dev-qt/qtx11extras-5.7.1:5
+ x11-libs/libxcb:=
+ dbus? ( >=dev-qt/qtdbus-5.7.1:5 )
+ gnome-keyring? ( gnome-base/gnome-keyring )
+ kwallet? ( kde-frameworks/kwallet:5 )
+ libressl? ( dev-libs/libressl:= )
+ !libressl? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}
+ >=dev-qt/linguist-tools-5.7.1:5
+ >=dev-qt/qtconcurrent-5.7.1:5
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS BUILDING.md CHANGELOG FAQ README.md )
+
+PATCHES=( "${FILESDIR}/${P}-openssl-1.1.0.patch" )
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]]; then
+ git-r3_src_unpack
+ fi
+ default
+}
+
+src_prepare() {
+ # get extra plugins into qupzilla build tree
+ mv "${WORKDIR}"/${PN}-plugins-${PLUGINS_HASH}/plugins/* "${S}"/src/plugins/ || die
+
+ rm_loc() {
+ # remove localizations the user has not specified
+ sed -i -e "/${1}.ts/d" translations/translations.pri || die
+ rm translations/${1}.ts || die
+ }
+
+ # remove outdated prebuilt localizations
+ rm -rf bin/locale || die
+
+ # remove empty locale
+ rm translations/empty.ts || die
+
+ l10n_find_plocales_changes translations '' .ts
+ l10n_for_each_disabled_locale_do rm_loc
+
+ default
+}
+
+src_configure() {
+ # see BUILDING document for explanation of options
+ export \
+ QUPZILLA_PREFIX="${EPREFIX}/usr" \
+ USE_LIBPATH="${EPREFIX}/usr/$(get_libdir)" \
+ DEBUG_BUILD=$(usex debug true '') \
+ DISABLE_DBUS=$(usex dbus '' true) \
+ GNOME_INTEGRATION=$(usex gnome-keyring true '') \
+ KDE_INTEGRATION=$(usex kwallet true '') \
+ NONBLOCK_JS_DIALOGS=$(usex nonblockdialogs true '')
+
+ eqmake5
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+}