4 Commits

Author SHA256 Message Date
5d731944e4 Accepting request 1322964 from science
OBS-URL: https://build.opensuse.org/request/show/1322964
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mathgl?expand=0&rev=64
2025-12-16 14:55:11 +00:00
33b4966e2d Add mathgl-cmake-lua-detection.patch: use cmake's in-built FindLua to detect and build against lua version 5.3, rather than using outdated version 5.1 [bsc#1254893, https://sourceforge.net/p/mathgl/bugs/54/].
OBS-URL: https://build.opensuse.org/package/show/science/mathgl?expand=0&rev=131
2025-12-15 14:34:00 +00:00
09a109aa2b Accepting request 1318314 from science
OBS-URL: https://build.opensuse.org/request/show/1318314
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mathgl?expand=0&rev=63
2025-11-18 14:37:59 +00:00
c105a590a2 * Update to version 8.0.3.
* Drop patches no longer required because they are fixed by upstream cmake changes: mathgl-no-default-qt.patch, mathgl-fix-python-module-path.patch
* Drop pinning of numpy to version 1; numpy2 supported now.
* Switch to Qt6; obsolete libmgl-qt5-8 package with libmgl-qt-8.
* Switch over BuildRequires to pkgconfig based ones where possible.

OBS-URL: https://build.opensuse.org/package/show/science/mathgl?expand=0&rev=129
2025-11-17 19:14:36 +00:00
10 changed files with 146 additions and 139 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ca84bf9480c39ed3112e920c16ce3d8f2898698f62896f3a57714128622a55aa
size 23979834

3
mathgl-8.0.3.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9bba9ee6a0f86d1b8f3f3ba0374d3cb776f772dbb6f1a01684ca6c0bd56204d6
size 242167802

View File

@@ -0,0 +1,23 @@
---
lang/CMakeLists.txt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
Index: mathgl-8.0.3/lang/CMakeLists.txt
===================================================================
--- mathgl-8.0.3.orig/lang/CMakeLists.txt
+++ mathgl-8.0.3/lang/CMakeLists.txt
@@ -71,10 +71,10 @@ if(enable-python)
endif(enable-python)
if(enable-lua)
- INCLUDE(FindLua51)
- if(NOT LUA51_FOUND)
- message(SEND_ERROR "Couldn't find Lua 5.1 library.")
- endif(NOT LUA51_FOUND)
+ find_package(Lua 5.3)
+ if(NOT Lua_FOUND)
+ message(SEND_ERROR "Couldn't find Lua library.")
+ endif(NOT Lua_FOUND)
include_directories(${LUA_INCLUDE_DIR})
if(${CMAKE_VERSION} VERSION_LESS "3.8.0")

View File

