app-misc/brewtarget: EAPI-7, use cmake.eclass, drop dev-qt/qtwebkit
authorAndreas Sturmlechner <asturm@gentoo.org>
Mon, 17 Feb 2020 00:54:22 +0000 (01:54 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 23 Feb 2020 00:17:32 +0000 (01:17 +0100)
Fixing QA warning about wrong doc install dir and compressed file along the way.

Closes: https://bugs.gentoo.org/684772
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
app-misc/brewtarget/brewtarget-2.3.1-r1.ebuild [new file with mode: 0644]
app-misc/brewtarget/files/brewtarget-2.3.1-no-compress-docs.patch [new file with mode: 0644]
app-misc/brewtarget/files/brewtarget-2.3.1-no-qtwebkit.patch [new file with mode: 0644]

diff --git a/app-misc/brewtarget/brewtarget-2.3.1-r1.ebuild b/app-misc/brewtarget/brewtarget-2.3.1-r1.ebuild
new file mode 100644 (file)
index 0000000..0378097
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PLOCALES="ca cs da de el en es et eu fr gl hu it lv nb nl pl pt ru sr sv tr zh"
+inherit cmake l10n
+
+DESCRIPTION="Application to create and manage beer recipes"
+HOMEPAGE="http://www.brewtarget.org/"
+SRC_URI="https://github.com/Brewtarget/${PN}/releases/download/v${PV}/${PN}_${PV}.orig.tar.xz"
+
+LICENSE="GPL-3 WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+BDEPEND="
+       dev-qt/linguist-tools:5
+"
+DEPEND="
+       dev-qt/qtcore:5
+       dev-qt/qtdeclarative:5
+       dev-qt/qtgui:5
+       dev-qt/qtmultimedia:5
+       dev-qt/qtnetwork:5
+       dev-qt/qtprintsupport:5
+       dev-qt/qtsql:5[sqlite]
+       dev-qt/qtsvg:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtxml:5
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${P}-no-qtwebkit.patch"
+       "${FILESDIR}/${P}-no-compress-docs.patch"
+)
+
+remove_locale() {
+       sed -i -e "/bt_${1}\.ts/d" CMakeLists.txt || die
+}
+
+src_prepare() {
+       cmake_src_prepare
+
+       l10n_find_plocales_changes translations bt_ .ts
+       l10n_for_each_disabled_locale_do remove_locale
+
+       # Tests are bogus, don't build them
+       sed -i -e '/Qt5Test/d' CMakeLists.txt || die
+       sed -i -e '/=Tests=/,/=Installs=/d' src/CMakeLists.txt || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DDOCDIR="${EPREFIX}"/usr/share/doc/${PF}
+               -DDO_RELEASE_BUILD=ON
+               -DNO_MESSING_WITH_FLAGS=ON
+       )
+       cmake_src_configure
+}
diff --git a/app-misc/brewtarget/files/brewtarget-2.3.1-no-compress-docs.patch b/app-misc/brewtarget/files/brewtarget-2.3.1-no-compress-docs.patch
new file mode 100644 (file)
index 0000000..f437a72
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/CMakeLists.txt   2020-02-17 02:07:48.201051509 +0100
++++ b/CMakeLists.txt   2020-02-17 02:10:26.790061722 +0100
+@@ -176,18 +176,7 @@
+ ENDIF()
+ #=========================Changelog custom target==============================
+-FIND_PROGRAM( GZIP_CMD gzip )
+-IF( GZIP_CMD )
+-   SET( CHANGELOG_UNCOMPRESSED "${CMAKE_CURRENT_SOURCE_DIR}/CHANGES.markdown" )
+-   SET( CHANGELOG "${CMAKE_CURRENT_BINARY_DIR}/changelog.gz" )
+-   ADD_CUSTOM_COMMAND(
+-      OUTPUT ${CHANGELOG}
+-      COMMAND ${GZIP_CMD} -9 -n -c ${CHANGELOG_UNCOMPRESSED} > ${CHANGELOG}
+-      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-      MAIN_DEPENDENCY ${CHANGELOG_UNCOMPRESSED}
+-   )
+-   ADD_CUSTOM_TARGET(changelog ALL DEPENDS ${CHANGELOG})
+-ENDIF()
++SET( CHANGELOG "${CMAKE_CURRENT_SOURCE_DIR}/CHANGES.markdown" )
+ #=========================Detect Debian======================================== 
+ IF( EXISTS "/etc/debian_version" )
diff --git a/app-misc/brewtarget/files/brewtarget-2.3.1-no-qtwebkit.patch b/app-misc/brewtarget/files/brewtarget-2.3.1-no-qtwebkit.patch
new file mode 100644 (file)
index 0000000..ec149c8
--- /dev/null
@@ -0,0 +1,164 @@
+From 761bb3882c4c243a49279b67e53c87e5e5d2928f Mon Sep 17 00:00:00 2001
+From: Mik Firestone <mikfire@gmail.com>
+Date: Sat, 19 Mar 2016 23:01:54 -0400
+Subject: [PATCH 1/2] Closes #127 - TravisCI can't find webkit
+
+Qt 5.6 did away with the web kit, but none of our build environment have the
+replacement yet. This patch replaces all the WebDocs with TextBrowser, which
+seems to work and should compile.
+
+I removed the webkit requirement from the CMakeLists file, but I wasn't sure
+if the webkitwidgets needed axed as well. Although writing it out makes the
+answer somewhat obvious.
+---
+ src/BrewDayScrollWidget.cpp | 2 +-
+ src/BrewDayScrollWidget.h   | 4 ++--
+ src/BrewDayWidget.cpp       | 4 ++--
+ src/BrewDayWidget.h         | 4 ++--
+ src/CMakeLists.txt          | 2 --
+ src/RecipeFormatter.cpp     | 2 +-
+ src/RecipeFormatter.h       | 4 ++--
+ 7 files changed, 10 insertions(+), 12 deletions(-)
+
+diff --git a/src/BrewDayScrollWidget.cpp b/src/BrewDayScrollWidget.cpp
+index 760d2dc5..0846d791 100644
+--- a/src/BrewDayScrollWidget.cpp
++++ b/src/BrewDayScrollWidget.cpp
+@@ -35,7 +35,7 @@
+ #include "mash.h"
+ BrewDayScrollWidget::BrewDayScrollWidget(QWidget* parent)
+-   : QWidget(parent), doc(new QWebView())
++   : QWidget(parent), doc(new QTextBrowser())
+ {
+    setupUi(this);
+    setObjectName("BrewDayScrollWidget");
+--- a/src/BrewDayScrollWidget.h
++++ b/src/BrewDayScrollWidget.h
+@@ -27,7 +27,7 @@ class BrewDayScrollWidget;
+ #include "ui_brewDayScrollWidget.h"
+ #include <QWidget>
+ #include <QSize>
+-#include <QWebView>
++#include <QTextBrowser>
+ #include <QPrinter>
+ #include <QPrintDialog>
+ #include <QFile>
+@@ -90,7 +90,7 @@ private slots:
+    
+    Recipe* recObs;
+    QPrinter* printer;
+-   QWebView* doc;
++   QTextBrowser* doc;
+    //! Internal list of recipe instructions, always sorted by instruction number.
+    QList<Instruction*> recIns;
+--- a/src/BrewDayWidget.cpp
++++ b/src/BrewDayWidget.cpp
+@@ -37,7 +37,7 @@
+ // NOTE: QPrinter has no parent? Will it get destroyed properly?
+ BrewDayWidget::BrewDayWidget(QWidget* parent) :
+-   QWidget(parent), recObs(0), printer(new QPrinter()), doc(new QWebView(this))
++   QWidget(parent), recObs(0), printer(new QPrinter()), doc(new QTextBrowser(this))
+ {
+    setupUi(this);
+@@ -291,7 +291,7 @@ void BrewDayWidget::pushInstructionPrint()
+    QString pDoc;
+    QPrintDialog *dialog = new QPrintDialog(printer, this);
+-   /* Instantiate the Webview and then connect its signal */
++   /* Instantiate the TextBrowser and then connect its signal */
+    connect( doc, SIGNAL(loadFinished(bool)), this, SLOT(loadComplete(bool)) );
+    dialog->setWindowTitle(tr("Print Document"));
+--- a/src/BrewDayWidget.h
++++ b/src/BrewDayWidget.h
+@@ -27,7 +27,7 @@ class BrewDayWidget;
+ #include "ui_brewDayWidget.h"
+ #include <QWidget>
+ #include <QSize>
+-#include <QWebView>
++#include <QTextBrowser>
+ #include <QMetaProperty>
+ #include <QVariant>
+@@ -70,7 +70,7 @@ public slots:
+    
+    Recipe* recObs;
+    QPrinter* printer;
+-   QWebView* doc;
++   QTextBrowser* doc;
+    QString cssName;
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -424,7 +424,5 @@ SET( QT5_USE_MODULES_LIST
+    Sql
+    Svg
+    Xml
+-   WebKit
+-   WebKitWidgets
+    )
+diff --git a/src/RecipeFormatter.cpp b/src/RecipeFormatter.cpp
+index bb6a9295..f8a1ab4c 100644
+--- a/src/RecipeFormatter.cpp
++++ b/src/RecipeFormatter.cpp
+@@ -52,7 +52,7 @@ RecipeFormatter::RecipeFormatter(QObject* parent)
+    docDialog->setWindowTitle("Print Preview");
+    if( docDialog->layout() == 0 )
+       docDialog->setLayout(new QVBoxLayout(docDialog));
+-   doc = new QWebView(docDialog);
++   doc = new QTextBrowser(docDialog);
+    docDialog->layout()->addWidget(doc);
+    /*
+    // Add a print button at the bottom.
+--- a/src/RecipeFormatter.h
++++ b/src/RecipeFormatter.h
+@@ -28,7 +28,7 @@ class RecipeFormatter;
+ #include <QObject>
+ #include <QPrinter>
+ #include <QPrintDialog>
+-#include <QWebView>
++#include <QTextBrowser>
+ #include <QDialog>
+ #include <QFile>
+ #include "recipe.h"
+@@ -114,7 +114,7 @@ public slots:
+    Recipe* rec;
+    QPrinter* printer;
+-   QWebView* doc;
++   QTextBrowser* doc;
+    QDialog* docDialog;
+    QString cssName;
+
+From 3e0223a3b95c0e1169115cd14d0ede7f17c4f30f Mon Sep 17 00:00:00 2001
+From: Mik Firestone <mikfire@gmail.com>
+Date: Sat, 19 Mar 2016 23:09:41 -0400
+Subject: [PATCH 2/2] Missed a few edits.
+
+Missed some entries in the CMakeList files.
+---
+ CMakeLists.txt     | 6 ------
+ 1 file changed, 6 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -153,12 +153,6 @@ INCLUDE_DIRECTORIES(${Qt5Sql_INCLUDE_DIRS})
+ FIND_PACKAGE(Qt5Svg REQUIRED)
+ INCLUDE_DIRECTORIES(${Qt5Svg_INCLUDE_DIRS})
+-FIND_PACKAGE(Qt5WebKit REQUIRED)
+-INCLUDE_DIRECTORIES(${Qt5WebKit_INCLUDE_DIRS})
+-
+-FIND_PACKAGE(Qt5WebKitWidgets REQUIRED)
+-INCLUDE_DIRECTORIES(${Qt5WebKitWidgets_INCLUDE_DIRS})
+-
+ FIND_PACKAGE(Qt5Xml REQUIRED)
+ INCLUDE_DIRECTORIES(${Qt5Xml_INCLUDE_DIRS})