From be994959cccf15c1eb03acaea9b33ea434fd0f00 Mon Sep 17 00:00:00 2001 From: Dmitrij S. Kryzhevich Date: Oct 10 2014 09:46:49 +0000 Subject: Update to new 2.3 --- diff --git a/mathgl-2.2-disable-lib-installdir.patch b/mathgl-2.2-disable-lib-installdir.patch deleted file mode 100644 index 2a3050a..0000000 --- a/mathgl-2.2-disable-lib-installdir.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt 2013-12-27 17:31:25.416802089 +0700 -+++ CMakeLists.txt-disable-lib-installdir 2013-12-27 17:33:39.149918844 +0700 -@@ -56,7 +56,7 @@ - ENDMACRO(MGL_DEPENDENT_OPTION) - include(CMakeDependentOption) - --set(MGL_LIB_INSTALL_DIR "lib" CACHE STRING "Set library install directory") -+#set(MGL_LIB_INSTALL_DIR "lib" CACHE STRING "Set library install directory") - - option(enable-double "Enable double precision in MathGL library" ON) - option(enable-simple "Slightly increase drawing speed but disable mglDataA class") diff --git a/mathgl-2.2-fltk-skip-fluid.patch b/mathgl-2.2-fltk-skip-fluid.patch deleted file mode 100644 index c90d85c..0000000 --- a/mathgl-2.2-fltk-skip-fluid.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- CMakeLists.txt 2013-12-27 17:25:13.937026671 +0700 -+++ CMakeLists.txt-fltk-skip-fluid 2013-12-27 17:31:25.416802089 +0700 -@@ -327,6 +327,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.") diff --git a/mathgl-2.2-no-hdf4-and-hdf5-simultaneously.patch b/mathgl-2.2-no-hdf4-and-hdf5-simultaneously.patch deleted file mode 100644 index 7c38081..0000000 --- a/mathgl-2.2-no-hdf4-and-hdf5-simultaneously.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- CMakeLists.txt 2013-12-27 17:24:33.553596153 +0700 -+++ CMakeLists.txt-no-hdf4-and-hdf5-simultaneously 2013-12-27 17:25:13.937026671 +0700 -@@ -215,7 +215,7 @@ endif(enable-gsl) - # 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) -@@ -226,9 +226,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) diff --git a/mathgl-2.2-no_octave.patch b/mathgl-2.2-no_octave.patch deleted file mode 100644 index afa565a..0000000 --- a/mathgl-2.2-no_octave.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- CMakeLists.txt 2014-01-17 10:01:10.480156120 +0700 -+++ CMakeLists.txt-no_octave 2014-01-17 10:01:55.460539280 +0700 -@@ -97,6 +97,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") diff --git a/mathgl-2.2.1-no_qt4_qt5.patch b/mathgl-2.2.1-no_qt4_qt5.patch deleted file mode 100644 index 25e9276..0000000 --- a/mathgl-2.2.1-no_qt4_qt5.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- CMakeLists.txt 2014-01-29 18:05:26.026498915 +0700 -+++ CMakeLists.txt-no_qt4_qt5 2014-01-30 09:34:49.314786594 +0700 -@@ -93,8 +93,10 @@ MGL_DEPENDENT_OPTION(enable-glut "Enable - MGL_DEPENDENT_OPTION(enable-fltk "Enable fltk widget" OFF "NOT enable-lgpl" ON "NOT enable-all-widgets" ON) - CMAKE_DEPENDENT_OPTION(enable-wx "Enable wxWidget widget" OFF "NOT enable-lgpl" OFF) - MGL_DEPENDENT_OPTION(enable-qt4 "Enable Qt4 widget" OFF "NOT enable-lgpl" ON "NOT enable-all-widgets" ON) --MGL_DEPENDENT_OPTION(enable-qt5 "Enable Qt5 widget" OFF "NOT enable-lgpl" ON "NOT enable-all-widgets" ON) --CMAKE_DEPENDENT_OPTION(enable-qt5asqt "Set Qt5 as default libmgl-qt" ON "enable-qt5" OFF) -+#MGL_DEPENDENT_OPTION(enable-qt5 "Enable Qt5 widget" OFF "NOT enable-lgpl" ON "NOT enable-all-widgets" ON) -+set(enable-qt5 OFF) -+#CMAKE_DEPENDENT_OPTION(enable-qt5asqt "Set Qt5 as default libmgl-qt" ON "enable-qt5" OFF) -+set(enable-qt5asqt 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) diff --git a/mathgl-2.2.1-segfaults.patch b/mathgl-2.2.1-segfaults.patch deleted file mode 100644 index d0688ec..0000000 --- a/mathgl-2.2.1-segfaults.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: src/pixel.cpp -=================================================================== ---- src/pixel.cpp (revision 908) -+++ src/pixel.cpp (revision 910) -@@ -171,6 +171,7 @@ - //----------------------------------------------------------------------------- - mglPoint mglCanvas::CalcXYZ(int xs, int ys, bool real) const - { -+ if(xs<0 || ys<0 || xs>=Width || ys>=Height) return mglPoint(NAN,NAN,NAN); - mglPoint p, ps(xs,Height-ys,NAN); - float zz = Z[3*(xs+Width*(Height-1-ys))]; - if(zz>-1e20f) { ps.z = zz; real=false; } -Index: src/base.cpp -=================================================================== ---- src/base.cpp (revision 908) -+++ src/base.cpp (revision 910) -@@ -236,7 +236,7 @@ - // scl&4 -- ??? - // scl&8 -- bypass palette for enabling alpha - if(mgl_isnan(c) || mgl_isnan(a)) return -1; -- bool norefr = mgl_isnan(n.x) && mgl_isnan(n.y); -+ bool norefr = mgl_isnan(n.x) && mgl_isnan(n.y) && !mgl_isnan(n.z); - if(scl>0) ScalePoint(mat,p,n,!(scl&2)); - if(mgl_isnan(p.x)) return -1; - a = (a>=0 && a<=1) ? a : AlphaDef; -Index: src/canvas.cpp -=================================================================== ---- src/canvas.cpp (revision 908) -+++ src/canvas.cpp (revision 910) -@@ -786,7 +786,7 @@ - x += B.x-iw/2+dx; y += B.y-ih/2+dy; - // draw it - long k1=0,k2=0,k3=0,k4=0; -- mglPoint p,q=mglPoint(NAN); -+ mglPoint p,q=mglPoint(NAN,NAN,NAN); - - for(i=0;ff[i] && ff[i]!=':';i++) if(strchr(MGL_COLORS,ff[i])) - { -@@ -937,7 +937,7 @@ - char col = mglGetStyle(stl,0,&align); align = align&3; - if(col==0) col = 'k'; - mreal y=inY+inH-h; -- mglPoint p(inX + inW*align/2.,y,3*Depth),q(NAN); -+ mglPoint p(inX + inW*align/2.,y,3*Depth),q(NAN,NAN,NAN); - mglMatrix M=B; M.norot=true; - if(title) text_plot(AddPnt(&M,p,-1,q,-1,0),title,stl,size); - if(box) // draw boungind box -Index: examples/full_test.cpp -=================================================================== ---- examples/full_test.cpp (revision 908) -+++ examples/full_test.cpp (revision 910) -@@ -71,7 +71,7 @@ - { - mglParse par; - setlocale(LC_CTYPE, ""); -- par.Execute(gr,"box\r\n\r\naxis"); -+ par.Execute(gr,"light on:addlegend 'r' 'r':legend"); - } - //----------------------------------------------------------------------------- - #if !defined(_MSC_VER) && !defined(__BORLANDC__) diff --git a/mathgl-2.3-fltk-skip-fluid.patch b/mathgl-2.3-fltk-skip-fluid.patch new file mode 100644 index 0000000..8dbe368 --- /dev/null +++ b/mathgl-2.3-fltk-skip-fluid.patch @@ -0,0 +1,10 @@ +--- CMakeLists.txt.initial 2014-10-09 17:52:44.289738669 +0700 ++++ CMakeLists.txt 2014-10-09 17:52:59.011544253 +0700 +@@ -381,6 +381,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.") diff --git a/mathgl-2.3-no-hdf4-and-hdf5-simultaneously.patch b/mathgl-2.3-no-hdf4-and-hdf5-simultaneously.patch new file mode 100644 index 0000000..2ea56eb --- /dev/null +++ b/mathgl-2.3-no-hdf4-and-hdf5-simultaneously.patch @@ -0,0 +1,23 @@ +--- CMakeLists.txt.initial 2014-10-07 17:16:53.271970273 +0700 ++++ CMakeLists.txt 2014-10-07 17:17:01.168867231 +0700 +@@ -265,7 +265,7 @@ endif(enable-gsl) + # 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) +@@ -276,9 +276,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) diff --git a/mathgl-2.3-no_octave.patch b/mathgl-2.3-no_octave.patch new file mode 100644 index 0000000..d0bf1fa --- /dev/null +++ b/mathgl-2.3-no_octave.patch @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2014-10-07 17:17:01.168867231 +0700 ++++ CMakeLists.txt 2014-10-07 17:17:47.528262312 +0700 +@@ -111,6 +111,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") diff --git a/mathgl-2.3-no_qt4.patch b/mathgl-2.3-no_qt4.patch new file mode 100644 index 0000000..ecfdbfe --- /dev/null +++ b/mathgl-2.3-no_qt4.patch @@ -0,0 +1,12 @@ +--- CMakeLists.txt.initial 2014-10-10 09:31:36.918128974 +0700 ++++ CMakeLists.txt 2014-10-10 09:31:59.853828521 +0700 +@@ -92,7 +92,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) + diff --git a/mathgl.spec b/mathgl.spec index a07adf9..716718b 100644 --- a/mathgl.spec +++ b/mathgl.spec @@ -1,10 +1,11 @@ %ifnarch s390 s390x %global with_openmpi 1 %endif +%global with_mpich2 1 Name: mathgl -Version: 2.2.1 -Release: 6%{?dist} +Version: 2.3 +Release: 1%{?dist} Summary: Cross-platform library for making high-quality scientific graphics Summary(de): Plattformübergreifende Bibliothek für hochwertige wissenschaftliche Graphiken Summary(ru): Библиотека для осуществления высококачественной визуализации данных @@ -14,27 +15,19 @@ 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.2-no-hdf4-and-hdf5-simultaneously.patch - -#CMake looks for "FLUID" - the fltk UI designer. -#This is not needed - instruct cmake to skip it at build time -Patch1: mathgl-2.2-fltk-skip-fluid.patch - -#Mathgl hardcodes the libdir as lib, then puts it in a var. -# we will simply pass it as an arg to cmake. -Patch2: mathgl-2.2-disable-lib-installdir.patch +Patch0: mathgl-2.3-no-hdf4-and-hdf5-simultaneously.patch # Install binaries for generation examples of illustrations -Patch3: mathgl-2.2.1-examples.patch +Patch1: mathgl-2.2.1-examples.patch # There is no easy way to disable ONLY octave. Have to cut it from CmakeList.txt -Patch4: mathgl-2.2-no_octave.patch +Patch2: mathgl-2.3-no_octave.patch -# No qt4 and qt5 simultaneously. There are some issues with Qt5, leave v.4 -Patch5: mathgl-2.2.1-no_qt4_qt5.patch +# Skip FLUID binary test +Patch3: mathgl-2.3-fltk-skip-fluid.patch -# Fix bug with CalcXYZ() function and others. Upstream. -Patch50: mathgl-2.2.1-segfaults.patch +# No qt4 and qt5 simultaneously. There are some issues with Qt5, leave v.4 +Patch4: mathgl-2.3-no_qt4.patch Requires: %{name}-common = %{version}-%{release} @@ -45,7 +38,7 @@ BuildRequires: cmake # optional packages BuildRequires: freeglut-devel hdf5-devel libjpeg-devel libtiff-devel -BuildRequires: fltk-devel qt4-devel qtwebkit-devel +BuildRequires: fltk-devel qt5-qtbase-devel qt5-qtwebkit-devel BuildRequires: wxGTK-devel giflib-devel BuildRequires: libharu-devel BuildRequires: swig lua-devel @@ -188,19 +181,17 @@ for file in AUTHORS ChangeLog.txt README ; do done %patch0 -b .no-hdf4-and-hdf5-simultaneously -%patch1 -b .fltk-skip-fluid -%patch2 -b .disable-lib-installdir -%patch3 -b .examples -%patch4 -b .no_octave -%patch5 -b .no_qt4_qt5 -%patch50 -b .segfaults +%patch1 -b .examples +%patch2 -b .no_octave +%patch3 -b .fluid +%patch4 -b .no_qt4_qt5 # Fix hardcoded paths -sed -i s,/usr/local/share/doc/mathgl/,%{_docdir}/%{name}/, mgllab/main.cpp 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 + %build OMP_NUM_THREADS=1 @@ -243,10 +234,12 @@ MPI_COMPILER_NAME=openmpi %building %{_openmpi_unload} %endif +%if 0%{?with_mpich2} # MPICH2 %{_mpich_load} MPI_COMPILER_NAME=mpich %building %{_mpich_unload} +%endif %install @@ -270,10 +263,12 @@ MPI_COMPILER_NAME=openmpi %installing %{_openmpi_unload} %endif +%if 0%{?with_mpich2} # MPICH %{_mpich_load} MPI_COMPILER_NAME=mpich %installing %{_mpich_unload} +%endif #Remove symlink to .so file in python dir. Let python find libs normally unlink %{buildroot}/%{python_sitelib}/_mathgl.so @@ -369,6 +364,9 @@ fi %{_includedir}/mpich-%{_arch}/mgl2/ %changelog +* Tue Oct 07 2014 Dmitrij S. Kryzhevich - 2.3-1 +- Update for new 2.3 version. + * Sun Aug 17 2014 Fedora Release Engineering - 2.2.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild