aboutsummaryrefslogtreecommitdiff
path: root/gnu
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 /gnu
parentd0fff8f840afc17be40bdc49bff52ed08d5a1a7b (diff)
downloadguix-808e4c141ef270cf0787690fbfff906f36f164cc.tar
guix-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.
Diffstat (limited to 'gnu')
-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