Compare commits

..

7 Commits
rawhide ... f22

Author SHA1 Message Date
Dmitrij S. Kryzhevich
d561be0ba1 Fix RHBZ #1294072 2016-01-04 16:01:33 +06:00
Dmitrij S. Kryzhevich
ba9f073671 Rebuild. 2016-01-03 14:56:54 +06:00
Dmitrij S. Kryzhevich
f0903b6c61 Split out widgets, reenable octave 2015-12-09 20:04:06 +06:00
Dmitrij S. Kryzhevich
f0193d2e9f Clean spec after sync 2015-11-26 17:45:12 +06:00
Dmitrij S. Kryzhevich
43c660563f Batch change to (semi)sync with rawhide 2015-11-26 17:36:56 +06:00
Zbigniew Jędrzejewski-Szmek
6eb01adcd9 Fix linking with libX11 2015-05-03 14:58:29 -04:00
Zbigniew Jędrzejewski-Szmek
3e360c2160 Rebuild for changed mpich 2015-05-03 14:37:27 -04:00
24 changed files with 405 additions and 1002 deletions

6
.gitignore vendored
View File

@ -7,9 +7,3 @@ mathgl-1.10.2.1.tgz
/mathgl-2.2.1.tar.gz
/mathgl-2.3.tar.gz
/mathgl-2.3.3.tar.gz
/mathgl-2.3.4.tar.gz
/mathgl-2.3.5.1.tar.gz
/mathgl-2.4.1.tar.gz
/mathgl-2.4.2.1.tar.gz
/mathgl-2.4.4.tar.gz
/mathgl-8.0.1.tar.gz

View File

@ -0,0 +1,45 @@
--- examples/CMakeLists.txt 2015-11-24 12:19:29.605547590 +0600
+++ examples/CMakeLists.txt 2015-11-24 12:24:58.377140217 +0600
@@ -4,22 +4,26 @@ endif(MGL_HAVE_GSL)
add_executable(mgl_example wnd_samples.cpp full_test.cpp samples.cpp)
target_link_libraries(mgl_example mgl)
+SET(MGL_INSTALL_EXAMPLES_LIST mgl_example)
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)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_fltk_example)
endif(MGL_HAVE_FLTK)
if(MGL_HAVE_GLUT)
add_executable(mgl_glut_example wnd_samples.cpp glut_example.cpp)
target_link_libraries(mgl_glut_example mgl-glut)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_glut_example)
endif(MGL_HAVE_GLUT)
if(MGL_HAVE_WX)
include(${wxWidgets_USE_FILE})
add_executable(mgl_wx_example wnd_samples.cpp wx_example.cpp)
target_link_libraries(mgl_wx_example mgl-wx)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_wx_example)
endif(MGL_HAVE_WX)
if(enable-qt)
@@ -41,6 +45,7 @@ if(enable-qt)
target_link_libraries(mgl_qgl_example mgl)
target_link_libraries(mgl_qgl_example ${QT_LIBRARIES})
endif(enable-qt5)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_qt_example)
endif(enable-qt)
@@ -50,3 +55,7 @@ if(MGL_HAVE_LTDL)
target_link_libraries(mgl_module mgl) # for compatibility with win32
endif(MGL_HAVE_LTDL)
+install(
+ TARGETS ${MGL_INSTALL_EXAMPLES_LIST}
+ RUNTIME DESTINATION bin
+)

View File

@ -0,0 +1,10 @@
--- CMakeLists.txt 2015-11-24 12:29:02.177681649 +0600
+++ CMakeLists.txt 2015-11-24 12:30:50.909910702 +0600
@@ -406,6 +406,7 @@ endif(enable-glut)
if(enable-fltk)
set(MGL_HAVE_FLTK 1)
+ set(FLTK_SKIP_FLUID 1)
include(FindFLTK)
if(NOT FLTK_FOUND)
message(SEND_ERROR "Couldn't find FLTK library.")

54
mathgl-2.3.3-gsl2.patch Normal file
View File

@ -0,0 +1,54 @@
diff -urp mathgl-2.3.3/CMakeLists.txt mathgl-2.3.3-gsl2/CMakeLists.txt
--- mathgl-2.3.3/CMakeLists.txt 2015-12-08 21:39:12.774499940 +0600
+++ mathgl-2.3.3-gsl2/CMakeLists.txt 2015-12-08 21:39:50.534220640 +0600
@@ -259,6 +259,16 @@ endif(enable-pthread)
if(enable-gsl)
set(MGL_HAVE_GSL 1)
+ FIND_PACKAGE(PkgConfig)
+ pkg_check_modules(GSL2 REQUIRED gsl)
+ if ( GSL2_FOUND )
+ if ( NOT ${GSL2_VERSION} LESS 2.0 )
+ SET(ISGSL2 1)
+ endif ( NOT ${GSL2_VERSION} LESS 2.0 )
+ if ( ${GSL2_VERSION} LESS 1.16 )
+ SET(ISOLDGSL 1)
+ endif ( ${GSL2_VERSION} LESS 1.16 )
+ endif ( GSL2_FOUND )
find_library(GSL_LIB gsl)
find_library(GSL_CBLAS_LIB gslcblas)
find_path(GSL_INCLUDE_DIR gsl/gsl_fft_complex.h)
diff -urp mathgl-2.3.3/src/CMakeLists.txt mathgl-2.3.3-gsl2/src/CMakeLists.txt
--- mathgl-2.3.3/src/CMakeLists.txt 2015-06-01 13:29:02.000000000 +0600
+++ mathgl-2.3.3-gsl2/src/CMakeLists.txt 2015-12-08 21:40:21.154183235 +0600
@@ -23,6 +23,12 @@ ${MathGL_BINARY_DIR}/include/mgl2/dllexp
)
add_definitions(-DMGL_SRC)
+if(DEFINED ISGSL2)
+add_definitions(-DHAVE_GSL_2)
+endif(DEFINED ISGSL2)
+if(DEFINED ISOLDGSL)
+add_definitions(-DGSL_DISABLE_DEPRECATED)
+endif(DEFINED ISOLDGSL)
if(MGL_HAVE_PNG)
set(prc_src prc/PRCbitStream.cc prc/PRCdouble.cc prc/oPRCFile.cc prc/writePRC.cc prc.cpp )
diff -urp mathgl-2.3.3/src/fit.cpp mathgl-2.3.3-gsl2/src/fit.cpp
--- mathgl-2.3.3/src/fit.cpp 2015-06-01 13:29:02.000000000 +0600
+++ mathgl-2.3.3-gsl2/src/fit.cpp 2015-12-08 21:41:24.987020578 +0600
@@ -193,7 +193,14 @@ mreal MGL_NO_EXPORT mgl_fit_base(mglFitD
}
while ( status == GSL_CONTINUE && iter < 500 );
gsl_matrix *covar = gsl_matrix_alloc(m, m);
+#ifdef HAVE_GSL_2
+ gsl_matrix *J = gsl_matrix_alloc(s->fdf->n, s->fdf->p);
+ gsl_multifit_fdfsolver_jac(s, J);
+ gsl_multifit_covar (J, 0.0, covar);
+ gsl_matrix_free (J);
+#else
gsl_multifit_covar (s->J, 0.0, covar );
+#endif
mglFitCovar.Set(covar);
mreal res = gsl_blas_dnrm2(s->f);
for(i=0;i<m;i++) ini[i] = gsl_vector_get(s->x, i);

View File

@ -0,0 +1,9 @@
--- json/Backend.hpp 2015-11-24 12:34:41.587916006 +0600
+++ json/Backend.hpp 2015-11-24 12:37:37.116832634 +0600
@@ -1,5 +1,6 @@
#pragma once
+#include <QObject>
#include <QStringList>
class Backend : public QObject

View File

@ -0,0 +1,23 @@
--- CMakeLists.txt 2015-11-24 12:15:35.787678739 +0600
+++ CMakeLists.txt 2015-11-24 12:20:24.562634222 +0600
@@ -292,7 +292,7 @@ else(enable-all OR enable-ltdl)
set(MGL_HAVE_LTDL 0)
endif(enable-all OR enable-ltdl)
-if(enable-hdf4)
+if(enable-hdf4 AND (NOT enable-hdf5))
set(MGL_HAVE_HDF4 1)
find_library(HDF4_LIB df)
find_library(HDF4MF_LIB mfhdf)
@@ -303,9 +303,9 @@ if(enable-hdf4)
message(SEND_ERROR "${HDF4_INCLUDE_DIR}")
message(SEND_ERROR "Couldn't find HDF4 libraries.")
endif(NOT HDF4_LIB OR NOT HDF4MF_LIB OR NOT HDF4_INCLUDE_DIR)
-else(enable-hdf4)
+else(enable-hdf4 AND (NOT enable-hdf5))
set(MGL_HAVE_HDF4 0)
-endif(enable-hdf4)
+endif(enable-hdf4 AND (NOT enable-hdf5))
if(enable-hdf5)
set(MGL_HAVE_HDF5 1)

View File

