diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-01-09 01:29:19 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-01-09 01:38:46 +0100 |
commit | d00e8fb937c0b220c170d3b78b4926ee933aa3e1 (patch) | |
tree | f7ca3e8d1563011285da8f7b93805b8c2ffc5838 /sci-visualization/zhu3d | |
parent | dev-perl/Software-License: Bump to version 0.103.13 (diff) | |
download | gentoo-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
Diffstat (limited to 'sci-visualization/zhu3d')
-rw-r--r-- | sci-visualization/zhu3d/files/zhu3d-4.2.6-qt5.patch | 205 | ||||
-rw-r--r-- | sci-visualization/zhu3d/zhu3d-4.2.6-r1.ebuild | 84 |
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 000000000000..e1d956c8c079 --- /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 000000000000..bbd09ac9b8e6 --- /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" +} |