From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- www-client/qupzilla/Manifest | 7 ++ .../files/qupzilla-2.1.2-openssl-1.1.0.patch | 103 +++++++++++++++++++ www-client/qupzilla/metadata.xml | 18 ++++ www-client/qupzilla/qupzilla-2.1.2.ebuild | 109 +++++++++++++++++++++ 4 files changed, 237 insertions(+) create mode 100644 www-client/qupzilla/Manifest create mode 100644 www-client/qupzilla/files/qupzilla-2.1.2-openssl-1.1.0.patch create mode 100644 www-client/qupzilla/metadata.xml create mode 100644 www-client/qupzilla/qupzilla-2.1.2.ebuild (limited to 'www-client/qupzilla') 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 +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 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Enable encrypted storage of passwords with kde-frameworks/kwallet + 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. + + + + QupZilla/qupzilla-plugins + + 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 +} -- cgit v1.2.3