@ -0,0 +1,11 @@
--- CMakeLists.txt 2015-11-24 12:23:06.821006701 +0600
+++ CMakeLists.txt 2015-11-24 12:29:02.177681649 +0600
@@ -121,6 +121,8 @@ MGL_DEPENDENT_OPTION(enable-python "Enab
MGL_DEPENDENT_OPTION(enable-lua "Enable Lua (v.5.1) interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
MGL_DEPENDENT_OPTION(enable-octave "Enable octave interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
MGL_DEPENDENT_OPTION(enable-octave-install "Octave interface will install for all users" ON "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
+SET( enable-octave OFF )
+SET( enable-octave-install OFF )
include_directories( ${MathGL_SOURCE_DIR}/include ${MathGL_BINARY_DIR}/include)
set(MGL_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/include/mgl2")

12
mathgl-2.3.3-no_qt4.patch Normal file
View File

@ -0,0 +1,12 @@
--- CMakeLists.txt 2015-11-24 12:30:50.909910702 +0600
+++ CMakeLists.txt 2015-11-24 12:33:38.836090820 +0600
@@ -102,7 +102,8 @@ CMAKE_DEPENDENT_OPTION(enable-gif "Enabl
CMAKE_DEPENDENT_OPTION(enable-glut "Enable glut support" OFF "NOT enable-all-widgets" ON)
CMAKE_DEPENDENT_OPTION(enable-fltk "Enable fltk widget" OFF "NOT enable-all-widgets" ON)
CMAKE_DEPENDENT_OPTION(enable-wx "Enable wxWidget widget" OFF "NOT enable-all-widgets" ON)
-CMAKE_DEPENDENT_OPTION(enable-qt4 "Enable Qt4 widget" OFF "NOT enable-all-widgets" ON)
+#CMAKE_DEPENDENT_OPTION(enable-qt4 "Enable Qt4 widget" OFF "NOT enable-all-widgets" ON)
+set(enable-qt4 OFF)
CMAKE_DEPENDENT_OPTION(enable-qt5 "Enable Qt5 widget" OFF "NOT enable-all-widgets" ON)
CMAKE_DEPENDENT_OPTION(enable-qt5asqt "Set Qt5 as default libmgl-qt" ON "enable-qt5" OFF)

View File

@ -0,0 +1,24 @@
--- lang/CMakeLists.txt 2015-11-24 12:36:50.203458528 +0600
+++ lang/CMakeLists.txt.octave 2015-12-05 11:55:39.729209345 +0600
@@ -125,12 +125,6 @@ message(STATUS "${oct_prog} ${oct_host}
)
add_custom_target(mgl_octave_module ALL DEPENDS mathgl.tar.gz)
- install(FILES ${CMAKE_BINARY_DIR}/lang/mathgl.tar.gz DESTINATION ${MGL_DATA_PATH})
- if(enable-octave-install)
- install(CODE "execute_process(
- COMMAND ${oct_exec} -q --eval \"pkg install mathgl.tar.gz\"
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/lang )")
- endif(enable-octave-install)
set(mgl_clean_files ${mgl_clean_files} mathgl)
endif(enable-octave)
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${mgl_clean_files}")
--- lang/DESCRIPTION 2015-11-24 12:36:50.203458528 +0600
+++ lang/DESCRIPTION.newversion 2015-12-05 21:52:16.228784984 +0600
@@ -1,5 +1,5 @@
Name: mathgl
-Version: 2.0
+Version: 2.3.3
Date: 2011-08-23
Author: Alexey Balakin
Maintainer: Dmitry Kulagin

View File

@ -0,0 +1,50 @@
diff -urp mathgl-2.3.3/examples/full_test.cpp mathgl-2.3.3-signed_char/examples/full_test.cpp
--- mathgl-2.3.3/examples/full_test.cpp 2015-11-24 12:36:50.209458320 +0600
+++ mathgl-2.3.3-signed_char/examples/full_test.cpp 2015-11-26 11:45:03.816885186 +0600
@@ -392,7 +392,7 @@ int main(int argc,char **argv)
mgl_suppress_warn(true);
const char *suf = "";
char name[256]="", *tmp;
- int ch;
+ signed int ch;
time_t st,en; time(&st);
mglGraph *gr = NULL;
mglSample *s=samp;
diff -urp mathgl-2.3.3/utils/make_bin.cpp mathgl-2.3.3-signed_char/utils/make_bin.cpp
--- mathgl-2.3.3/utils/make_bin.cpp 2015-11-24 12:36:50.209458320 +0600
+++ mathgl-2.3.3-signed_char/utils/make_bin.cpp 2015-11-26 11:44:23.629270158 +0600
@@ -24,7 +24,7 @@ int main(int argc, char *argv[])
{
mglFont fnt;
std::string path, base, fname;
- char ch;
+ signed char ch;
while(1)
{
diff -urp mathgl-2.3.3/utils/mglconv.cpp mathgl-2.3.3-signed_char/utils/mglconv.cpp
--- mathgl-2.3.3/utils/mglconv.cpp 2015-11-24 12:36:50.209458320 +0600
+++ mathgl-2.3.3-signed_char/utils/mglconv.cpp 2015-11-26 11:47:02.414797998 +0600
@@ -28,7 +28,8 @@ int main(int argc, char *argv[])
mgl_suppress_warn(true);
mglGraph gr;
mglParse p(true);
- char ch, buf[2048], iname[256]="", oname[256]="";
+ signed char ch;
+ char buf[2048], iname[256]="", oname[256]="";
std::vector<std::wstring> var;
std::wstring str;
bool none=false;
diff -urp mathgl-2.3.3/utils/mglview.cpp mathgl-2.3.3-signed_char/utils/mglview.cpp
--- mathgl-2.3.3/utils/mglview.cpp 2015-11-24 12:36:50.209458320 +0600
+++ mathgl-2.3.3-signed_char/utils/mglview.cpp 2015-11-26 11:46:16.959364509 +0600
@@ -39,7 +39,8 @@ int show(mglGraph *gr)
//-----------------------------------------------------------------------------
int main(int argc, char **argv)
{
- char ch, iname[256]="";
+ signed char ch;
+ char iname[256]="";
mgl_suppress_warn(true);
while(1)
{

15
mathgl-2.3.3-x11.patch Normal file
View File

@ -0,0 +1,15 @@
--- udav/CMakeLists.txt 2015-11-24 12:33:30.016396488 +0600
+++ udav/CMakeLists.txt 2015-11-24 12:35:44.813724765 +0600
@@ -40,10 +40,10 @@ endif(enable-qt5)
add_executable(udav ${udav_src} ${udav_moc_src} ${udav_rc_src})
#set_target_properties(udav PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
if(enable-qt5)
- target_link_libraries(udav mgl-qt5)
+ target_link_libraries(udav mgl-qt5 X11)
qt5_use_modules(udav Core Widgets Gui PrintSupport)
else(enable-qt5)
- target_link_libraries(udav mgl-qt4)
+ target_link_libraries(udav mgl-qt4 X11)
target_link_libraries(udav ${QT_LIBRARIES})
endif(enable-qt5)

View File

@ -1,11 +0,0 @@
diff -urp mathgl-2.4.1/CMakeLists.txt mathgl-2.4.1-fluid/CMakeLists.txt
--- mathgl-2.4.1/CMakeLists.txt 2017-12-05 11:49:15.767073586 +0700
+++ mathgl-2.4.1-fluid/CMakeLists.txt 2017-12-05 11:53:07.085161409 +0700
@@ -556,6 +556,7 @@ endif(enable-glut)
if(enable-fltk)
set(MGL_HAVE_FLTK 1)
+ set(FLTK_SKIP_FLUID 1)
FIND_PACKAGE(FLTK)
if(NOT FLTK_FOUND)
message(SEND_ERROR "Couldn't find FLTK library.")

View File

@ -1,23 +0,0 @@
diff -urp mathgl-2.4.1/examples/wx_example.cpp mathgl-2.4.1-gcc7/examples/wx_example.cpp
--- mathgl-2.4.1/examples/wx_example.cpp 2017-12-05 12:02:01.771791180 +0700
+++ mathgl-2.4.1-gcc7/examples/wx_example.cpp 2017-12-05 15:41:42.622938431 +0700
@@ -53,7 +53,7 @@ IMPLEMENT_APP(testApp)
//-----------------------------------------------------------------------------
bool testApp::OnInit()
{
- testFrame* frame = new testFrame(0L, _("MathGL + wxWidgets sample"));
+ testFrame* frame = new testFrame(0L, wxString(_("MathGL + wxWidgets sample")));
frame->Show();
return true;
}
@@ -68,8 +68,8 @@ testFrame::testFrame(wxFrame *frame, con
// create a menu bar
wxMenuBar* mbar = new wxMenuBar();
wxMenu* fileMenu = new wxMenu(_T(""));
- fileMenu->Append(idMenuQuit, _("&Quit\tAlt-F4"), _("Quit the application"));
- mbar->Append(fileMenu, _("&File"));
+ fileMenu->Append(idMenuQuit, wxString(_("&Quit\tAlt-F4")), wxString(_("Quit the application")));
+ mbar->Append(fileMenu, wxString(_("&File")));
SetMenuBar(mbar);
SetSize(800,620);

View File

@ -1,13 +0,0 @@
diff -urp mathgl-2.4.1/CMakeLists.txt mathgl-2.4.1-no_hdf4-and-hdf5-simultaneously/CMakeLists.txt
--- mathgl-2.4.1/CMakeLists.txt 2017-12-05 11:55:05.173632219 +0700
+++ mathgl-2.4.1-no_hdf4-and-hdf5-simultaneously/CMakeLists.txt 2017-12-05 11:56:38.303638637 +0700
@@ -179,7 +179,8 @@ CMAKE_DEPENDENT_OPTION(enable-zlib "Enab
CMAKE_DEPENDENT_OPTION(enable-png "Enable png support" ON "NOT enable-all" ON)
CMAKE_DEPENDENT_OPTION(enable-jpeg "Enable jpeg support" OFF "NOT enable-all" ON)
MGL_DEPENDENT_OPTION(enable-gsl "Enable gsl support" OFF "NOT enable-lgpl" ON "NOT enable-all" ON)
-MGL_DEPENDENT_OPTION(enable-hdf4 "Enable hdf4 support" OFF "NOT enable-lgpl" ON "NOT enable-all" ON)
+#MGL_DEPENDENT_OPTION(enable-hdf4 "Enable hdf4 support" OFF "NOT enable-lgpl" ON "NOT enable-all" ON)
+SET(enable-hdf4 OFF)
MGL_DEPENDENT_OPTION(enable-hdf5 "Enable hdf5 support" OFF "NOT enable-lgpl" ON "NOT enable-all" ON)
CMAKE_DEPENDENT_OPTION(enable-pdf "Enable pdf support" OFF "NOT enable-all" ON)
CMAKE_DEPENDENT_OPTION(enable-gif "Enable gif support" OFF "NOT enable-all" ON)

View File

@ -1,29 +0,0 @@
diff -urp mathgl-2.4.1/mgllab/CMakeLists.txt mathgl-2.4.1-no_udaveupdatedb/mgllab/CMakeLists.txt
--- mathgl-2.4.1/mgllab/CMakeLists.txt 2017-12-05 12:02:01.765791309 +0700
+++ mathgl-2.4.1-no_udaveupdatedb/mgllab/CMakeLists.txt 2017-12-06 08:58:18.269129131 +0700
@@ -51,7 +51,7 @@ if(MGL_HAVE_FLTK)
find_program(findupmdb update-mime-database)
if(findupmdb)
install(FILES ${CMAKE_BINARY_DIR}/mgllab/mgl.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mime/packages/)
- install(CODE "execute_process(COMMAND \"${findupmdb}\" \"${CMAKE_INSTALL_PREFIX}/share/mime\")")
+# install(CODE "execute_process(COMMAND \"${findupmdb}\" \"${CMAKE_INSTALL_PREFIX}/share/mime\")")
endif(findupmdb)
mgl_po_src(${mgllab_src} ${mgllab_hdr})
diff -urp mathgl-2.4.1/udav/CMakeLists.txt mathgl-2.4.1-no_udaveupdatedb/udav/CMakeLists.txt
--- mathgl-2.4.1/udav/CMakeLists.txt 2017-12-05 12:02:01.762791373 +0700
+++ mathgl-2.4.1-no_udaveupdatedb/udav/CMakeLists.txt 2017-12-05 17:58:07.349289539 +0700
@@ -49,11 +49,11 @@ install(FILES udav_ru.qm DESTINATION ${C
find_program(findupddb update-desktop-database)
if(findupddb)
install(FILES udav.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications/)
- install(CODE "execute_process(COMMAND \"${findupddb}\" \"${CMAKE_INSTALL_PREFIX}/share/applications\")")
+# install(CODE "execute_process(COMMAND \"${findupddb}\" \"${CMAKE_INSTALL_PREFIX}/share/applications\")")
endif(findupddb)
find_program(findupmdb update-mime-database)
if(findupmdb)
install(FILES ${CMAKE_BINARY_DIR}/udav/mgl.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mime/packages/)
- install(CODE "execute_process(COMMAND \"${findupmdb}\" \"${CMAKE_INSTALL_PREFIX}/share/mime\")")
+# install(CODE "execute_process(COMMAND \"${findupmdb}\" \"${CMAKE_INSTALL_PREFIX}/share/mime\")")
endif(findupmdb)
endif(QT_ENABLED)

View File

@ -1,13 +0,0 @@
diff -urp mathgl-2.4.1/CMakeLists.txt mathgl-2.4.1-nooctave/CMakeLists.txt
--- mathgl-2.4.1/CMakeLists.txt 2017-12-05 11:59:25.413103840 +0700
+++ mathgl-2.4.1-nooctave/CMakeLists.txt 2017-12-05 12:01:15.317779072 +0700
@@ -233,7 +233,8 @@ CMAKE_DEPENDENT_OPTION(enable-json-sampl
CMAKE_DEPENDENT_OPTION(enable-json-sample-we "Enable JSON sample (WebEngine variant)." OFF "enable-json-sample" OFF)
MGL_DEPENDENT_OPTION(enable-python "Enable python interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
MGL_DEPENDENT_OPTION(enable-lua "Enable Lua (v.5.1) interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
-MGL_DEPENDENT_OPTION(enable-octave "Enable octave interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
+#MGL_DEPENDENT_OPTION(enable-octave "Enable octave interface" OFF "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
+SET(enable-octave OFF)
MGL_DEPENDENT_OPTION(enable-octave-install "Octave interface will install for all users" ON "NOT enable-lgpl" ON "NOT enable-all-swig" ON)
include_directories( ${MathGL2_SOURCE_DIR}/include ${MathGL2_BINARY_DIR}/include)

View File

@ -1,51 +0,0 @@
diff -up mathgl-2.4.2/examples/CMakeLists.txt.examples mathgl-2.4.2/examples/CMakeLists.txt
--- mathgl-2.4.2/examples/CMakeLists.txt.examples 2018-03-21 10:48:20.000000000 -0600
+++ mathgl-2.4.2/examples/CMakeLists.txt 2018-11-07 21:44:54.705927586 -0700
@@ -4,6 +4,7 @@ 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})
+SET(MGL_INSTALL_EXAMPLES_LIST mgl_example)
if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_COMPILER_IS_GNUCXX AND enable-lcov)
setup_target_for_coverage(
NAME mgl_coverage
@@ -16,17 +17,20 @@ 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)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_fltk_example)
endif(MGL_HAVE_FLTK)
if(MGL_HAVE_GLUT)
add_executable(mgl_glut_example wnd_samples.cpp glut_example.cpp)
target_link_libraries(mgl_glut_example mgl-glut)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_glut_example)
endif(MGL_HAVE_GLUT)
if(MGL_HAVE_WX)
include(${wxWidgets_USE_FILE})
add_executable(mgl_wx_example wnd_samples.cpp wx_example.cpp)
target_link_libraries(mgl_wx_example mgl-wx)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_wx_example)
endif(MGL_HAVE_WX)
if(QT_ENABLED)
@@ -46,7 +50,9 @@ if(QT_ENABLED)
else(enable-qt5)
target_link_libraries(mgl_qgl_example mgl ${MGL_QT4_LIBS})
endif(enable-qt5)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_qgl_example)
endif(MGL_HAVE_OPENGL)
+ SET(MGL_INSTALL_EXAMPLES_LIST ${MGL_INSTALL_EXAMPLES_LIST} mgl_qt_example)
endif(QT_ENABLED)
if(MGL_HAVE_LTDL)
@@ -59,3 +65,8 @@ if(MGL_HAVE_MPI)
target_link_libraries(mgl_mpi_example mgl-mpi mgl ${MPI_LIBRARIES})
target_include_directories(mgl_mpi_example SYSTEM PUBLIC ${MPI_CXX_INCLUDE_PATH})
endif(MGL_HAVE_MPI)
+
+install(
+ TARGETS ${MGL_INSTALL_EXAMPLES_LIST}
+ RUNTIME DESTINATION bin
+)

View File

@ -1,11 +0,0 @@
diff -urp mathgl-2.4.2.1/CMakeLists.txt mathgl-2.4.2.1-norebuild_l10n/CMakeLists.txt
--- mathgl-2.4.2.1/CMakeLists.txt 2018-03-31 00:32:12.000000000 +0700
+++ mathgl-2.4.2.1-norebuild_l10n/CMakeLists.txt 2020-03-02 10:07:18.750912058 +0700
@@ -636,6 +636,7 @@ if(WIN32)
set(USE_GETTEXT 0)
set(MGL_USE_LIBINTL 0)
endif(WIN32)
+set(USE_GETTEXT 0)
if(enable-doc-info)
set(MGL_HAVE_DOC_INFO 1)

View File

@ -1,43 +0,0 @@
--- CMakeLists.txt~ 2019-09-26 14:18:04.000000000 -0500
+++ CMakeLists.txt 2019-09-26 14:18:34.476407791 -0500
@@ -581,9 +581,9 @@
message(SEND_ERROR "You have to enable OpenGL if you plan to use GLUT.")
endif(NOT MGL_HAVE_OPENGL)
include(FindGLUT)
- if(NOT GLUT_FOUND)
- message(SEND_ERROR "Couldn't find GLUT library.")
- endif(NOT GLUT_FOUND)
+# if(NOT GLUT_FOUND)
+# message(SEND_ERROR "Couldn't find GLUT library.")
+# endif(NOT GLUT_FOUND)
else(enable-glut)
set(MGL_HAVE_GLUT 0)
endif(enable-glut)
--- widgets/glut.cpp~ 2019-07-08 13:56:57.000000000 -0500
+++ widgets/glut.cpp 2019-09-26 14:24:21.070662407 -0500
@@ -30,7 +30,7 @@
#include "glut.h"
#else
#include <GL/gl.h>
- #include <GL/glut.h>
+ #include <GL/freeglut.h>
#endif
#endif
--- widgets/CMakeLists.txt~ 2019-07-08 13:56:57.000000000 -0500
+++ widgets/CMakeLists.txt 2019-09-26 14:28:13.770162047 -0500
@@ -14,10 +14,10 @@
if(MGL_HAVE_GLUT)
mgl_add_lib(glut glut.cpp ../include/mgl2/glut.h)
- target_include_directories(mgl-glut SYSTEM PUBLIC ${GLUT_INCLUDE_DIR})
- target_include_directories(mgl-glut-static SYSTEM PUBLIC ${GLUT_INCLUDE_DIR})
- target_link_libraries(mgl-glut mgl ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES})
- target_link_libraries(mgl-glut-static mgl-static ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES})
+ target_include_directories(mgl-glut SYSTEM PUBLIC ${FreeGLUT_INCLUDE_DIR})
+ target_include_directories(mgl-glut-static SYSTEM PUBLIC ${FreeGLUT_INCLUDE_DIR})
+ target_link_libraries(mgl-glut mgl ${FreeGLUT_LIBRARIES} ${OPENGL_LIBRARIES} -lglut)
+ target_link_libraries(mgl-glut-static mgl-static ${FreeGLUT_LIBRARIES} ${OPENGL_LIBRARIES} -lglut)
endif(MGL_HAVE_GLUT)
if(MGL_HAVE_WX)

View File

@ -1,367 +0,0 @@
diff -up mathgl-8.0.1/lang/CMakeLists.txt.lang mathgl-8.0.1/lang/CMakeLists.txt
--- mathgl-8.0.1/lang/CMakeLists.txt.lang 2022-01-11 13:48:54.000000000 -0700
+++ mathgl-8.0.1/lang/CMakeLists.txt 2022-10-05 20:17:12.149704032 -0600
@@ -145,4 +145,8 @@ message(STATUS "${oct_prog} ${oct_host}
endif(enable-octave-install)
set(mgl_clean_files ${mgl_clean_files} mathgl)
endif(enable-octave)
+
+#add_subdirectory( python2 )
+add_subdirectory( python3 )
+
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${mgl_clean_files}")
diff -up mathgl-8.0.1/lang/numpy.i.lang mathgl-8.0.1/lang/numpy.i
--- mathgl-8.0.1/lang/numpy.i.lang 2022-01-11 13:48:54.000000000 -0700
+++ mathgl-8.0.1/lang/numpy.i 2022-10-05 20:22:27.909092484 -0600
@@ -97,7 +97,7 @@
{
/* Given a PyObject, return a string describing its type.
*/
- char* pytype_string(PyObject* py_obj) {
+ const char* pytype_string(PyObject* py_obj) {
if (py_obj == NULL ) return "C NULL value";
if (py_obj == Py_None ) return "Python None" ;
if (PyCallable_Check(py_obj)) return "callable" ;
@@ -114,8 +114,8 @@
/* Given a NumPy typecode, return a string describing the type.
*/
- char* typecode_string(int typecode) {
- static char* type_names[25] = {"bool", "byte", "unsigned byte",
+ const char* typecode_string(int typecode) {
+ static const char* type_names[25] = {"bool", "byte", "unsigned byte",
"short", "unsigned short", "int",
"unsigned int", "long", "unsigned long",
"long long", "unsigned long long",
@@ -157,8 +157,8 @@
}
else if is_array(input)
{
- char* desired_type = typecode_string(typecode);
- char* actual_type = typecode_string(array_type(input));
+ const char* desired_type = typecode_string(typecode);
+ const char* actual_type = typecode_string(array_type(input));
PyErr_Format(PyExc_TypeError,
"Array of type '%s' required. Array of type '%s' given",
desired_type, actual_type);
@@ -166,8 +166,8 @@
}
else
{
- char * desired_type = typecode_string(typecode);
- char * actual_type = pytype_string(input);
+ const char * desired_type = typecode_string(typecode);
+ const char * actual_type = pytype_string(input);
PyErr_Format(PyExc_TypeError,
"Array of type '%s' required. A '%s' was given",
desired_type, actual_type);
@@ -305,6 +305,95 @@
return ary1;
}
+ /* The following code was added by Ilmar M. Wilbers for forcing a copy of the
+ * object even when it is a NumPy array. This is meant for use with the
+ * IN_ARRAY typemaps, and allows the user to perform changes on an array
+ * without these chenges being reflected in the calling code.
+ */
+
+ /* Convert the given PyObject to a NumPy array with the given
+ * typecode as a copy. On success, return a valid PyArrayObject* with the
+ * correct type. On failure, the python error string will be set and
+ * the routine returns NULL.
+ */
+ PyArrayObject* obj_to_array_force_conversion(PyObject* input, int typecode,
+ int* is_new_object)
+ {
+ PyArrayObject* ary = NULL;
+ PyObject* py_obj;
+ if (is_array(input) && (typecode == NPY_NOTYPE ||
+ PyArray_EquivTypenums(array_type(input),typecode)))
+ {
+ py_obj = PyArray_Copy((PyArrayObject*) input);
+ ary = (PyArrayObject*) py_obj;
+ *is_new_object = 1;
+ }
+ else
+ {
+ py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_DEFAULT);
+ /* If NULL, PyArray_FromObject will have set python error value.*/
+ ary = (PyArrayObject*) py_obj;
+ *is_new_object = 1;
+ }
+ return ary;
+ }
+
+ /* Convert a given PyObject to a contiguous PyArrayObject of the
+ * specified type. If the input object is not a contiguous
+ * PyArrayObject, a new one will be created and the new object flag
+ * will be set.
+ */
+ PyArrayObject* obj_to_array_contiguous_force_conversion(PyObject* input,
+ int typecode,
+ int* is_new_object)
+ {
+ int is_new1 = 0;
+ int is_new2 = 0;
+ PyArrayObject* ary2;
+ PyArrayObject* ary1 = obj_to_array_force_conversion(input, typecode,
+ &is_new1);
+ if (ary1)
+ {
+ ary2 = make_contiguous(ary1, &is_new2, 0, 0);
+ if ( is_new1 && is_new2)
+ {
+ Py_DECREF(ary1);
+ }
+ ary1 = ary2;
+ }
+ *is_new_object = is_new1 || is_new2;
+ return ary1;
+ }
+
+ /* Convert a given PyObject to a Fortran-ordered PyArrayObject of the
+ * specified type. If the input object is not a Fortran-ordered
+ * PyArrayObject, a new one will be created and the new object flag
+ * will be set.
+ */
+ PyArrayObject* obj_to_array_fortran_force_conversion(PyObject* input,
+ int typecode,
+ int* is_new_object)
+ {
+ int is_new1 = 0;
+ int is_new2 = 0;
+ PyArrayObject* ary2;
+ PyArrayObject* ary1 = obj_to_array_force_conversion(input, typecode,
+ &is_new1);
+ if (ary1)
+ {
+ ary2 = make_fortran(ary1, &is_new2, 0, 0);
+ if (is_new1 && is_new2)
+ {
+ Py_DECREF(ary1);
+ }
+ ary1 = ary2;
+ }
+ *is_new_object = is_new1 || is_new2;
+ return ary1;
+ }
+ /* End modifications by Ilmar M. Wilbers
+ */
+
} /* end fragment */
@@ -599,7 +688,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[1] = { $1_dim0 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 1) ||
!require_size(array, size, 1)) SWIG_fail;
@@ -626,7 +715,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[1] = { -1 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 1) ||
!require_size(array, size, 1)) SWIG_fail;
@@ -654,7 +743,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[1] = {-1};
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 1) ||
!require_size(array, size, 1)) SWIG_fail;
@@ -682,7 +771,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[2] = { $1_dim0, $1_dim1 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 2) ||
!require_size(array, size, 2)) SWIG_fail;
@@ -709,7 +798,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[2] = { -1, -1 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 2) ||
!require_size(array, size, 2)) SWIG_fail;
@@ -738,7 +827,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[2] = { -1, -1 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 2) ||
!require_size(array, size, 2)) SWIG_fail;
@@ -767,7 +856,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[2] = { -1, -1 };
- array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_fortran_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 2) ||
!require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
@@ -796,7 +885,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[2] = { -1, -1 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 2) ||
!require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
@@ -825,7 +914,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 3) ||
!require_size(array, size, 3)) SWIG_fail;
@@ -853,7 +942,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[3] = { -1, -1, -1 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 3) ||
!require_size(array, size, 3)) SWIG_fail;
@@ -884,7 +973,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[3] = { -1, -1, -1 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 3) ||
!require_size(array, size, 3)) SWIG_fail;
@@ -915,7 +1004,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[3] = { -1, -1, -1 };
- array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_fortran_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 3) ||
!require_size(array, size, 3) | !require_fortran(array)) SWIG_fail;
@@ -946,7 +1035,7 @@
(PyArrayObject* array=NULL, int is_new_object=0)
{
npy_intp size[3] = { -1, -1, -1 };
- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
+ array = obj_to_array_contiguous_force_conversion($input, DATA_TYPECODE,
&is_new_object);
if (!array || !require_dimensions(array, 3) ||
!require_size(array, size, 3) || !require_fortran(array)) SWIG_fail;
@@ -1289,7 +1378,7 @@
npy_intp dims[1];
if (!PyInt_Check($input))
{
- char* typestring = pytype_string($input);
+ const char* typestring = pytype_string($input);
PyErr_Format(PyExc_TypeError,
"Int dimension expected. '%s' given.",
typestring);
@@ -1317,7 +1406,7 @@
npy_intp dims[1];
if (!PyInt_Check($input))
{
- char* typestring = pytype_string($input);
+ const char* typestring = pytype_string($input);
PyErr_Format(PyExc_TypeError,
"Int dimension expected. '%s' given.",
typestring);
diff -up mathgl-8.0.1/lang/python3/CMakeLists.txt.lang mathgl-8.0.1/lang/python3/CMakeLists.txt
--- mathgl-8.0.1/lang/python3/CMakeLists.txt.lang 2022-10-05 20:17:12.061703367 -0600
+++ mathgl-8.0.1/lang/python3/CMakeLists.txt 2022-10-05 20:17:12.153704063 -0600
@@ -0,0 +1,75 @@
+set(src_imp_dep
+../../include/mgl2/type.h
+../../include/mgl2/data.h
+../../include/mgl2/mgl.h
+../mgl.i
+../data.i
+../type.i
+)
+
+set(mgl_clean_files "")
+
+SET_SOURCE_FILES_PROPERTIES(../mathgl.i ../numpy.i PROPERTIES CPLUSPLUS ON)
+
+if(enable-python)
+ set(Python_ADDITIONAL_VERSIONS 3.6)
+ unset(PYTHONINTERP_FOUND)
+ unset(PYTHON_EXECUTABLE CACHE)
+ FIND_PACKAGE(PythonInterp 3.6 REQUIRED)
+ if(NOT PYTHONINTERP_FOUND)
+ message(SEND_ERROR "Couldn't find python interpreter.")
+ endif(NOT PYTHONINTERP_FOUND)
+
+ unset(PYTHONLIBS_FOUND)
+ unset(PYTHON_LIBRARIES CACHE)
+ unset(PYTHON_INCLUDE_PATH CACHE)
+ unset(PYTHON_INCLUDE_DIRS CACHE)
+ unset(PYTHON_DEBUG_LIBRARIES CACHE)
+ unset(PYTHONLIBS_VERSION_STRING CACHE)
+ unset(PYTHON_LIBRARY CACHE)
+ unset(PYTHON_INCLUDE_DIR CACHE)
+ FIND_PACKAGE(PythonLibs 3.6)
+ if(NOT PYTHONLIBS_FOUND)
+ message(SEND_ERROR "Couldn't find python development libraries.")
+ endif(NOT PYTHONLIBS_FOUND)
+ execute_process(
+ COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print(numpy.get_include())"
+ OUTPUT_VARIABLE NUMPY_INCLUDE_PATH
+ RESULT_VARIABLE NUMPY_ERR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if(NOT NUMPY_INCLUDE_PATH)
+ message(SEND_ERROR "Couldn't find numpy.")
+ endif(NOT NUMPY_INCLUDE_PATH)
+
+ 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}'))"
+ OUTPUT_VARIABLE MGL_PYTHON_SITE_PACKAGES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(SWIG_MODULE_mathglp3_EXTRA_DEPS ../numpy.i ${src_imp_dep})
+ SWIG_ADD_MODULE(mathglp3 python ../mathgl.i)
+ SWIG_LINK_LIBRARIES(mathglp3 mgl ${PYTHON_LIBRARIES})
+ execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('SO'))"
+ OUTPUT_VARIABLE MGL_PYTHON_LIB_SUFFIX
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set_target_properties(_mathglp3 PROPERTIES
+ BUILD_WITH_INSTALL_RPATH ON
+ OUTPUT_NAME _mathgl
+ SUFFIX ${MGL_PYTHON_LIB_SUFFIX})
+ add_custom_command(OUTPUT mathgl.pyc
+ COMMAND ${PYTHON_EXECUTABLE}
+ ARGS -c \"from py_compile import compile\; compile('mathgl.py') \"
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/lang/python3
+ DEPENDS _mathglp3
+ )
+ add_custom_target(mgl_python_modulep3 ALL DEPENDS _mathglp3 mathgl.pyc)
+
+ install(FILES ${MathGL2_BINARY_DIR}/lang/python3/mathgl.py DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
+# harcoded for now. another way is to make glob search on *pyc in __pycache__ dir
+ install(FILES ${MathGL2_BINARY_DIR}/lang/python3/__pycache__/mathgl.cpython-36.pyc DESTINATION ${MGL_PYTHON_SITE_PACKAGES}/__pycache__)
+ install (TARGETS _mathglp3 LIBRARY DESTINATION ${MGL_PYTHON_SITE_PACKAGES})
+ set(mgl_clean_files ${mgl_clean_files} mathgl.py)
+endif(enable-python)
+
+set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${mgl_clean_files}")

View File

@ -1,25 +0,0 @@
diff -up mathgl-8.0.1/src/prc.cpp.libharu2.4 mathgl-8.0.1/src/prc.cpp
--- mathgl-8.0.1/src/prc.cpp.libharu2.4 2022-01-11 13:48:53.000000000 -0700
+++ mathgl-8.0.1/src/prc.cpp 2022-10-05 21:10:18.640050969 -0600
@@ -36,6 +36,7 @@
#include <hpdf.h>
#include <hpdf_u3d.h>
#include <hpdf_annotation.h>
+#include <hpdf_version.h>
#endif // MGL_HAVE_PDF
@@ -959,7 +960,12 @@ void MGL_EXPORT mgl_write_prc(HMGL gr, c
HPDF_U3D_SetDefault3DView(u3d, "DefaultView");
// Create annotation
- annot = HPDF_Page_Create3DAnnot (page, rect, u3d );
+ annot
+#if HPDF_VERSION_ID >= 20400
+ = HPDF_Page_Create3DAnnot (page, rect, HPDF_FALSE, HPDF_FALSE, u3d, NULL);
+#else
+ = HPDF_Page_Create3DAnnot (page, rect, u3d );
+#endif
// Enable toolbar
HPDF_Dict action = (HPDF_Dict)HPDF_Dict_GetItem (annot, "3DA", HPDF_OCLASS_DICT);

View File

@ -1,15 +0,0 @@
diff -up mathgl-8.0.1/lang/CMakeLists.txt.nooctaveinstall mathgl-8.0.1/lang/CMakeLists.txt
--- mathgl-8.0.1/lang/CMakeLists.txt.nooctaveinstall 2022-10-05 20:51:43.595636043 -0600
+++ mathgl-8.0.1/lang/CMakeLists.txt 2022-10-05 20:52:22.411935656 -0600
@@ -138,11 +138,6 @@ message(STATUS "${oct_prog} ${oct_host}
add_custom_target(mgl_octave_module ALL DEPENDS mathgl.tar.gz)
install(FILES ${CMAKE_BINARY_DIR}/lang/mathgl.tar.gz DESTINATION ${MGL_DATA_PATH})
- if(enable-octave-install)
- install(CODE "execute_process(
- COMMAND ${oct_exec} -q --eval \"pkg install mathgl.tar.gz\"
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/lang )")
- endif(enable-octave-install)
set(mgl_clean_files ${mgl_clean_files} mathgl)
endif(enable-octave)
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${mgl_clean_files}")

View File

@ -1,16 +1,10 @@
%if 0%{?fedora} >= 40
%ifarch %{ix86}
%global with_openmpi 0
%else
%global with_openmpi 1
%endif
%else
%ifnarch s390 s390x
%global with_openmpi 1
%endif
%global with_mpich2 1
%global with_doc 1
%if 0%{?fedora}
%if 0%{?fedora} >= 21
%global with_octave 1
%global octpkg mathgl
%endif
@ -24,68 +18,62 @@
Name: mathgl
Version: 8.0.1
Version: 2.3.3
Release: 7%{?dist}
Summary: Cross-platform library for making high-quality scientific graphics
Summary(de): Plattformübergreifende Bibliothek für hochwertige wissenschaftliche Graphiken
Summary(ru): Библиотека для осуществления высококачественной визуализации данных
License: GPLv2+
Group: Development/Libraries
Url: http://mathgl.sourceforge.net
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
#Mathgl's enable all tries to use hdf4 and 5 at the same time
Patch0: mathgl-2.3.3-no-hdf4-and-hdf5-simultaneously.patch
# Install binaries for generation examples of illustrations
Patch0: mathgl-2.4.2-examples.patch
# Skip FLUID binary test
Patch1: mathgl-2.4.1-fltk-skip-fluid.patch
# Mathgl's enable all tries to use hdf4 and 5 at the same time
Patch2: mathgl-2.4.1-no_hdf4-and-hdf5-simultaneously.patch
# Let macros to decide how to install octave module
Patch3: mathgl-nooctaveinstall.patch
Patch1: mathgl-2.3.3-examples.patch
# There is no easy way to disable ONLY octave. Have to cut it from CmakeList.txt
Patch4: mathgl-2.4.1-nooctave.patch
Patch2: mathgl-2.3.3-no_octave.patch
# Add python3 support
Patch5: mathgl-lang.patch
# Skip FLUID binary test
Patch3: mathgl-2.3.3-fltk-skip-fluid.patch
# Fix convertions
Patch6: mathgl-2.4.1-gcc7.patch
# No qt4 and qt5 simultaneously.
Patch4: mathgl-2.3.3-no_qt4.patch
# Disable uppdate-{destop,mine}-database during install process
Patch7: mathgl-2.4.1-no_updatedb.patch
# Fix linking with libX11
Patch5: mathgl-2.3.3-x11.patch
Patch8: mathgl-freeglut.patch
# Add missing includes
Patch6: mathgl-2.3.3-includes.patch
# Disable rebuild of l10n files, rhbz #1808694
# .mo files built in compile time contain time stamp what make them different
# between different archs (or not if you are lucky. I'm not.)
Patch9: mathgl-2.4.2.1-norebuild_l10n.patch
# Let macros to decide how to install octave module
Patch7: mathgl-2.3.3-nooctaveinstall.patch
# https://sourceforge.net/p/mathgl/bugs/48/
# Support for libharu 2.4
Patch10: mathgl-libharu2.4.patch
# Add support for GSL v.2 and above. Sent to upstream
Patch50: mathgl-2.3.3-gsl2.patch
# On ARM "char" must be explicitly "signed char" for getopt(). Sent to upstream
Patch51: mathgl-2.3.3-signed_char.patch
Requires: %{name}-common = %{version}-%{release}
# mandatory packages
BuildRequires: make
BuildRequires: gsl-devel libpng-devel
BuildRequires: desktop-file-utils
BuildRequires: cmake3
BuildRequires: cmake
BuildRequires: perl(Storable)
# optional packages
BuildRequires: freeglut-devel hdf5-devel libjpeg-devel libtiff-devel
BuildRequires: fltk-devel
BuildRequires: qt5-qtbase-devel qt5-qtwebkit-devel
BuildRequires: fltk-devel qt5-qtbase-devel qt5-qtwebkit-devel
BuildRequires: wxGTK-devel giflib-devel libtool-ltdl-devel
BuildRequires: libharu-devel
BuildRequires: swig lua-devel
BuildRequires: libXmu-devel
BuildRequires: python%{python3_pkgversion}-devel python%{python3_pkgversion}-numpy
BuildRequires: python2-devel numpy
%description
Mathgl is a cross-platform library for making high-quality scientific
@ -104,9 +92,10 @@ Mathgl - это кроссплатформенная библиотека для
%package devel
Summary: Libraries and header files for %{name} library
Summary(ru): Библиотеки и файлы заголовков для %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gsl-devel%{?_isa}
Requires: zlib-devel%{?_isa}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: gsl-devel
Requires: zlib-devel
%description devel
The %{name}-devel package contains libraries and header files for
@ -117,6 +106,7 @@ developing applications that use serial version of %{name}.
для разработки приложений с использованием однопоточной версии %{name}.
%package fonts
Group: Development/Libraries
Requires: %{name}-common = %{version}-%{release}
Summary: Compiled fonts for the %{name}
@ -125,6 +115,7 @@ Summary: Compiled fonts for the %{name}
%if 0%{?with_doc}
%package doc
Group: Documentation
Summary: HTML documentation and tutorial for the %{name} applications
BuildArch: noarch
BuildRequires: texi2html texinfo-tex
@ -137,6 +128,7 @@ package.
%package -n udav
Summary: Viewer and editor for mathgl graphs
Summary(ru): Редактор и средство визуализации для MathGL
Group: Applications/Engineering
Requires: %{name} = %{version}-%{release}
%description -n udav
@ -145,61 +137,43 @@ using the MathGL library. UDAV works as a front-end to the mathgl
scripting engine, allowing for the generation of a wide variety of
scientific graph styles.
%package mgllab
Summary: Viewer and editor for mathgl graphs
Summary(ru): Редактор и средство визуализации для MathGL
Requires: %{name} = %{version}-%{release}
Provides: mgllab = %{version}-%{release}
%description mgllab
mgllab is FLTK port of UDAV, cross-platform program for interactive
data array visualization using the MathGL library. Mgllab works as a
front-end to the mathgl scripting engine, allowing for the generation
of a wide variety of scientific graph styles.
%description mgllab -l ru
mgllab - это FLTK порт UDAV, кроссплатформенное приложение для
интерактивной визуализации массивов данных с применением библиотеки MathGL.
Mgllab, как GUI для MathGL, может быть использован для формирования
различного вида научных иллюстраций.
%description -n udav -l ru
UDAV - это кроссплатформенное приложение для интерактивной визуализации массивов
данных с применением библиотеки MathGL. UDAV, как GUI для MathGL, может быть
использован для формирования различного вида научных иллюстраций.
%package mglview
Summary: Execute MathGL scripts and show in an window
Requires: %{name}-fltk = %{version}-%{release}
Group: Applications/Engineering
Requires: %{name}-qt = %{version}-%{release}
%description mglview
mglview reads MGL scripts from scriptfile to produce plots of
specified functions or data. The program will create a GUI window
showing the script result.
mglview reads MGL scripts from scriptfile to produce plots of specified
functions or data. The program will create a GUI window showing the script result.
%package -n python%{python3_pkgversion}-mathgl
%{?python_provide:%python_provide python%{python3_pkgversion}-mathgl}
Summary: Python3 module for MathGL
%package -n python-mathgl
Summary: Python module for MathGL
Group: Applications/Engineering
Requires: %{name} = %{version}-%{release}
%description -n python%{python3_pkgversion}-mathgl
%{Summary}.
%package lua
Summary: Lua module for MathGL
Requires: %{name} = %{version}-%{release}
%description lua
%description -n python-mathgl
%{Summary}.
%if 0%{?with_octave}
%package -n octave-mathgl
Summary: Octave module for MathGL
Group: Applications/Engineering
Requires: %{name} = %{version}-%{release}
Requires: octave >= 2.9.12
BuildRequires: octave-devel
%description -n octave-mathgl
%{summary}.
%{Summary}.
%endif
%package common
Summary: Common files for %{name}
Group: Applications/Engineering
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: %{name}-fonts = %{version}-%{release}
@ -213,6 +187,7 @@ Requires(preun): info
%package examples
Summary: Example illustration generators for %{name}
Group: Applications/Engineering
Requires: %{name} = %{version}-%{release}
%description examples
@ -222,6 +197,7 @@ prepared by %{name}.
%if 0%{?with_openmpi}
%package openmpi
Summary: OpenMPI version of %{name} library
Group: Applications/Engineering
BuildRequires: openmpi-devel
BuildRequires: hdf5-openmpi-devel
Requires: %{name}-common = %{version}-%{release}
@ -231,9 +207,10 @@ Requires: %{name}-common = %{version}-%{release}
%package openmpi-devel
Summary: Devel files for OpenMPI version of %{name} library
Group: Applications/Engineering
Requires: %{name}-openmpi%{_isa} = %{version}-%{release}
Requires: gsl-devel%{?_isa}
Requires: zlib-devel%{?_isa}
Requires: gsl-devel
Requires: zlib-devel
%description openmpi-devel
%{summary}.
@ -242,6 +219,7 @@ Requires: zlib-devel%{?_isa}
%if 0%{?with_mpich2}
%package mpich
Summary: MPICH version of %{name} library
Group: Applications/Engineering
BuildRequires: mpich-devel
BuildRequires: hdf5-mpich-devel
Requires: %{name}-common = %{version}-%{release}
@ -253,40 +231,37 @@ Obsoletes: %{name}-mpich2 < 2.1.2-9
%package mpich-devel
Summary: Devel files for MPICH version of %{name} library
Group: Applications/Engineering
Requires: %{name}-mpich%{_isa} = %{version}-%{release}
Provides: %{name}-mpich2-devel = %{version}-%{release}
Obsoletes: %{name}-mpich2-devel < 2.1.2-9
Requires: gsl-devel%{?_isa}
Requires: zlib-devel%{?_isa}
Requires: gsl-devel
Requires: zlib-devel
%description mpich-devel
%{summary}.
%endif
%package qt5
Summary: Qt5 widgets of %{name} library
%package qt
Summary: Qt widgets of %{name} library
Group: Applications/Engineering
Requires: %{name} = %{version}-%{release}
Obsoletes: %{name}-qt < 2.4
Provides: %{name}-qt = %{version}-%{release}
Obsoletes: %{name}-qt4 < 8.0
%description qt5
%description qt
%{summary}.
%package qt5-devel
Summary: Devel files for qt5 widgets of %{name} library
%package qt-devel
Summary: Devel files for qt widgets of %{name} library
Group: Applications/Engineering
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-qt5 = %{version}-%{release}
Obsoletes: %{name}-qt-devel < 2.4
Provides: %{name}-qt-devel = %{version}-%{release}
Obsoletes: %{name}-qt4-devel < 8.0
Requires: qt5-qtbase-devel
%description qt5-devel
%description qt-devel
%{summary}.
%package fltk
Summary: Fltk widgets of %{name} library
Group: Applications/Engineering
Requires: %{name} = %{version}-%{release}
Requires: fltk-fluid
@ -295,8 +270,8 @@ Requires: fltk-fluid
%package fltk-devel
Summary: Devel files for fltk widgets of %{name} library
Group: Applications/Engineering
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-fltk = %{version}-%{release}
Requires: fltk-devel
%description fltk-devel
@ -304,6 +279,7 @@ Requires: fltk-devel
%package wx
Summary: wxWidgets widgets of %{name} library
Group: Applications/Engineering
Requires: %{name} = %{version}-%{release}
%description wx
@ -311,8 +287,8 @@ Requires: %{name} = %{version}-%{release}
%package wx-devel
Summary: Devel files for wxWidgets widgets of %{name} library
Group: Applications/Engineering
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-wx = %{version}-%{release}
Requires: wxGTK-devel
%description wx-devel
@ -321,12 +297,6 @@ Requires: wxGTK-devel
%prep
%setup -q
# get rid of 3d-paty getopt
rm -rf addons/getopt
# prep for both py2 and py3 build
#mkdir lang/python3
#touch lang/python3/CMakeLists.txt
#convert EOL encodings, maintaining timestames
for file in AUTHORS ChangeLog.txt README ; do
@ -335,38 +305,28 @@ for file in AUTHORS ChangeLog.txt README ; do
mv $file.new $file
done
%patch -P0 -p1 -b .examples
%patch -P1 -p1 -b .fluid
%patch -P2 -p1 -b .no-hdf4-and-hdf5-simultaneously
#patch -P5 -p1 -b .lang
%patch -P6 -p1 -b .gcc7
%patch -P7 -p1 -b .no_updatedb
%patch50 -p1 -b .gsl2
%patch51 -p1 -b .signed_char
%patch0 -b .no-hdf4-and-hdf5-simultaneously
%patch1 -b .examples
%if 0%{?with_octave}
%patch -P3 -p1 -b .nooctaveinstall
%patch7 -b .nooctaveinstall
%else
%patch -P4 -p1 -b .no_octave
%patch2 -b .no_octave
%endif
%patch -P8 -p0 -b .freeglut
%patch -P9 -p1 -b .norebuild_l10n
%patch -P10 -p1 -b .libharu2.4
# Fix hardcoded Python version
#sed -i -e 's,3\.[0-9],%{python3_version},g' \
# -e 's,cpython-3[0-9],cpython-%{python3_version_nodots},g' \
# lang/python3/CMakeLists.txt
%patch3 -b .fluid
%patch4 -b .no_qt4
%patch5 -b .qt5
%patch6 -b .includes
# Fix hardcoded paths
sed -i s,/usr/local/share/doc/mathgl/,%{_docdir}/%{name}/, udav/udav_wnd.h
sed -i s,/usr/local/share/udav/,%{_datadir}/udav/, udav/udav_wnd.cpp
sed -i s,/usr/local/share/mathgl/fonts/,%{_datadir}/%{name}/fonts/, udav/prop_dlg.cpp
# Fix octave module version wether we need it or not
%if 0%{?with_octave}
# Fix octave module version
sed -i -e "s,Version:.*,Version: %{version}," lang/DESCRIPTION
%if 0%{?fedora}
%global octave_tar_suffix %{octave_host}-%{octave_api}
%global mgl_octarch_dir %{_builddir}/%{buildsubdir}/build/
%global mgl_octarch_name %{octpkg}-%{version}-%{octave_tar_suffix}.tar.gz
%endif
@ -381,27 +341,28 @@ BUILD_MPI="-Denable-mpi=on -Denable-all-docs=off" %buildcommon
%define building_serial() \
BUILD_MPI="-Denable-mpi=off \
-Denable-all-docs=%{docs} \
-Denable-all-widgets=on \
-Denable-qt4=off \
-Denable-qt5=on \
-Denable-all-swig=on \
-Denable-all-widgets=on \
-Denable-hdf4=off \
" %buildcommon
# Disable SMP build
%define buildcommon() \
%cmake \\\
-DMathGL_INSTALL_CMAKE_DIR=%{_libdir}/cmake/mathgl \\\
-DMathGL_INSTALL_LIB_DIR=%{_libdir} \\\
mkdir -p %{_target_platform}_$MPI_COMPILER_NAME; \
pushd %{_target_platform}_$MPI_COMPILER_NAME; \
%{cmake} \\\
-DMGL_LIB_INSTALL_DIR=%{_libdir} \\\
-Denable-all=on \\\
-Denable-qt5asqt=off \\\
$BUILD_MPI \\\
..; \
%{cmake_build}
popd; \
make -C %{_target_platform}_$MPI_COMPILER_NAME
#make %{?_smp_mflags} -C %{_target_platform}_$MPI_COMPILER_NAME
# disable SMP build for testing
# serial
%global _vpath_builddir %{_target_platform}_serial
%building_serial
MPI_COMPILER_NAME=serial %building_serial
# MPI vars
export CC=mpicc
@ -410,16 +371,14 @@ export CXX=mpicxx
%if 0%{?with_openmpi}
# OpenMPI
%{_openmpi_load}
%global _vpath_builddir %{_target_platform}_openmpi
%building
MPI_COMPILER_NAME=openmpi %building
%{_openmpi_unload}
%endif
%if 0%{?with_mpich2}
# MPICH2
%{_mpich_load}
%global _vpath_builddir %{_target_platform}_mpich
%building
MPI_COMPILER_NAME=mpich %building
%{_mpich_unload}
%endif
@ -436,25 +395,18 @@ rm -f %{buildroot}%{_libdir}/$MPI_COMPILER_NAME/lib/*.a; \
rm -r %{buildroot}%{_libdir}/$MPI_COMPILER_NAME/usr
# Serial
%global _vpath_builddir %{_target_platform}_serial
%{cmake_install}
make install DESTDIR=%{buildroot} -C %{_target_platform}_serial INSTALL="install -p"
%if 0%{?with_octave}
rm -f %{buildroot}%{_datadir}/%{name}/mathgl.tar.gz
mkdir -p %{mgl_octarch_dir}
cp %{_target_platform}_serial/lang/%{octpkg}.tar.gz %{mgl_octarch_dir}/%{mgl_octarch_name}
pushd lang
mkdir -p %{_tmppath}/%{name}-%{version}-%{release}.%{_arch}
cp ../%{_target_platform}_serial/lang/%{octpkg}.tar.gz %{_tmppath}/%{name}-%{version}-%{release}.%{_arch}/%{octpkg}-%{version}.tar.gz
%octave_pkg_install
rm -f %{mgl_octarch_dir}/%{mgl_octarch_name}/%{octpkg}.tar.gz
popd
%endif
# part of serial build
%find_lang %{name}
%find_lang udav --with-qt
# No that modern cmake_install macros for mpi install.
%if 0%{?with_openmpi}
# OpenMPI
%{_openmpi_load}
%global _vpath_builddir %{_target_platform}_openmpi
MPI_COMPILER_NAME=openmpi %installing
%{_openmpi_unload}
%endif
@ -462,21 +414,19 @@ MPI_COMPILER_NAME=openmpi %installing
%if 0%{?with_mpich2}
# MPICH
%{_mpich_load}
%global _vpath_builddir %{_target_platform}_mpich
MPI_COMPILER_NAME=mpich %installing
%{_mpich_unload}
%endif
#Remove symlink to .so file in python dir. Let python find libs normally
# not needed now?
#unlink %{buildroot}/%{python3_sitelib}/_mathgl.so
unlink %{buildroot}/%{python_sitelib}/_mathgl.so
#Remove static libraries generated by cmake
rm %{buildroot}/%{_libdir}/*.a
# Remove the binary mgl.cgi. Im not convinced about it (eg mem leak in main), and that its really needed
# The same with man file for it
rm %{buildroot}/%{_prefix}/lib/cgi-bin/mgl.cgi
rm %{buildroot}/%{_datadir}/mathgl/mgl.cgi
%if 0%{?with_doc}
rm %{buildroot}/%{_mandir}/man1/mgl.cgi.1*
@ -488,19 +438,48 @@ fi
mv %{buildroot}%{_docdir}/mathgl _tmp_docdir
%endif
%check
# Check .desktop file
desktop-file-validate %{buildroot}%{_datadir}/applications/udav.desktop
desktop-file-validate %{buildroot}%{_datadir}/applications/mgllab.desktop
# Maintain l18n for udav
%find_lang udav --with-qt
%ldconfig_scriptlets
# mathgl cmake file is placed into strange location. Move it to proper one with proper name
mkdir -p %{buildroot}%{_datadir}/cmake/Modules
mv %{buildroot}/%{_libdir}/cmake/mathgl2/mathgl2-config.cmake %{buildroot}%{_datadir}/cmake/Modules/FindMathGL2.cmake
rm -r %{buildroot}/%{_libdir}/cmake
%ldconfig_scriptlets qt5
%post -p /sbin/ldconfig
%ldconfig_scriptlets fltk
%postun -p /sbin/ldconfig
%ldconfig_scriptlets wx
%post qt -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig
%post fltk -p /sbin/ldconfig
%postun fltk -p /sbin/ldconfig
%post wx -p /sbin/ldconfig
%postun wx -p /sbin/ldconfig
%if 0%{?with_doc}
%post common
/sbin/install-info %{_infodir}/%{name}_en.info %{_infodir}/dir || :
%preun common
if [ $1 = 0 ] ; then
/sbin/install-info --delete %{_infodir}/%{name}_en.info %{_infodir}/dir || :
fi
%endif
%post -n udav
/usr/bin/update-desktop-database &> /dev/null || :
%postun -n udav
/usr/bin/update-desktop-database &> /dev/null || :
%if 0%{?with_octave}
%post -n octave-mathgl
@ -513,11 +492,11 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mgllab.desktop
%octave_cmd pkg rebuild
%endif
%files -f %{name}.lang
%files
%doc AUTHORS ChangeLog.txt README COPYING README_V2
%{_libdir}/libmgl.so.*
%{_libdir}/mgl-lua.so
%{_bindir}/mglconv
%{_bindir}/mgltask
%exclude %{_bindir}/mgl_*example
%if 0%{?with_doc}
%{_mandir}/man1/mglconv.1.gz
@ -525,13 +504,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mgllab.desktop
%files devel
%{_libdir}/libmgl.so
%exclude %{_libdir}/mgl-lua.so
%{_includedir}/mgl2/
%{_libdir}/cmake/mathgl/
%{_libdir}/cmake/mathgl2/
%files mgllab
%{_bindir}/mgllab
%{_datadir}/applications/mgllab.desktop
%{_datadir}/cmake/Modules/FindMathGL2.cmake
%files mglview
%{_bindir}/mglview
@ -539,14 +514,12 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mgllab.desktop
%{_mandir}/man1/mglview.1.gz
%endif
%files qt5
%{_libdir}/libmgl-qt.so.*
%{_libdir}/libmgl-qt5.so.*
%files qt
%{_libdir}/libmgl-qt*.so.*
%{_libdir}/libmgl-wnd.so.*
%files qt5-devel
%{_libdir}/libmgl-qt.so
%{_libdir}/libmgl-qt5.so
%files qt-devel
%{_libdir}/libmgl-qt*.so
%{_libdir}/libmgl-wnd.so
%files wx
@ -569,13 +542,12 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mgllab.desktop
%{_mandir}/man1/udav.1.gz
%endif
%{_datadir}/applications/udav.desktop
%{_datadir}/mime/packages/mgl.xml
%dir %{_datadir}/udav/
%{_datadir}/pixmaps/*.png
%files -n python%{python3_pkgversion}-mathgl
%{python3_sitelib}/*
%files lua
%{_libdir}/mgl-lua.so
%files -n python-mathgl
%{python_sitelib}/*
%if 0%{?with_octave}
%files -n octave-mathgl
@ -591,11 +563,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mgllab.desktop
%endif
%files fonts
%{_datadir}/%{name}/fonts/
%{_datadir}/%{name}/
%files common
%{_datadir}/pixmaps/*.png
%{_datadir}/mime/packages/mgl.xml
%if 0%{?with_doc}
%{_mandir}/man5/mgl.5.gz
%{_infodir}/%{name}*.gz
@ -625,219 +595,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mgllab.desktop
%endif
%changelog
* Sun Oct 29 2023 Orion Poplawski <orion@nwra.com> - 8.0.1-7
- Rebuild for openmpi 5.0.0, drops i686 and C++ API
- Use newer patch syntax
- Cleanup old conditionals
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 8.0.1-5
- Rebuilt for Python 3.12
* Sat Apr 08 2023 Orion Poplawski <orion@nwra.com> - 8.0.1-4
- Rebuild with octave 8.1.0
* Sun Mar 05 2023 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 8.0.1-3
- Fix -[wx,fltk,qt5]-devel dependencies.
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Oct 06 2022 Orion Poplawski <orion@nwra.com> - 8.0.1-1
- Update to 8.0.1
- Drop Qt4 support
* Tue Aug 23 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.4.4-18
- Rebuild for gsl-2.7.1
* Thu Aug 04 2022 Scott Talbert <swt@techie.net> - 2.4.4-17
- Rebuild with wxWidgets 3.2
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.4-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.4.4-15
- Rebuilt for Python 3.11
* Wed Jun 01 2022 Orion Poplawski <orion@nwra.com> - 2.4.4-14
- Rebuild for octave 7.1
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.4-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Nov 21 2021 Orion Poplawski <orion@nwra.com> - 2.4.4-12
- Rebuild for hdf5 1.12.1
* Wed Aug 11 2021 Orion Poplawski <orion@nwra.com> - 2.4.4-11
- Rebuild for hdf5 1.10.7/octave 6.3.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.4-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.4.4-9
- Rebuilt for Python 3.10
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jul 30 2020 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.4.4-7
- Fix mpi build for that great cmake macro update.
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jun 25 2020 Orion Poplawski <orion@nwra.com> - 2.4.4-5
- Rebuild for hdf5 1.10.6
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.4.4-4
- Rebuilt for Python 3.9
* Mon Mar 02 2020 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.4.4-3
- Remove octave tar.gz from -fonts subpackage.
- Disable rebuild of l10n. Fix rhbz #1808694.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Oct 04 2019 Gwyn Ciesla <gwync@protonmail.com> - 2.4.4-1
- 2.4.4, Rebuilt for new freeglut
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.4.2.1-12
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Wed Aug 21 2019 Miro Hrončok <mhroncok@redhat.com> - 2.4.2.1-11
- Rebuilt for Python 3.8
* Tue Aug 20 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 2.4.2.1-10
- Rebuilt for GSL 2.6.
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.4.2.1-9
- Rebuilt for Python 3.8
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jun 16 2019 Orion Poplawski <orion@nwra.com> - 2.4.2.1-7
- Rebuild for octave 5.1
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 2.4.2.1-6
- Remove hardcoded gzip suffix from GNU info pages
* Tue Mar 12 2019 Orion Poplawski <orion@nwra.com> - 2.4.2.1-5
- Rebuild for hdf5 1.10.5
* Thu Feb 14 2019 Orion Poplawski <orion@nwra.com> - 2.4.2.1-4
- Rebuild for openmpi 3.1.3
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Nov 15 2018 Orion Poplawski <orion@cora.nwra.com> - 2.4.2.1-2
- Rebuild for octave 4.4
* Tue Nov 13 2018 Orion Poplawski <orion@cora.nwra.com> - 2.4.2.1-1
- Update to 2.4.2.1
- Rebuild for octave 4.4
* Tue Sep 18 2018 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.4.1-10
- Remove Python2 subpackage. Patch updated.
* Fri Jul 20 2018 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.4.1-9
- Use proper %%python2_sitelib macro.
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 10 2018 Scott Talbert <swt@techie.net> - 2.4.1-7
- Correct wx-devel dependency: wxGTK-devel -> wxGTK3-devel
* Wed Jul 04 2018 Marcel Plch <mplch@redhat.com> - 2.4.1-6
- Patch for Python 3.7
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.4.1-5
- Rebuilt for Python 3.7
* Fri Feb 16 2018 D Haley <mycae gmx com> - 2.4.1-4
- Fix overflow in mgl_example (light)
* Tue Feb 13 2018 Sandro Mani <manisandro@gmail.com> - 2.4.1-3
- Rebuild (giflib)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Dec 07 2017 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.4.1-1
- Update to 2.4.1.
- Add python3 bindings.
- Refresh patches. Add new ones.
- Drop noqt4 patch. Make qt4 and qt5 widgets so, rename qt->qt4, add qt5 subpackage.
- Move lua bindings to lua subpackage.
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.3.5-9.1
- Python 2 binary package renamed to python2-mathgl
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.5-8.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Mon Jul 31 2017 Filipe Rosset <rosset.filipe@gmail.com> - 2.3.5-7.1
- rebuilt to fix FTBFS
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.5-6.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Jun 17 2017 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.5-5.1
- Rebuild for new Libharu.
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.5-4.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jan 24 2017 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.5.1-3
- Reenable octave bindings for f26 and above.
* Tue Jan 10 2017 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.5.1-2
- Disable smp build.
* Mon Jan 09 2017 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.5.1-1
- Update to new version.
- Update patches for new version.
- Drop X11 patch.
* Fri Jan 06 2017 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.4-7
- Disable octave support for rawhide as octave-4.2 is not supported by swig for now.
* Thu Dec 08 2016 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.4-6
- Fix description tag for octave-mathgl.
* Wed Dec 07 2016 Orion Poplawski <orion@cora.nwra.com> - 2.3.4-5
- Rebuild for octave 4.2
* Fri Oct 21 2016 Orion Poplawski <orion@cora.nwra.com> - 2.3.4-4
- Rebuild for openmpi 2.0
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.4-3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Mon Feb 22 2016 Orion Poplawski <orion@cora.nwra.com> - 2.3.4-2
- Rebuild for gsl 2.1
* Mon Feb 15 2016 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.4-1
- Drop patches: mathgl-2.3.3-includes.patch, mathgl-2.3.3-signed_char.patch,
mathgl-2.3.3-gsl2.patch. Emplemented in upstream.
- Update *-examples.patch and *-x11.patch.
- Update to new 2.3.4.
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Jan 25 2016 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.3-9
- All *-devel Requires should have _isa bits.
* Thu Jan 21 2016 Orion Poplawski <orion@cora.nwra.com> - 2.3.3-8
- Rebuild for hdf5 1.8.16
* Mon Jan 04 2016 Dmitrij S. Kryzhevich <kryzhev@ispms.ru> - 2.3.3-7
- Split out python module and fonts.
- Make fonts subpackage arch depenedent, fix for RHBZ #1294072.

View File

@ -1 +1 @@
SHA512 (mathgl-8.0.1.tar.gz) = 1ff3023f1bbd7bfd84202777a0166a8d4255a020a07f3650b9858929345bc8a2ceea4db155d2c93ba32b762d2304474276290a9edac99fda70fb4b5bc12982c2
c37d6f42d4897675bf89fae635aa6868 mathgl-2.3.3.tar.gz