summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-01-10 15:10:26 +0200
committerEfraim Flashner <efraim@flashner.co.il>2021-01-10 15:10:26 +0200
commit808e4c141ef270cf0787690fbfff906f36f164cc (patch)
tree2aa9bf2b94849de0f5729f614133367f1e32c1c0
parentd0fff8f840afc17be40bdc49bff52ed08d5a1a7b (diff)
downloadguix-808e4c141ef270cf0787690fbfff906f36f164cc.tar.gz
gnu: tipp10: Build with qt-5.
* gnu/packages/education.scm (tipp10)[source]: Add new patches.
[inputs]: Remove qt-4, sqlite. Add qtbase, qtmultimedia.
* gnu/packages/patches/tipp10-disable-downloader.patch,
gnu/packages/patches/tipp10-qt5.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register them.
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/education.scm11
-rw-r--r--gnu/packages/patches/tipp10-disable-downloader.patch165
-rw-r--r--gnu/packages/patches/tipp10-qt5.patch69
4 files changed, 244 insertions, 5 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 6893a54fdd..dea7b3a906 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -10,7 +10,7 @@
 # Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
 # Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 # Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
-# Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 # Copyright © 2016, 2017, 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 # Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 # Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
@@ -1663,8 +1663,10 @@ dist_patch_DATA =						\
   %D%/packages/patches/thefuck-test-environ.patch		\
   %D%/packages/patches/tidy-CVE-2015-5522+5523.patch		\
   %D%/packages/patches/tinyxml-use-stl.patch			\
+  %D%/packages/patches/tipp10-disable-downloader.patch		\
   %D%/packages/patches/tipp10-fix-compiling.patch		\
   %D%/packages/patches/tipp10-remove-license-code.patch		\
+  %D%/packages/patches/tipp10-qt5.patch			\
   %D%/packages/patches/tk-find-library.patch			\
   %D%/packages/patches/transcode-ffmpeg.patch	\
   %D%/packages/patches/transmission-honor-localedir.patch	\
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 07862291a7..8ba673fe03 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
@@ -230,8 +230,11 @@ Currently available boards include:
               (sha256
                (base32
                 "0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx"))
