Ludovic Courtès wrote 3 years ago
(address . bug-guix@gnu.org)
The mcrl2-202106.0.tar.gz tarball has been updated in place:
Toggle snippet (166 lines)
$ wget -qO- https://bayfront.guix.gnu.org/nar/lzip/ch8mqirm3jzndh4668dr0nj9ij2d4zzf-mcrl2-202106.0.tar.gz| lzip -d |guix archive -x /tmp/good.tgz
$ (cd /tmp; wget -qO bad.tgz https://www.mcrl2.org/download/release/mcrl2-202106.0.tar.gz)
$ diffoscope /tmp/{good,bad}.tgz
--- /tmp/good.tgz
+++ /tmp/bad.tgz
├── filetype from file(1)
│ @@ -1 +1 @@
│ -gzip compressed data, last modified: Mon Jun 14 13:31:21 2021, from Unix
│ +gzip compressed data, last modified: Tue Jul 13 11:27:28 2021, from Unix
[...]
│ ├── mcrl2-202106.0/build/SourceVersion
│ │ @@ -1,4 +1,4 @@
│ │ # This file contains the version for the MCRL2 source package.
│ │ # This file is used to generate the version number if the sources originate
│ │ # from a make package_source command.
│ │ -set(MCRL2_SOURCE_PACKAGE_REVISION 54fa1483c9)
│ │ +set(MCRL2_SOURCE_PACKAGE_REVISION c335fb2d5f)
│ ├── mcrl2-202106.0/tools/release/mcrl2-gui/mainwindow.cpp
│ │ @@ -5,15 +5,17 @@
│ │ // Distributed under the Boost Software License, Version 1.0.
│ │ // (See accompanying file LICENSE_1_0.txt or copy at
│ │ // http://www.boost.org/LICENSE_1_0.txt)
│ │ //
│ │
│ │ #include "mainwindow.h"
│ │ #include "mcrl2/utilities/logger.h"
│ │ +#include "mcrl2/utilities/platform.h"
│ │
│ │ +#include <QtGlobal>
│ │ #include <QMessageBox>
│ │ #include <QSettings>
│ │
│ │ #include "toolaction.h"
│ │ #include "toolinstance.h"
│ │ #include "fileinformation.h"
│ │
│ │ @@ -39,33 +41,48 @@
│ │ connect(m_ui.treeFiles, SIGNAL(openProperties(QString)), this, SLOT(createFileInformation(QString)));
│ │
│ │ m_catalog.load();
│ │ m_ui.treeFiles->setCatalog(m_catalog);
│ │
│ │ createToolMenu();
│ │
│ │ +// workaround for QTBUG-57687
│ │ +#if QT_VERSION > QT_VERSION_CHECK(5, 10, 0) || not defined MCRL2_PLATFORM_WINDOWS
│ │ fileMenu->addSeparator();
│ │ fileMenu->addAction(QString("Open mcrl2ide"), this, SLOT(onOpenIDE()));
│ │ +#endif
│ │
│ │ m_state = saveState();
│ │ QSettings settings("mCRL2", "mCRL2-gui");
│ │ restoreGeometry(settings.value("geometry").toByteArray());
│ │ restoreState(settings.value("windowState").toByteArray());
│ │ m_ui.treeFiles->restore(settings);
│ │ }
│ │
│ │ void MainWindow::onOpenIDE()
│ │ {
│ │ +// workaround for QTBUG-57687
│ │ +#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) || not defined MCRL2_PLATFORM_WINDOWS
│ │ QDir appDir = QDir(QCoreApplication::applicationDirPath());
│ │ QString path = appDir.absoluteFilePath("mcrl2ide");
│ │ +
│ │ +#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
│ │ + QProcess* p = new QProcess();
│ │ + p->setProgram(path);
│ │ + if (!p->startDetached())
│ │ + {
│ │ + QMessageBox::warning(this, "mCRL2-gui", "Failed to start mcrl2ide: " + p->errorString());
│ │ + }
│ │ +#else
│ │ if (!QProcess::startDetached(path))
│ │ {
│ │ - QMessageBox::warning(this, "mCRL2-gui", "Failed to start mrl2ide: could "
│ │ - "not find its executable");
│ │ + QMessageBox::warning(this, "mCRL2-gui", "Failed to start mcrl2ide: could not find its executable");
│ │ }
│ │ +#endif
│ │ +#endif
│ │ }
│ │
│ │ void MainWindow::closeEvent(QCloseEvent *event)
│ │ {
│ │ QSettings settings("mCRL2", "mCRL2-gui");
│ │ settings.setValue("geometry", saveGeometry());
│ │ settings.setValue("windowState", saveState());
│ ├── mcrl2-202106.0/tools/release/ltsgraph/bezier.h
│ │ @@ -181,68 +181,68 @@
│ │ static_cast<Scalar>(0), static_cast<Scalar>(1),
│ │ std::numeric_limits<Scalar>::digits * .6);
│ │ }
│ │ };
│ │
│ │ // Implementation for cubic bezier curves
│ │
│ │ -template <> constexpr Vector Bezier<3>::at(Scalar t) const
│ │ +template <> inline constexpr Vector Bezier<3>::at(Scalar t) const
│ │ {
│ │ const Scalar t2 = t * t,
│ │ t3 = t2 * t,
│ │ tn = 1.0f - t,
│ │ tn2 = tn * tn,
│ │ tn3 = tn2 * tn;
│ │ return m_control[0] * tn3
│ │ + m_control[1] * 3.0f * tn2 * t
│ │ + m_control[2] * 3.0f * tn * t2
│ │ + m_control[3] * t3;
│ │ }
│ │
│ │ -template <> constexpr Vector Bezier<3>::tangent(Scalar t) const
│ │ +template <> inline constexpr Vector Bezier<3>::tangent(Scalar t) const
│ │ {
│ │ const Scalar t2 = t * t,
│ │ tn = 1.0f - t,
│ │ tn2 = tn * tn;
│ │ return (m_control[1] - m_control[0]) * 3.0f * tn2
│ │ + (m_control[2] - m_control[1]) * 6.0f * tn * t
│ │ + (m_control[3] - m_control[2]) * 3.0f * t2;
│ │ }
│ │
│ │ -template <> constexpr std::array<Vector, 7> Bezier<3>::interpolate(Scalar t) const
│ │ +template <> inline constexpr std::array<Vector, 7> Bezier<3>::interpolate(Scalar t) const
│ │ {
│ │ const QVector3D p01 = lerp(m_control[0], m_control[1], t),
│ │ p12 = lerp(m_control[1], m_control[2], t),
│ │ p23 = lerp(m_control[2], m_control[3], t),
│ │ p012 = lerp(p01, p12, t),
│ │ p123 = lerp(p12, p23, t),
│ │ p0123 = lerp(p012, p123, t);
│ │ return {m_control[0], p01, p012, p0123, p123, p23, m_control[3]};
│ │ }
│ │
│ │ // Implementation for quadratic bezier curves
│ │
│ │ -template <> constexpr Vector Bezier<2>::at(Scalar t) const
│ │ +template <> inline constexpr Vector Bezier<2>::at(Scalar t) const
│ │ {
│ │ const Scalar t2 = t * t,
│ │ tn = 1.0f - t,
│ │ tn2 = tn * tn;
│ │ return m_control[0] * tn2
│ │ + m_control[1] * 2.0f * tn * t
│ │ + m_control[2] * t2;
│ │ }
│ │
│ │ -template <> constexpr Vector Bezier<2>::tangent(Scalar t) const
│ │ +template <> inline constexpr Vector Bezier<2>::tangent(Scalar t) const
│ │ {
│ │ const Scalar tn = 1.0f - t;
│ │ return (m_control[1] - m_control[0]) * 2.0f * tn
│ │ + (m_control[2] - m_control[1]) * 2.0f * t;
│ │ }
│ │
│ │ -template <> constexpr std::array<Vector, 5> Bezier<2>::interpolate(Scalar t) const
│ │ +template <> inline constexpr std::array<Vector, 5> Bezier<2>::interpolate(Scalar t) const
│ │ {
│ │ const QVector3D p01 = lerp(m_control[0], m_control[1], t),
│ │ p12 = lerp(m_control[1], m_control[2], t),
│ │ p012 = lerp(p01, p12, t);
│ │ return {m_control[0], p01, p012, p12, m_control[2]};
│ │ }
The changes correspond to the 54fa1483c9..c335fb2d5f diff at
I’ll update the tarball hash.
Ludo’.