summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2018-01-09 01:29:19 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2018-01-09 01:38:46 +0100
commitd00e8fb937c0b220c170d3b78b4926ee933aa3e1 (patch)
treef7ca3e8d1563011285da8f7b93805b8c2ffc5838
parentdev-perl/Software-License: Bump to version 0.103.13 (diff)
downloadgentoo-d00e8fb937c0b220c170d3b78b4926ee933aa3e1.tar.gz
gentoo-d00e8fb937c0b220c170d3b78b4926ee933aa3e1.tar.bz2
gentoo-d00e8fb937c0b220c170d3b78b4926ee933aa3e1.zip
sci-visualization/zhu3d: Port to Qt5, EAPI 6, qmake-utils
Bug: https://bugs.gentoo.org/643970 Package-Manager: Portage-2.3.19, Repoman-2.3.6
-rw-r--r--sci-visualization/zhu3d/files/zhu3d-4.2.6-qt5.patch205
-rw-r--r--sci-visualization/zhu3d/zhu3d-4.2.6-r1.ebuild84
2 files changed, 289 insertions, 0 deletions
diff --git a/sci-visualization/zhu3d/files/zhu3d-4.2.6-qt5.patch b/sci-visualization/zhu3d/files/zhu3d-4.2.6-qt5.patch
new file mode 100644
index 00000000000..e1d956c8c07
--- /dev/null
+++ b/sci-visualization/zhu3d/files/zhu3d-4.2.6-qt5.patch
@@ -0,0 +1,205 @@
+From 4557d1111c030d9fa4449500b5624024abe9fc8a Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Tue, 9 Jan 2018 01:01:01 +0100
+Subject: [PATCH 1/2] Initial port to Qt5
+
+---
+ src/legedit.cpp | 14 +++++++-------
+ src/mainwindow.cpp | 2 +-
+ src/property.cpp | 4 ++--
+ src/usredit.cpp | 2 +-
+ zhu3d.pro | 3 +--
+ 5 files changed, 12 insertions(+), 13 deletions(-)
+
+diff --git a/src/legedit.cpp b/src/legedit.cpp
+index b0f5b28..9ce44b0 100644
+--- a/src/legedit.cpp
++++ b/src/legedit.cpp
+@@ -89,13 +89,13 @@ void legWidget::createAxesTable() {
+ axesTable->setColumnCount(7);
+
+ axesTable->setHorizontalHeaderLabels(columnLabels);
+- axesTable->horizontalHeader()->setResizeMode(0, QHeaderView::Interactive);
+- axesTable->horizontalHeader()->setResizeMode(1, QHeaderView::Interactive);
+- axesTable->horizontalHeader()->setResizeMode(2, QHeaderView::Fixed);
+- axesTable->horizontalHeader()->setResizeMode(3, QHeaderView::Fixed);
+- axesTable->horizontalHeader()->setResizeMode(4, QHeaderView::Fixed);
+- axesTable->horizontalHeader()->setResizeMode(5, QHeaderView::Fixed);
+- axesTable->horizontalHeader()->setResizeMode(6, QHeaderView::Fixed);
++ axesTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Interactive);
++ axesTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Interactive);
++ axesTable->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Fixed);
++ axesTable->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Fixed);
++ axesTable->horizontalHeader()->setSectionResizeMode(4, QHeaderView::Fixed);
++ axesTable->horizontalHeader()->setSectionResizeMode(5, QHeaderView::Fixed);
++ axesTable->horizontalHeader()->setSectionResizeMode(6, QHeaderView::Fixed);
+ axesTable->verticalHeader()->show();
+ axesTable->setShowGrid(true);
+
+diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
+index 970f1bf..48d23af 100644
+--- a/src/mainwindow.cpp
++++ b/src/mainwindow.cpp
+@@ -1804,7 +1804,7 @@ void MaiWindow::benchmarkSlot() {
+ QMessageBox::information(
+ this,
+ tr("Benchmark"),
+- result.toAscii().data()
++ result.toLatin1().data()
+ );
+
+ /** Restore and perform updates */
+diff --git a/src/property.cpp b/src/property.cpp
+index eff4442..99216d7 100644
+--- a/src/property.cpp
++++ b/src/property.cpp
+@@ -138,11 +138,11 @@ void iniITL() {
+ ** Copy a QString to a plain old character-string
+ ****************************************************************************/
+ void q2cstrcpy(char *str, const QString qstr) {
+- strcpy(str, qstr.toAscii().data());
++ strcpy(str, qstr.toLatin1().data());
+ }
+
+ char *q2cstrcpy(const QString qstr) {
+- return qstr.toAscii().data();
++ return qstr.toLatin1().data();
+ }
+
+
+diff --git a/src/usredit.cpp b/src/usredit.cpp
+index 18b58d5..6088906 100644
+--- a/src/usredit.cpp
++++ b/src/usredit.cpp
+@@ -128,7 +128,7 @@ void usrWidget::createUsrTable() {
+ QStringList columnLabel(tr("Item"));
+
+ usrTable->setHorizontalHeaderLabels(columnLabel);
+- usrTable->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
++ usrTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
+ usrTable->verticalHeader()->show();
+ usrTable->setShowGrid(true);
+
+diff --git a/zhu3d.pro b/zhu3d.pro
+index efa3d53..cae8b78 100644
+--- a/zhu3d.pro
++++ b/zhu3d.pro
+@@ -47,8 +47,7 @@
+ TEMPLATE = app
+ CONFIG += release
+ TARGET = zhu3d
+-QT += opengl
+-
++QT += opengl printsupport widgets
+
+ # ============================================================================
+ # Workaround for Qt4-4.8.4 and missing reference to 'gluPerspective'
+--
+2.15.1
+
+
+From fac5c787ef8e82d92c75c91554508211e1320418 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Tue, 9 Jan 2018 01:20:55 +0100
+Subject: [PATCH 2/2] Drop PostScript option, unsupported by Qt5PrintSupport
+
+---
+ src/glwidget.cpp | 35 -----------------------------------
+ src/picedit.cpp | 6 ------
+ src/ui/picedit.ui | 10 ----------
+ 3 files changed, 51 deletions(-)
+
+diff --git a/src/glwidget.cpp b/src/glwidget.cpp
+index 1719ec0..6343f1e 100644
+--- a/src/glwidget.cpp
++++ b/src/glwidget.cpp
+@@ -910,41 +910,6 @@ void OGLWidget::savePic() {
+ QApplication::restoreOverrideCursor();
+ break;
+ }
+-
+- case PS: {
+- fileName=QFileDialog::getSaveFileName(
+- this,
+- tr("Save as *.ps"),
+- workDir,
+- "Images (*.ps)");
+-
+- if(fileName.isEmpty())
+- return;
+-
+- /** Complete filename */
+- if(!fileName.toUpper().endsWith(".PS"))
+- fileName+=".ps";
+-
+- /** Set up printer */
+- QApplication::setOverrideCursor(Qt::WaitCursor);
+- QPrinter printer(QPrinter::HighResolution);
+- printer.setOutputFormat(QPrinter::PostScriptFormat);
+- printer.setResolution(pic.dpi);
+- printer.setOutputFileName(fileName); // Enables toFile automatically
+- printer.setFullPage(true);
+-
+- /** "Print" over painter */
+- QImage image=pixmap.toImage();
+- QPainter painter(&printer);
+- QRect rect=painter.viewport();
+- QSize size=image.size();
+- size.scale(rect.size(), Qt::KeepAspectRatio);
+- painter.setViewport(0, 0, size.width(), size.height());
+- painter.setWindow(image.rect());
+- painter.drawImage(0, 0, image);
+- QApplication::restoreOverrideCursor();
+- break;
+- }
+ }
+ }
+
+diff --git a/src/picedit.cpp b/src/picedit.cpp
+index 149c9d3..74383a7 100644
+--- a/src/picedit.cpp
++++ b/src/picedit.cpp
+@@ -49,7 +49,6 @@ picWidget::picWidget(QWidget *parent) : QWidget(parent) {
+ connect(pngFmt, SIGNAL(clicked()), this, SLOT(pngSlot()));
+ connect(jpgFmt, SIGNAL(clicked()), this, SLOT(jpgSlot()));
+ connect(pdfFmt, SIGNAL(clicked()), this, SLOT(pdfSlot()));
+- connect(psFmt, SIGNAL(clicked()), this, SLOT(psSlot()));
+ }
+
+
+@@ -71,11 +70,6 @@ void picWidget::switchBox() {
+ qual->setEnabled(false);
+ dpi->setEnabled(false);
+ break;
+- case PS:
+- psFmt->setChecked(true);
+- qual->setEnabled(false);
+- dpi->setEnabled(true);
+- break;
+ }
+ }
+
+diff --git a/src/ui/picedit.ui b/src/ui/picedit.ui
+index 12e6148..9a498f2 100644
+--- a/src/ui/picedit.ui
++++ b/src/ui/picedit.ui
+@@ -263,16 +263,6 @@
+ </property>
+ </widget>
+ </item>
+- <item>
+- <widget class="QRadioButton" name="psFmt" >
+- <property name="toolTip" >
+- <string>PostScript</string>
+- </property>
+- <property name="text" >
+- <string>PS</string>
+- </property>
+- </widget>
+- </item>
+ </layout>
+ </item>
+ <item row="0" column="0" >
+--
+2.15.1
+
diff --git a/sci-visualization/zhu3d/zhu3d-4.2.6-r1.ebuild b/sci-visualization/zhu3d/zhu3d-4.2.6-r1.ebuild
new file mode 100644
index 00000000000..bbd09ac9b8e
--- /dev/null
+++ b/sci-visualization/zhu3d/zhu3d-4.2.6-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit desktop qmake-utils
+
+DESCRIPTION="Interactive 3D mathematical function viewer"
+HOMEPAGE="https://sourceforge.net/projects/zhu3d"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ virtual/glu
+ virtual/opengl
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( {readme,src/changelog}.txt )
+HTML_DOCS=( doc/. )
+
+PATCHES=( "${FILESDIR}"/${P}-qt5.patch )
+
+src_prepare() {
+ default
+
+ local datadir=/usr/share/${PN}
+ sed \
+ -e "s:^SYSDIR=:SYSDIR=${datadir}/system:" \
+ -e "s:^TEXDIR=:TEXDIR=${datadir}/textures:" \
+ -e "s:^WORKDIR=:WORKDIR=${datadir}/work:" \
+ -e "s:^DOCDIR=:DOCDIR=/usr/share/doc/${PF}/html:" \
+ -i ${PN}.pri || die "sed zhu3d.pri failed"
+
+ sed \
+ -e "/# Optimisation/,/# Include/d" \
+ -i ${PN}.pro || die "optimisation sed failed"
+}
+
+src_configure() {
+ eqmake5 zhu3d.pro
+}
+
+src_install() {
+ # not working: emake install INSTALL_ROOT="${D}" || die
+ dobin zhu3d
+
+ einstalldocs
+
+ local lang
+ for lang in ${LANGS} ; do
+ if use linguas_${lang} ; then
+
+ insinto /usr/share/${PN}/system/languages
+ doins system/languages/${PN}_${lang}.qm
+
+ if [ -e doc/${PN}_${lang}.html ] ; then
+ dohtml doc/${PN}_${lang}.html
+ fi
+ fi
+ done
+
+ insinto /usr/share/${PN}
+ doins -r work/textures
+
+ insinto /usr/share/${PN}/work
+ doins -r work/*.zhu work/slideshow
+
+ insinto /usr/share/${PN}/system
+ doins -r system/*.zhu system/icons
+
+ doicon system/icons/${PN}.png
+ make_desktop_entry ${PN} "Zhu3D Function Viewer" \
+ ${PN} "Education;Science;Math;Qt"
+}