Subject: mcrl2-202106.0.tar.gz updated in place

From: Ludovic Courtès <[email-masked]>
Date: Thu, 07 Oct 2021 12:49:39 +0200

The mcrl2-202106.0.tar.gz tarball has been updated in place:

--8<---------------cut here---------------start------------->8---
$ 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]};
│ │  }
--8<---------------cut here---------------end--------------->8---

The changes correspond to the 54fa1483c9..c335fb2d5f diff at
<https://github.com/mCRL2org/mCRL2>.

I’ll update the tarball hash.

Ludo’.