@@ -1,13 +1,13 @@
Index: mathgl-8.0.1/CMakeLists.txt
Index: mathgl-8.0.3/CMakeLists.txt
===================================================================
--- mathgl-8.0.1.orig/CMakeLists.txt
+++ mathgl-8.0.1/CMakeLists.txt
@@ -296,7 +296,7 @@ set(MGL_DEF_FONT "STIX" CACHE STRING "Se
if(NOT WIN32)
--- mathgl-8.0.3.orig/CMakeLists.txt
+++ mathgl-8.0.3/CMakeLists.txt
@@ -313,7 +313,7 @@ set(MGL_DEF_FONT "STIX2" CACHE STRING "S
# set(MGL_CGI_PATH "${CMAKE_INSTALL_PREFIX}/share/mathgl")
set(MGL_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/mathgl")
- set(MGL_DOC_PATH "${CMAKE_INSTALL_PREFIX}/share/doc/mathgl")
+ set(MGL_DOC_PATH "${CMAKE_INSTALL_PREFIX}/share/doc/packages/mathgl")
set(MGL_MAN_PATH "${CMAKE_INSTALL_PREFIX}/share/man")
set(MGL_INFO_PATH "${CMAKE_INSTALL_PREFIX}/share/info")
set(MGL_FONT_PATH "${MGL_DATA_PATH}/fonts")
if(NOT WIN32)

View File

@@ -1,8 +1,12 @@
Index: mathgl-2.4.4+svn1661/examples/CMakeLists.txt
---
examples/CMakeLists.txt | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
Index: mathgl-8.0.3/examples/CMakeLists.txt
===================================================================
--- mathgl-2.4.4+svn1661.orig/examples/CMakeLists.txt
+++ mathgl-2.4.4+svn1661/examples/CMakeLists.txt
@@ -5,6 +5,10 @@ file(COPY ${CMAKE_SOURCE_DIR}/examples/s
--- mathgl-8.0.3.orig/examples/CMakeLists.txt
+++ mathgl-8.0.3/examples/CMakeLists.txt
@@ -6,6 +6,10 @@ file(COPY ${CMAKE_SOURCE_DIR}/examples/s
file(COPY ${CMAKE_SOURCE_DIR}/examples/wnd_samples.cpp DESTINATION ${CMAKE_BINARY_DIR}/examples)
add_executable(mgl_example wnd_samples.cpp full_test.cpp samples.cpp)
target_link_libraries(mgl_example mgl-static ${getopt_lib-static})
@@ -13,7 +17,7 @@ Index: mathgl-2.4.4+svn1661/examples/CMakeLists.txt
if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_COMPILER_IS_GNUCXX AND enable-lcov)
setup_target_for_coverage(
NAME mgl_coverage
@@ -17,17 +21,29 @@ if(MGL_HAVE_FLTK)
@@ -18,17 +22,29 @@ if(MGL_HAVE_FLTK)
include_directories(${FLTK_INCLUDE_DIR})
add_executable(mgl_fltk_example wnd_samples.cpp fltk_example.cpp)
target_link_libraries(mgl_fltk_example mgl-fltk)
@@ -42,38 +46,23 @@ Index: mathgl-2.4.4+svn1661/examples/CMakeLists.txt
+ )
endif(MGL_HAVE_WX)
if(QT_ENABLED)
@@ -35,17 +51,33 @@ if(QT_ENABLED)
if(enable-qt5)
include(../scripts/qt5.cmake)
target_link_libraries(mgl_qt_example mgl-qt5)
+ install(
+ TARGETS mgl_qt_example
+ RUNTIME DESTINATION bin
+ )
else(enable-qt5)
include(../scripts/qt4.cmake)
target_link_libraries(mgl_qt_example mgl-qt4)
+ install(
+ TARGETS mgl_qt_example
+ RUNTIME DESTINATION bin
+ )
endif(enable-qt5)
if(TARGET mgl-qt)
@@ -37,10 +53,18 @@ if(TARGET mgl-qt)
add_executable(mgl_qt_example wnd_samples.cpp qt_example.cpp)
target_link_libraries(mgl_qt_example mgl-qt)
+ install(
+ TARGETS mgl_qt_example
+ RUNTIME DESTINATION bin
+ )
if(MGL_HAVE_OPENGL)
add_executable(mgl_qgl_example wnd_samples.cpp qgl_example.cpp)
if(enable-qt5)
target_link_libraries(mgl_qgl_example mgl ${MGL_QT5_LIBS})
+ install(
+ TARGETS mgl_qgl_example
+ RUNTIME DESTINATION bin
+ )
else(enable-qt5)
target_link_libraries(mgl_qgl_example mgl ${MGL_QT4_LIBS})
+ install(
+ TARGETS mgl_qgl_example
+ RUNTIME DESTINATION bin
+ )
endif(enable-qt5)
target_link_libraries(mgl_qgl_example mgl ${MGL_QT_LIBS})
+ install(
+ TARGETS mgl_qgl_example
+ RUNTIME DESTINATION bin
+ )
endif(MGL_HAVE_OPENGL)
endif(QT_ENABLED)
endif(TARGET mgl-qt)

View File

@@ -1,25 +0,0 @@
Index: mathgl-8.0.1/lang/CMakeLists.txt
===================================================================
--- mathgl-8.0.1.orig/lang/CMakeLists.txt
+++ mathgl-8.0.1/lang/CMakeLists.txt
@@ -39,7 +39,7 @@ if(enable-python)
include_directories(${PYTHON_INCLUDE_DIR} ${NUMPY_INCLUDE_PATH})
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}'))"
+ COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(get_python_lib(1),prefix='${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE MGL_PYTHON_SITE_PACKAGES
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(SWIG_MODULE_mathgl_EXTRA_DEPS numpy.i ${src_imp_dep})
@@ -58,8 +58,9 @@ if(enable-python)
)
add_custom_target(mgl_python_module ALL DEPENDS mathgl mathgl.pyc)
- install(FILES ${MathGL2_BINARY_DIR}/lang/mathgl.py ${MathGL2_BINARY_DIR}/lang/__pycache__/mathgl.cpython-${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.pyc DESTINATION ${MGL_PYTHON_SITE_PACKAGES}/mathgl/__pycache__)
- install (TARGETS mathgl LIBRARY DESTINATION ${MGL_PYTHON_SITE_PACKAGES}/mathgl)
+ install(FILES ${MathGL2_BINARY_DIR}/lang/__pycache__/mathgl.cpython-${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.pyc DESTINATION ${MGL_PYTHON_SITE_PACKAGES}/__pycache__)
+ install(FILES ${MathGL2_BINARY_DIR}/lang/mathgl.py DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
+ install(TARGETS mathgl LIBRARY DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
set(mgl_clean_files ${mgl_clean_files} mathgl.py)
endif(enable-python)

View File

@@ -1,7 +1,11 @@
Index: mathgl-8.0.1/src/prc.cpp
---
src/prc.cpp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
Index: mathgl-8.0.3/src/prc.cpp
===================================================================
--- mathgl-8.0.1.orig/src/prc.cpp
+++ mathgl-8.0.1/src/prc.cpp
--- mathgl-8.0.3.orig/src/prc.cpp
+++ mathgl-8.0.3/src/prc.cpp
@@ -36,6 +36,7 @@
#include <hpdf.h>
#include <hpdf_u3d.h>
@@ -21,6 +25,6 @@ Index: mathgl-8.0.1/src/prc.cpp
+#else
+ = HPDF_Page_Create3DAnnot (page, rect, u3d);
+#endif
// annot = HPDF_Page_Create3DAnnot (page, rect, 0, 0, u3d, 0 ); for the new version ???
// Enable toolbar
HPDF_Dict action = (HPDF_Dict)HPDF_Dict_GetItem (annot, "3DA", HPDF_OCLASS_DICT);

View File

@@ -1,24 +0,0 @@
From: Fabian Vogt <fabian@ritter-vogt.de>
Subject: Do not mark a Qt version as default if it's the only one built
We do not package the plain "qt" plugin, as it's just a copy of either
"qt4" or "qt5". It's not possible to do this with a cmake invocation,
as the deleted lines override it otherwise.
Index: mathgl-2.4.4+svn1661/CMakeLists.txt
===================================================================
--- mathgl-2.4.4+svn1661.orig/CMakeLists.txt
+++ mathgl-2.4.4+svn1661/CMakeLists.txt
@@ -260,12 +260,6 @@ if(enable-qt4 OR enable-qt5)
if(enable-qt4asqt AND enable-qt5asqt)
message(SEND_ERROR "You cannot make Qt4 and Qt5 as qt at the same time.")
endif(enable-qt4asqt AND enable-qt5asqt)
- if(enable-qt4 AND NOT enable-qt5)
- set(enable-qt4asqt TRUE)
- endif(enable-qt4 AND NOT enable-qt5)
- if(enable-qt5 AND NOT enable-qt4)
- set(enable-qt5asqt TRUE)
- endif(enable-qt5 AND NOT enable-qt4)
# if(NOT enable-opengl)
# message(SEND_ERROR "You cannot build MathGL with Qt4 or Qt5 without OpenGL enabled.")
# endif(NOT enable-opengl)

View File

@@ -1,3 +1,44 @@
-------------------------------------------------------------------
Fri Dec 12 00:38:23 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
- Add mathgl-cmake-lua-detection.patch: use cmake's in-built
FindLua to detect and build against lua version 5.3, rather than
using outdated version 5.1 [bsc#1254893,
https://sourceforge.net/p/mathgl/bugs/54/].
-------------------------------------------------------------------
Mon Nov 10 17:43:29 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
- Update to version 8.0.3:
* Improve 'mode' for small grid sizes.
* Update python usage for compatibility with NumPy2.
* Add samples for 'mode' and 'histl'.
* Minor fixes, improvements and spelling issues.
- Changes from version 8.0.2:
* Add 'mode' for finding sulution of Poisson equation with
arbitrary boundary.
* Add 'histl' for histogram by linear interpolation.
* Add jumps functionality for 'ode' solver (see
mgl_ode_solve_str_b(), mgl_ode_solve_str_cb()).
* Add robust approximation by using numbers 1,2,3 or 4 in
variable list of 'fit' and 'fits' commands: '1' for norm
sqrt(1+|u|^2), '2' for norm |u|^4, '3' for norm 1-cos(u), '4'
for norm |u|^2*(2-|u|^2/6^2), default norm |u|^2.
* Add power deposition for QO2d if k0<0.
* Update fonts. Add STIX2 and CJK fonts.
* Compatibility changes for Qt6.
* Improve complex number reading from files.
* Exclude NAN values from momentum estiamtions.
* Minor bugfixes and optimizations.
- Drop patches no longer required because they are fixed by
upstream cmake changes:
* mathgl-no-default-qt.patch
* mathgl-fix-python-module-path.patch
- Drop pinning of numpy to version 1; numpy2 supported now.
- Switch to Qt6; obsolete libmgl-qt5-8 package with libmgl-qt-8.
- Switch over BuildRequires to pkgconfig based ones where
possible.
-------------------------------------------------------------------
Thu Oct 10 08:26:16 UTC 2024 - Ana Guerrero <ana.guerrero@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package mathgl
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -42,14 +42,12 @@
%define _defaultdocdir %{_docdir}
%endif
Name: mathgl
Version: 8.0.1
Version: 8.0.3
Release: 0
Summary: Library for making scientific graphics
License: GPL-3.0-only
URL: http://mathgl.sourceforge.net
Source0: http://downloads.sourceforge.net/mathgl/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM mathgl-fix-python-module-path.patch -- Make python modules install arch-depended
Patch1: mathgl-fix-python-module-path.patch
# PATCH-FEATURE-UPSTREAM mathgl-examples-install.patch -- Enable examples install
Patch2: mathgl-examples-install.patch
# PATCH-FIX-OPENSUSE mathgl-doc-path.patch -- Locate documentation to right place
@@ -58,36 +56,42 @@ Patch3: mathgl-doc-path.patch
Patch4: udav-help-path.patch
# PATCH-FIX-OPENSUSE mathgl-texmf-dir.patch -- set correct path to texmf directory
Patch5: mathgl-texmf-dir.patch
# PATCH-FIX-OPENSUSE mathgl-no-default-qt.patch -- do not set a default qt
Patch7: mathgl-no-default-qt.patch
# PATCH-FIX-UPSTREAM mathgl-libharu2_4-compat.patch badshah400@gmail.com -- Fix compilation against libharu 2.4.x [https://sourceforge.net/p/mathgl/bugs/48/]
Patch8: mathgl-libharu2_4-compat.patch
BuildRequires: cmake >= 2.8.12
# PATCH-FIX-UPSTREAM mathgl-cmake-lua-detection.patch bsc#1254893 badshah400@gmail.com -- Use cmake's in-built FindLua to detect lua version 5.3 and build against it, rather than using outdated version 5.1 [https://sourceforge.net/p/mathgl/bugs/54/]
Patch9: mathgl-cmake-lua-detection.patch
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: fltk-devel
BuildRequires: freeglut-devel
BuildRequires: gcc-c++
BuildRequires: giflib-devel
BuildRequires: gsl-devel
BuildRequires: hdf5-devel
BuildRequires: libharu-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libqt5-qtbase-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
BuildRequires: lua51-devel
BuildRequires: openmpi-macros-devel
BuildRequires: swig
BuildRequires: sz2-devel
BuildRequires: texlive-filesystem
BuildRequires: wxGTK3-devel
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Core5Compat)
BuildRequires: pkgconfig(Qt6Gui)
BuildRequires: pkgconfig(Qt6OpenGL)
BuildRequires: pkgconfig(Qt6OpenGLWidgets)
BuildRequires: pkgconfig(Qt6PrintSupport)
BuildRequires: pkgconfig(Qt6Widgets)
BuildRequires: pkgconfig(glut)
BuildRequires: pkgconfig(gsl)
BuildRequires: pkgconfig(hdf5)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(lua)
%if %{with python}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module numpy-devel < 2.0}
BuildRequires: %{python_module numpy-devel}
BuildRequires: %{python_module setuptools}
BuildRequires: python-rpm-macros
Requires: python-numpy < 2.0
Requires: python-numpy
%endif
%if %{with octave}
BuildRequires: octave-devel
@@ -149,10 +153,12 @@ MathGL is a library for making scientific graphics. It provides data
plotting and handling of large data arrays, as well as window and
console modes and for embedding into other programs.
%package -n %{libname}-qt5-%{libversion}
Summary: MathGL Qt5 widget library
%package -n %{libname}-qt-%{libversion}
Summary: MathGL Qt(6) widget library
Provides: %{libname}-qt6-%{libversion} = %{version}
Obsoletes: %{libname}-qt5-%{libversion} < 8.0.3
%description -n %{libname}-qt5-%{libversion}
%description -n %{libname}-qt-%{libversion}
MathGL is a library for making scientific graphics. It provides data
plotting and handling of large data arrays, as well as window and
console modes and for embedding into other programs.
@@ -185,7 +191,7 @@ Requires: %{libname}%{libversion} = %{version}
Requires: %{libname}-fltk%{libversion} = %{version}
Requires: %{libname}-glut%{libversion} = %{version}
Requires: %{libname}-mpi%{libversion} = %{version}
Requires: %{libname}-qt5-%{libversion} = %{version}
Requires: %{libname}-qt-%{libversion} = %{version}
Requires: %{libname}-wnd%{libversion} = %{version}
Requires: %{libname}-wx%{libversion} = %{version}
Requires: cmake
@@ -380,7 +386,7 @@ pushd .
-Denable-hdf5=on \
-Denable-opengl=on \
-Denable-python=%{?with_python:on}%{!?with_python:off} \
-DPY3VERSION_DOTTED=%{$python_version} \
-DPython_EXECUTABLE=%{_bindir}/$python \
-Denable-json-sample=off \
%if "%{$python_provides}" == "python3" || "$python_" == "python3_"
-Denable-doc-html=%{?with_docs:on}%{!?with_docs:off} \
@@ -470,20 +476,13 @@ sha256sum %{buildroot}%{_docdir}/mathgl/png/fexport*.{prc,pdf,eps,svg}
# %%install_info_delete --info-dir=%%_infodir %%{_infodir}/%%{name}_en.info-1.gz
# %%install_info_delete --info-dir=%%_infodir %%{_infodir}/%%{name}_en.info-2.gz
%post -n %{libname}%{libversion} -p /sbin/ldconfig
%postun -n %{libname}%{libversion} -p /sbin/ldconfig
%post -n %{libname}-mpi%{libversion} -p /sbin/ldconfig
%postun -n %{libname}-mpi%{libversion} -p /sbin/ldconfig
%post -n %{libname}-fltk%{libversion} -p /sbin/ldconfig
%postun -n %{libname}-fltk%{libversion} -p /sbin/ldconfig
%post -n %{libname}-glut%{libversion} -p /sbin/ldconfig
%postun -n %{libname}-glut%{libversion} -p /sbin/ldconfig
%post -n %{libname}-qt5-%{libversion} -p /sbin/ldconfig
%postun -n %{libname}-qt5-%{libversion} -p /sbin/ldconfig
%post -n %{libname}-wnd%{libversion} -p /sbin/ldconfig
%postun -n %{libname}-wnd%{libversion} -p /sbin/ldconfig
%post -n %{libname}-wx%{libversion} -p /sbin/ldconfig
%postun -n %{libname}-wx%{libversion} -p /sbin/ldconfig
%ldconfig_scriptlets -n %{libname}%{libversion}
%ldconfig_scriptlets -n %{libname}-mpi%{libversion}
%ldconfig_scriptlets -n %{libname}-fltk%{libversion}
%ldconfig_scriptlets -n %{libname}-glut%{libversion}
%ldconfig_scriptlets -n %{libname}-qt-%{libversion}
%ldconfig_scriptlets -n %{libname}-wnd%{libversion}
%ldconfig_scriptlets -n %{libname}-wx%{libversion}
%if %{with octave}
%post -n octave-mathgl
@@ -525,8 +524,8 @@ rm -f %{_localstatedir}/run/texlive/run-update
%files -n %{libname}-glut%{libversion}
%{_libdir}/libmgl-glut.so.%{libversion}*
%files -n %{libname}-qt5-%{libversion}
%{_libdir}/libmgl-qt5.so.%{libversion}*
%files -n %{libname}-qt-%{libversion}
%{_libdir}/libmgl-qt*.so.%{libversion}*
%files -n %{libname}-wnd%{libversion}
%{_libdir}/libmgl-wnd.so.%{libversion}*
@@ -595,9 +594,9 @@ rm -f %{_localstatedir}/run/texlive/run-update
%if %{with python}
%files %{python_files}
%{python_sitearch}/mathgl.py
%{python_sitelib}/mathgl.py
%{python_sitearch}/_mathgl.so
%{python_sitearch}/__pycache__/*.pyc
%{python_sitelib}/__pycache__/*.pyc
%endif
%files -n %{name}-tex