+              ;; Apply patches in the order determined by Debian
               (patches (search-patches "tipp10-fix-compiling.patch"
-                                       "tipp10-remove-license-code.patch"))))
+                                       "tipp10-remove-license-code.patch"
+                                       "tipp10-disable-downloader.patch"
+                                       "tipp10-qt5.patch"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f ; packages has no tests
@@ -256,8 +259,8 @@ Currently available boards include:
                ;; Recreate Makefile
                (invoke "qmake")))))))
     (inputs
-     `(("qt4" ,qt-4)
-       ("sqlite" ,sqlite)))
+     `(("qtbase" ,qtbase)
+       ("qtmultimedia" ,qtmultimedia)))
     (home-page "https://www.tipp10.com/")
     (synopsis "Touch typing tutor")
     (description "Tipp10 is a touch typing tutor.  The ingenious thing about
diff --git a/gnu/packages/patches/tipp10-disable-downloader.patch b/gnu/packages/patches/tipp10-disable-downloader.patch
new file mode 100644
index 0000000000..4917a927f9
--- /dev/null
+++ b/gnu/packages/patches/tipp10-disable-downloader.patch
@@ -0,0 +1,165 @@
+https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/disable_downloaders.patch
+
+Author: Reiner Herrmann <reiner@reiner-h.de>
+Description: Disable downloaders
+ This makes porting to Qt5 much easier, as QHttp is no longer available.
+ But the functionality was not enabled anyway or is no longer useful.
+ .
+ - checkversion.h/.cpp:
+   At startup (while loading settings), Tipp10 "phones home" to do an
+   update check (www.tipp10.com/update/version.tipp10v210).
+   For a packaged software and one that is no longer being developed,
+   this does not make much sense.
+ - updatedialog.h/.cpp:
+   Can download newer sqlite database (www.tipp10.com/update/sql.tipp10v210.utf),
+   but this file is no longer available on the server (404).
+   The update action has also not been enabled in the menu, so the update
+   functionality was currently not active:
+     widget/mainwindow.cpp:143:  //fileMenu->addAction(updateAction);
+ - downloaddialog.h/.cpp:
+   Allows downloading lessons from user-specified location.
+   But the action (widget/startwidget.cpp -> lessonDownload) has not been part
+   of any menu, so it was also not in use.
+
+--- a/tipp10.pro
++++ b/tipp10.pro
+@@ -15,7 +15,6 @@
+ INCLUDEPATH     += 	.

+ CONFIG          += 	qt

+ QT              += 	sql

+-QT              += 	network

+ RC_FILE         += 	tipp10.rc

+ RESOURCES       += 	tipp10.qrc

+ HEADERS         += 	def/defines.h \

+@@ -36,15 +35,12 @@
+                     widget/settingspages.h \

+                     widget/lessondialog.h \

+                     widget/regexpdialog.h \

+-                    widget/downloaddialog.h \

+                     widget/lessonprintdialog.h \

+                     widget/lessonresult.h \

+-                    widget/updatedialog.h \

+                     widget/helpbrowser.h \

+                     widget/companylogo.h \

+                     widget/errormessage.h \

+                     widget/txtmessagedialog.h \

+-                    widget/checkversion.h \

+                     sql/connection.h \

+                     sql/lessontablesql.h \

+                     sql/chartablesql.h \

+@@ -70,15 +66,12 @@
+                     widget/settingspages.cpp \

+                     widget/lessondialog.cpp \

+                     widget/regexpdialog.cpp \

+-                    widget/downloaddialog.cpp \

+                     widget/lessonprintdialog.cpp \

+                     widget/lessonresult.cpp \

+-                    widget/updatedialog.cpp \

+                     widget/helpbrowser.cpp \

+                     widget/companylogo.cpp \

+                     widget/errormessage.cpp \

+                     widget/txtmessagedialog.cpp \

+-                    widget/checkversion.cpp \

+                     sql/lessontablesql.cpp \

+                     sql/chartablesql.cpp \

+                     sql/trainingsql.cpp \

+--- a/widget/mainwindow.cpp
++++ b/widget/mainwindow.cpp
+@@ -41,11 +41,9 @@
+ 

+ #include "mainwindow.h"

+ #include "settingsdialog.h"

+-#include "updatedialog.h"

+ #include "def/defines.h"

+ #include "def/errordefines.h"

+ #include "errormessage.h"

+-#include "checkversion.h"

+ 

+ MainWindow::MainWindow() {

+ 	trainingStarted = false;

+@@ -214,8 +212,8 @@
+ }

+ 

+ void MainWindow::showUpdate() {

+-	UpdateDialog updateDialog(this);

+-	updateDialog.exec();

++	//UpdateDialog updateDialog(this);

++	//updateDialog.exec();

+ 	// Fill lesson list after online update

+ 	startWidget->fillLessonList(false);

+ }

+@@ -486,6 +484,7 @@
+ 	settings.endGroup();

+ 

+     settings.beginGroup("general");

++#if 0

+     if (settings.value("check_new_version", true).toBool()) {

+ 

+         QDate lastVersionCheck = settings.value("last_version_check").toDate();

+@@ -499,6 +498,7 @@
+         }

+         settings.setValue("last_version_check", today);

+     }

++#endif

+     settings.endGroup();

+ }

+ 

+--- a/widget/settingspages.cpp
++++ b/widget/settingspages.cpp
+@@ -581,7 +581,7 @@
+ 

+ 	// Layout of group box vertical

+ 	QVBoxLayout *layout = new QVBoxLayout;

+-    layout->addWidget(checkNewVersion);

++    //layout->addWidget(checkNewVersion);

+     layout->addSpacing(1);

+     layout->addWidget(checkNativeStyle);

+     layout->setMargin(16);

+@@ -610,7 +610,6 @@
+     checkIntelligence->setChecked(settings.value("check_toggle_intelligence", true).toBool());

+ 	checkLimitLesson->setChecked(settings.value("check_limit_lesson", true).toBool());

+ 	checkLessonPublish->setChecked(settings.value("check_lesson_publish", true).toBool());

+-    checkNewVersion->setChecked(settings.value("check_new_version", true).toBool());

+     checkNativeStyle->setChecked(settings.value("check_native_style", false).toBool());

+ 	settings.endGroup();

+ }

+@@ -636,7 +635,6 @@
+ 	settings.setValue("check_limit_lesson", checkLimitLesson->isChecked());

