Here's an update of wxmaxima to the latest version if anyone wants to test
before I commit.
The 2 local patches can go away as they've been addressed by upstream.
One new patch is introduced to work around the lack of PWD being set in
the environment.
ok's welcome, otherwise I plan to commit in the next few days.
Index: Makefile
===================================================================
RCS file: /cvs/ports/math/wxMaxima/Makefile,v
diff -u -p -u -r1.26 Makefile
--- Makefile 23 Jul 2025 21:27:45 -0000 1.26
+++ Makefile 1 Feb 2026 19:53:11 -0000
@@ -1,15 +1,16 @@
COMMENT = wxWidgets GUI for the computer algebra system maxima
-V = 24.05.0
+V = 26.01.0
GH_ACCOUNT = wxMaxima-developers
GH_PROJECT = wxmaxima
GH_TAGNAME = Version-$V
PKGNAME = wxMaxima-$V
-REVISION = 0
CATEGORIES = math
HOMEPAGE = https://wxmaxima-developers.github.io/
+
+MAINTAINER = Daniel Dickman <daniel@openbsd.org>
# GPLv2
PERMIT_PACKAGE = Yes
Index: distinfo
===================================================================
RCS file: /cvs/ports/math/wxMaxima/distinfo,v
diff -u -p -u -r1.11 distinfo
--- distinfo 21 Apr 2025 23:41:57 -0000 1.11
+++ distinfo 1 Feb 2026 19:53:11 -0000
@@ -1,2 +1,2 @@
-SHA256 (wxmaxima-Version-24.05.0.tar.gz) = IdyHFbcTctw1dDSGMHJUpaAoXzWmrLxouJTUMsTxTJg=
-SIZE (wxmaxima-Version-24.05.0.tar.gz) = 16824007
+SHA256 (wxmaxima-Version-26.01.0.tar.gz) = FxbE8nY2+QlnP2PtDHwwYhaD4163vwWl1QEPpn8Dl/Y=
+SIZE (wxmaxima-Version-26.01.0.tar.gz) = 16304931
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: patches/patch-CMakeLists_txt
diff -N patches/patch-CMakeLists_txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-CMakeLists_txt 1 Feb 2026 19:53:11 -0000
@@ -0,0 +1,18 @@
+wxMaxima should not rely on PWD being set
+
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -220,7 +220,11 @@ add_definitions(-DwxNO_UNSAFE_WXSTRING_CONV)
+ if(WIN32 OR CYGWIN)
+ file(RELATIVE_PATH RELPATH_TO_PO4A_PO_DIRECTORY "${CMAKE_BINARY_DIR}" "${CMAKE_SOURCE_DIR}/locales/manual")
+ else()
+- file(RELATIVE_PATH RELPATH_TO_PO4A_PO_DIRECTORY "$ENV{PWD}" "${CMAKE_SOURCE_DIR}/locales/manual")
++ set(_pwd "$ENV{PWD}")
++ if(NOT _pwd OR NOT IS_ABSOLUTE "${_pwd}" OR NOT IS_DIRECTORY "${_pwd}")
++ set(_pwd "${CMAKE_BINARY_DIR}")
++ endif()
++ file(RELATIVE_PATH RELPATH_TO_PO4A_PO_DIRECTORY "${_pwd}" "${CMAKE_SOURCE_DIR}/locales/manual")
+ endif()
+ file(GLOB MANUAL_LANGUAGES "${CMAKE_CURRENT_SOURCE_DIR}/locales/manual/*.po")
+ list(TRANSFORM MANUAL_LANGUAGES REPLACE ".*/(.*).po$" "\\1")
Index: patches/patch-src_Maxima_cpp
===================================================================
RCS file: patches/patch-src_Maxima_cpp
diff -N patches/patch-src_Maxima_cpp
--- patches/patch-src_Maxima_cpp 23 Jul 2025 21:27:45 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,44 +0,0 @@
-Revert commit 5d8dff15
-
-Index: src/Maxima.cpp
---- src/Maxima.cpp.orig
-+++ src/Maxima.cpp
-@@ -116,17 +116,34 @@ Maxima::~Maxima() {
- }
-
- bool Maxima::Write(const void *buffer, std::size_t length) {
-- if(!buffer)
-+ if (!m_socketOutputData.IsEmpty()) {
-+ if (buffer && length)
-+ m_socketOutputData.AppendData(buffer, length);
-+ buffer = m_socketOutputData.GetData();
-+ length = m_socketOutputData.GetDataLen();
-+ }
-+ if (!length)
- return false;
-- if (length == 0)
-- return false;
- m_socket->Write(buffer, length);
- if (m_socket->Error() && m_socket->LastError() != wxSOCKET_WOULDBLOCK) {
- wxThreadEvent *sendevent = new wxThreadEvent(EVT_MAXIMA);
- sendevent->SetInt(WRITE_ERROR);
- QueueEvent(sendevent);
-- return false;
-+ m_socketOutputData.Clear();
-+ return true;
- }
-+ auto const wrote = m_socket->LastWriteCount();
-+ if (wrote < length) {
-+ auto *const source = reinterpret_cast<const char *>(buffer);
-+ auto const leftToWrite = length - wrote;
-+ if (m_socketOutputData.IsEmpty())
-+ m_socketOutputData.AppendData(source + wrote, leftToWrite);
-+ else {
-+ memmove(m_socketOutputData.GetData(), source + wrote, leftToWrite);
-+ m_socketOutputData.SetDataLen(leftToWrite);
-+ }
-+ } else
-+ m_socketOutputData.Clear();
- return true;
- }
-
Index: patches/patch-src_Maxima_h
===================================================================
RCS file: patches/patch-src_Maxima_h
diff -N patches/patch-src_Maxima_h
--- patches/patch-src_Maxima_h 23 Jul 2025 21:27:45 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,31 +0,0 @@
-Revert commit 5d8dff15
-
-Index: src/Maxima.h
---- src/Maxima.h.orig
-+++ src/Maxima.h
-@@ -123,6 +123,12 @@ class Maxima : public wxEvtHandler (public)
- private:
- //! If this is set to true by XmlInspectorActive we send all data we get to the XML inspector
- bool m_xmlInspector = false;
-+ /*! Send still-unsent data to wxMaxima
-+
-+ \todo As we tell wxWidgets to send all data in one go at the end of a write command
-+ there should no more be unsent data.
-+ */
-+ void SendDataTowxMaxima();
- //! The configuration of our wxMaxima process
- Configuration *m_configuration;
- //! The thread handler for SendDataTowxMaxima, the thread that parses the data from maxima.
-@@ -152,6 +158,12 @@ class Maxima : public wxEvtHandler (public)
- waits for the other to exit before writing new data to this variable.
- */
- wxString m_socketInputData;
-+ /*! Data we didn't manage to send to wxMaxima until now
-+
-+ \todo Do we still need this variable? We tell wxWidgets to send all data in
-+ one go, so there should be no data be left at the end of a write command.
-+ */
-+ wxMemoryBuffer m_socketOutputData;
-
- //! true = Maxima still has to send us its first prompt
- bool m_firstPrompt = true;
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/math/wxMaxima/pkg/PLIST,v
diff -u -p -u -r1.10 PLIST
--- pkg/PLIST 21 Apr 2025 23:41:57 -0000 1.10
+++ pkg/PLIST 1 Feb 2026 19:53:11 -0000
@@ -94,6 +94,7 @@ share/locale/zh_TW/LC_MESSAGES/wxMaxima.
share/metainfo/io.github.wxmaxima_developers.wxMaxima.appdata.xml
share/mime/packages/x-wxmathml.xml
share/mime/packages/x-wxmaxima-batch.xml
+share/pixmaps/
share/pixmaps/io.github.wxmaxima_developers.wxMaxima.png
share/pixmaps/io.github.wxmaxima_developers.wxMaxima.svg
share/pixmaps/text-x-wxmathml.svg
No comments:
Post a Comment