+ 	settings.setValue("check_lesson_publish", checkLessonPublish->isChecked());

+ 	settings.setValue("check_native_style", checkNativeStyle->isChecked());

+-    settings.setValue("check_new_version", checkNewVersion->isChecked());

+     settings.endGroup();

+ 

+ 	return requireRestart;

+--- a/widget/startwidget.cpp
++++ b/widget/startwidget.cpp
+@@ -43,12 +43,10 @@
+ 

+ #include "startwidget.h"

+ #include "sql/startsql.h"

+-#include "updatedialog.h"

+ #include "def/defines.h"

+ #include "def/errordefines.h"

+ #include "errormessage.h"

+ #include "lessondialog.h"

+-#include "downloaddialog.h"

+ #include "illustrationdialog.h"

+ #include "txtmessagedialog.h"

+ 

+@@ -1048,7 +1046,7 @@
+ }

+ 

+ void StartWidget::clickDownloadLesson() {

+-

++#if 0

+ 	QStringList lessonData;

+ 

+ 	DownloadDialog downloadDialog(&lessonData, this);

+@@ -1083,6 +1081,7 @@
+ 			}

+ 		}

+ 	}

++#endif

+ }

+ 

+ void StartWidget::clickEditLesson() {

diff --git a/gnu/packages/patches/tipp10-qt5.patch b/gnu/packages/patches/tipp10-qt5.patch
new file mode 100644
index 0000000000..34ad5cd708
--- /dev/null
+++ b/gnu/packages/patches/tipp10-qt5.patch
@@ -0,0 +1,69 @@
+https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/qt5.patch
+
+Author: Reiner Herrmann <reiner@reiner-h.de>
+Description: Port to Qt5
+Bug-Debian: https://bugs.debian.org/875207
+
+--- a/tipp10.pro
++++ b/tipp10.pro
+@@ -14,6 +14,7 @@
+ DEPENDPATH      += 	.

+ INCLUDEPATH     += 	.

+ CONFIG          += 	qt

++QT              += 	widgets multimedia printsupport

+ QT              += 	sql

+ RC_FILE         += 	tipp10.rc

+ RESOURCES       += 	tipp10.qrc

+--- a/main.cpp
++++ b/main.cpp
+@@ -24,7 +24,6 @@
+ ****************************************************************/

+ 

+ #include <QApplication>

+-#include <QPlastiqueStyle>

+ #include <QString>

+ #include <QSettings>

+ #include <QCoreApplication>

+@@ -212,7 +211,7 @@
+ 

+     // Set windows style

+ 	if (!useNativeStyle) {

+-	    app.setStyle("plastique");

++	    app.setStyle("fusion");

+     }

+ 

+ 	// Translation

+--- a/games/abcrainwidget.cpp
++++ b/games/abcrainwidget.cpp
+@@ -235,8 +235,7 @@
+ 		charballs.last()->wind = (qrand() % 8) + 2;

+ 		charballs.last()->rad = 0;

+ 

+-		chartext.append(new QGraphicsTextItem(QString(characterTemp),

+-			charballs.last(), scene));

++		chartext.append(new QGraphicsTextItem(QString(characterTemp), charballs.last()));

+ 		chartext.last()->setFont(QFont("Courier", 16, 100));

+ 		chartext.last()->setPos(-(chartext.last()->boundingRect().width() / 2), -(chartext.last()->boundingRect().height() / 2));

+ 

+--- a/sql/chartablesql.cpp
++++ b/sql/chartablesql.cpp
+@@ -137,7 +137,7 @@
+ 	sortColumn(4);

+ 

+ 	headerview->setStretchLastSection(true);

+-	headerview->setResizeMode(QHeaderView::Interactive);

++	headerview->setSectionResizeMode(QHeaderView::Interactive);

+ 	headerview->setSortIndicatorShown(true);

+ 

+ 	// Resize the columns

+--- a/sql/lessontablesql.cpp
++++ b/sql/lessontablesql.cpp
+@@ -202,7 +202,7 @@
+ 	sortColumn(-1);

+ 

+ 	headerview->setStretchLastSection(true);

+-	headerview->setResizeMode(QHeaderView::Interactive);

++	headerview->setSectionResizeMode(QHeaderView::Interactive);

+ 	headerview->setSortIndicatorShown(true);

+ 

+ 	// Resize the columns