[SCM] Packaging for mathgl branch, experimental, updated. debian/2_rc1-4-5-g4a3c787

Dimitrios Eftaxiopoulos eftaxi12 at otenet.gr
Wed Mar 7 08:23:39 UTC 2012


The following commit has been merged in the experimental branch:
commit 4a3c787b0e1458467e6a23344d1cc9d015a52c74
Author: Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>
Date:   Wed Mar 7 10:20:35 2012 +0200

    Build failure due to lang/mgl_python.cpp not found

diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches
deleted file mode 100644
index 6857a8d..0000000
--- a/.pc/.quilt_patches
+++ /dev/null
@@ -1 +0,0 @@
-debian/patches
diff --git a/.pc/.quilt_series b/.pc/.quilt_series
deleted file mode 100644
index c206706..0000000
--- a/.pc/.quilt_series
+++ /dev/null
@@ -1 +0,0 @@
-series
diff --git a/.pc/.version b/.pc/.version
deleted file mode 100644
index 0cfbf08..0000000
--- a/.pc/.version
+++ /dev/null
@@ -1 +0,0 @@
-2
diff --git a/debian/changelog~ b/debian/changelog~
deleted file mode 100644
index b35b2ac..0000000
--- a/debian/changelog~
+++ /dev/null
@@ -1,309 +0,0 @@
-mathgl (2~rc1-4) experimental; urgency=low
-
-  * Fix symbols FTBFS on armhf.
-  * Make build dependency on libhdf5-dev only.
-  * Make python-mathgl depend on python-numpy-abi9.
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Wed, 22 Feb 2012 19:39:00 +0200
-
-mathgl (2~rc1-3) experimental; urgency=low
-
-  * Fix symbols FTBFS, related to libmgl-wnd6, on several arches.
-  * Make libmgl-dev dependent on libmgl-wnd6.
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Wed, 4 Jan 2012 20:16:00 +0200
-
-mathgl (2~rc1-2) experimental; urgency=low
-
-  * Correct typo in mathgl description in debian/control (Closes: #644863).
-  * Try to fix symbols FTBFS on several arches.   
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Wed, 4 Jan 2012 15:30:00 +0200
-
-mathgl (2~rc1-1) experimental; urgency=low
-
-  * New experimental upstream release (Closes: #632468).
-  * No documentation debian packages provided.   
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Wed, 28 Sep 2011 11:30:00 +0300
-
-mathgl (1.11.2-6) unstable; urgency=low
-
-  * Fix FTBFS for sparc (Closes: #642654).  
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Mon, 26 Sep 2011 16:23:12 +0300
-
-mathgl (1.11.2-5) unstable; urgency=low
-
-  * Resolve differences for all non-optional symbols, in symbols files for ia64,
-    sparc and sh4 architectures (Closes: #642654).
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Mon, 26 Sep 2011 10:25:00 +0300
-
-mathgl (1.11.2-4) unstable; urgency=low
-
-  * Add python-numpy to Depnds of python-mathgl in debian/control and add
-    dh_numpy in binary-arch in debian/rules (Closes: #641793).
-  * Ammend symbols files for ia64, sparc and sh4 architectures (Closes: #642654).
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sat, 24 Sep 2011 23:16:00 +0300
-
-mathgl (1.11.2-3) unstable; urgency=low
-
-  * Replace libfltk-dev with libfltk1.3-dev | libfltk-dev in debian/control 
-    Build-Depends (Closes: #638834).
-  * Ammend symbols files for s390x architecture (Closes: #639492).
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Wed, 7 Sep 2011 06:04:00 +0300
-
-mathgl (1.11.2-2) unstable; urgency=low
-
-  * Add debian/source/options file in order to avoid the generation of unneeded debian-
-    changes patch, due to the creation of extra file config.log during build.
-  * Ammend symbols files.
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Thu, 18 Aug 2011 20:48:00 +0300
-
-mathgl (1.11.2-1) unstable; urgency=low
-
-  * Incorporate changes due to the last two NMU's.
-  * New upstream version.
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Tue, 28 Jun 2011 17:01:00 +0200
-
-mathgl (1.11.1.1-2.2) unstable; urgency=low
-
-  * Non-maintainer upload (closes: #610777).
-  * debian/libmgl-qt5.symbols: _ZN10QByteArrayD1Ev is needed on sparc and
-    ia64, so add it as optional.
-  * debian/libmgl-wx5.symbols: three destructors known to be undefined on
-    armel/armhf are also not defined on ia64 or sparc, so mark these as
-    optional also.  Destructors of foreign classes are not part of the
-    library ABI, so it's fine to ignore these.
-
- -- Steve Langasek <vorlon at debian.org>  Sun, 19 Jun 2011 07:57:43 +0000
-
-mathgl (1.11.1.1-2.1) unstable; urgency=low
-
-  * Non-maintainer upload.
-  * Fix library symbols files (closes: #610777):
-    - debian/libmgl-qt5.symbols: drop _ZN10QByteArrayD2Ev, which is not
-      present on *any* architecture anymore.
-    - debian/libmgl-fltk5.symbols: _ZN9Fl_PixmapC2EPKPKc is not present on
-      ia64 or sparc and never has been.
-    - debian/libmgl5.symbols:
-      + _ZN7mglFuncD1Ev is present on all architectures, drop the
-        architecture list (fixing the 'kfeebsd' typo that caused a build
-        failure on kfreebsd-amd64).
-      + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev,
-        _ZN8u3dLightD2Ev: symbols not seen on *any* archs, drop.
-      + Drop 18 symbols whose exclusion list included all 15 architectures
-        that have been tested.
-      + Other symbols that are template instantiations are now marked as
-        optional symbols instead of tagged with an arch list, since they are
-        not part of the ABI and will come and go based on the compiler
-        version used, *not* just on the architecture.
-      + If there are 8 or more architectures in the arch qualifier, invert
-        it.  In some cases this reveals that certain symbols are actually
-        64-bit specific - so infer that not-yet-tested 32-bit archs follow
-        the pattern.
-    - debian/*.symbols: any symbols marked for armel should also be marked
-      for armhf.
-  * debian/rules: clean the dependency_libs out of .la files at build
-    time, per Policy 10.2.  Closes: #620629.
-
- -- Steve Langasek <vorlon at debian.org>  Sat, 18 Jun 2011 07:33:55 +0000
-
-mathgl (1.11.1.1-3) unreleased; urgency=low
-
-  * Further attempt to fix symbol breakages
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sun, 29 May 2011 19:41:00 +0200
-
-mathgl (1.11.1.1-2) unstable; urgency=low
-
-  * Try to fix libmgl5 related symbols breakage on all arches
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sun, 22 May 2011 20:50:00 +0200
-
-mathgl (1.11.1.1-1) unstable; urgency=low
-
-  * New upstream version
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Tue, 26 Apr 2011 01:15:00 +0200
-
-mathgl (1.11.0.1-9) unreleased; urgency=low
-
-  * Again try to fix build failure due to broken symbols for several architectures
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sat, 2 Apr 2011 02:05:00 +0200
-
-mathgl (1.11.0.1-8) unstable; urgency=low
-
-  * Try to fix build failure due to broken symbols for several architectures
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Thu, 24 Mar 2011 23:56:00 +0200
-
-mathgl (1.11.0.1-7) unstable; urgency=low
-
-  * Create patch for the removal of the texinfo/mgl_ru.info-* files
-  * Update symbols files (Closes: #618235)
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Mon, 14 Mar 2011 00:10:00 +0200
-
-mathgl (1.11.0.1-6) unstable; urgency=low
-
-  * Try to fix build failure due to broken symbols for sparc64
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sat, 5 Mar 2011 21:27:00 +0200
-
-mathgl (1.11.0.1-5) unstable; urgency=low
-
-  * Try to fix build failure due to broken symbols for armel and s390
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Fri, 25 Feb 2011 21:30:00 +0200
-
-mathgl (1.11.0.1-4) unstable; urgency=low
-
-  * Create mixed symbols files for amd64 and i386 with tagged symbols 
-    (Closes: #610777)
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sat, 19 Feb 2011 23:10:00 +0200
-
-mathgl (1.11.0.1-3) unstable; urgency=low
-
-  * Upload in unstable
-  * Change symbols files for pbuilder --distribution unstable (Closes: #610777)
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sat, 12 Feb 2011 22:14:00 +0200
-
-mathgl (1.11.0.1-2) experimental; urgency=low
-
-  * Update symbols files for pbuilder --distribution experimental.
-  * Remove createpngdirectory.patch from series.
-  * Apply patch for FTBFS on i386 (Closes: #607539).
-  * Add Replaces tags for old mathgl-doc package in debian/control.
-  * Various improvements in the debian/rules file.
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Mon, 17 Jan 2011 21:43:00 +0200
-
-mathgl (1.11.0.1-1) experimental; urgency=low
-
-  * Correct debian/copyright file.
-  * Create proper patches for the changes in the source tree.
-  * Add new package for Russian documentation.
-  * New upstream release (Closes: #603004).
-  * Correct several spelling mistakes in manpages and in lang/numpy.i
-  * Create symbols files for libraries.
-  * Register documentation to doc-base.
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sun, 12 Dec 2010 19:13:00 +0200
-
-mathgl (1.10.2.1-2) unstable; urgency=low
-
-  * Make .png pictures visible from the html documentation.
-  * Add python support (Closes: #541481).
-
- -- Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>  Sun, 11 Sep 2010 12:37:00 +0200
-	
-mathgl (1.10.2.1-1) unstable; urgency=low
-
-  [ D Eftaxiopoulos ]
-  * Update to Debian Policy 3.9.1
-  * Put myself and D. Haley to the maintainers list.
-  * Comment out parallel-build-png.patch in the debian/patches/series file
-    since it seems to apply to a texinfo/Makefile.am file that is not 
-    included in the source tree.
-  * Append package quilt to the build-depends list for the source in the 
-    debian/control file, in order to fix a lintian error.
-  * Reinstate debian/source/format file with content '3.0 (quilt)'.
-  * Fix Lintian warnings related to manpages.
-
-  [ D Haley ]
-  * New upstream release 1.10.2.1 (Closes: #562743).
-
-  [ Salvatore Bonaccorso ]
-  * New Maintainer (Closes: #564422). Set Maintainer to Debian Science
-    Maintainers <debian-science-maintainers at lists.alioth.debian.org>.
-  * Convert to '3.0 (quilt)' package source format. Drop quilt framework for
-    packaging. 
-  * debian/control: 
-    - Change Vcs-Browser and Vcs-Git to the debian-science git repository.
-    - Change Section for source package to 'science' as per debian-science
-      group policy.
-    - Set DM-Upload-Allowed field to yes.
-  * Add myself to Uploaders.
-
-  [ Sylvestre Ledru ]
-  * Missing dependency against automake added.
-
- -- Sylvestre Ledru <sylvestre at debian.org>  Sun, 15 Aug 2010 21:45:47 +0200
-
-mathgl (1.9-3) unstable; urgency=low
-
-  * QA upload.
-  * Properly orphan the package (see #564422), set maintainer to QA.
-  * Bump Standards-Version to 3.8.4, no changes needed.
-  * Add debian/README.source, pointing to quilt doc.
-  * Bump build-deps on octave from 3.0 to 3.2 (Closes: #574025).
-
- -- Stefano Zacchiroli <zack at debian.org>  Fri, 26 Mar 2010 14:06:08 +0100
-
-mathgl (1.9-2) unstable; urgency=low
-
-  * Fix FTBFS. Closes: #545882.
-  * Update Standards-Version to 3.8.3.
-
- -- Bradley Smith <bradsmith at debian.org>  Wed, 09 Sep 2009 22:44:44 +0100
-
-mathgl (1.9-1) unstable; urgency=low
-
-  * New upstream release. Closes: #535503.
-  * QT -> qt in package descriptions. Closes: #534425.
-
- -- Bradley Smith <bradsmith at debian.org>  Sun, 19 Jul 2009 16:41:41 +0100
-
-mathgl (1.8.1-6) unstable; urgency=low
-
-  * Redo descriptions.
-
- -- Bradley Smith <bradsmith at debian.org>  Tue, 09 Jun 2009 20:26:42 +0100
-
-mathgl (1.8.1-5) unstable; urgency=low
-
-  * Correct info-dir-section in texinfo/mathgl.texi. Closes: #528893.
-
- -- Bradley Smith <bradsmith at debian.org>  Wed, 27 May 2009 17:52:50 +0100
-
-mathgl (1.8.1-4) unstable; urgency=low
-
-  * Correct libltdl-dev Build-Depend. Closes: #526426.
-  * Further improve descriptions.
-
- -- Bradley Smith <bradsmith at debian.org>  Fri, 01 May 2009 12:59:05 +0100
-
-mathgl (1.8.1-3) unstable; urgency=low
-
-  * Tidy up descriptions. Closes: #521830, #521917.
-  * Update Standards-Version to 3.8.1. (No changes).
-  * Fix watch file.
-
- -- Bradley Smith <bradsmith at debian.org>  Sat, 18 Apr 2009 17:42:59 +0100
-
-mathgl (1.8.1-2) unstable; urgency=low
-
-  * Fix parallel builds. Closes: #519738.
-
- -- Bradley Smith <bradsmith at debian.org>  Thu, 19 Mar 2009 19:08:37 +0000
-
-mathgl (1.8.1-1) unstable; urgency=low
-
-  * New upstream release. Closes: #518769.
-
- -- Bradley Smith <bradsmith at debian.org>  Sun, 08 Mar 2009 13:29:33 +0000
-
-mathgl (1.8-1) unstable; urgency=low
-
-  * Initial release. Closes: #510378.
-
- -- Bradley Smith <bradsmith at debian.org>  Thu, 01 Jan 2009 11:27:32 +0000
diff --git a/debian/control~ b/debian/control~
deleted file mode 100644
index 5164f6c..0000000
--- a/debian/control~
+++ /dev/null
@@ -1,96 +0,0 @@
-Source: mathgl
-Section: science
-Priority: optional
-Maintainer: Debian Science Maintainers <debian-science-maintainers at lists.alioth.debian.org>
-Uploaders: Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>, D Haley <mycae at yahoo.com>
-DM-Upload-Allowed: yes
-Build-Depends: debhelper (>= 7.2.3~), libltdl-dev, libgsl0-dev, freeglut3-dev,
- libgl1-mesa-dev | libgl-dev, libpng-dev, libhdf5-dev, zlib1g-dev, swig,
- libjpeg-dev, libtiff-dev, libfltk1.3-dev | libfltk-dev, libqt4-dev, libwxgtk2.8-dev, 
- texinfo, texi2html, texlive, texlive-generic-recommended, octave3.2-headers,
- libgif-dev, autoconf, automake, python, python-dev, python-numpy, python-support,
- libhdf4-dev, chrpath
-Standards-Version: 3.9.2
-Homepage: http://mathgl.sourceforge.net/index.html
-Vcs-Git: git://git.debian.org/debian-science/packages/mathgl.git
-Vcs-Browser: http://git.debian.org/?p=debian-science/packages/mathgl.git
-
-Package: mathgl
-Architecture: any
-Section: libs
-Depends: ${shlibs:Depends}, ${misc:Depends}, libmgl6 (= ${binary:Version})
-Description: library for scientific graphs. (utilities and examples)
- A free cross-platform library of fast C++ routines for plotting data in up
- to 3 dimensions. It can export plots to bitmaps and vector EPS, SVG, IDTF
- files. There are simple window interfaces based on GLUT, FLTK and/or Qt.
- MathGL can also be used in the console. There are interfaces to a set of
- languages, such as, C, Fortran, Pascal, Forth, Python, Octave.
- .
- This package contains MathGL utilities and examples.
-
-Package: libmgl6
-Architecture: any
-Section: libs
-Depends: ${shlibs:Depends}, ${misc:Depends}, libmgl-data
-Description: library for scientific graphs. (main runtime library)
- A free cross-platform library of fast C++ routines for plotting data in up
- to 3 dimensions. It can export plots to bitmaps and vector EPS, SVG, IDTF
- files. There are simple window interfaces based on GLUT, FLTK and/or Qt.
- MathGL can also be used in the console. There are interfaces to a set of
- languages, such as, C, Fortran, Pascal, Forth, Python, Octave.
- .
- This package contains the shared object files.
-
-Package: libmgl-wnd6
-Architecture: any
-Section: libs
-Depends: ${shlibs:Depends}, ${misc:Depends}, libmgl-data
-Description: library for scientific graphs. (windows runtime library)
- A free cross-platform library of fast C++ routines for plotting data in up
- to 3 dimensions. It can export plots to bitmaps and vector EPS, SVG, IDTF
- files. There are simple window interfaces based on GLUT, FLTK and/or Qt.
- MathGL can also be used in the console. There are interfaces to a set of
- languages, such as, C, Fortran, Pascal, Forth, Python, Octave.
- .
- This package contains the window opening related shared object files.
-
-Package: libmgl-data
-Architecture: all
-Section: misc
-Depends: ${misc:Depends}
-Description: library for scientific graphs. (data files)
- A free cross-platform library of fast C++ routines for plotting data in up
- to 3 dimensions. It can export plots to bitmaps and vector EPS, SVG, IDTF
- files. There are simple window interfaces based on GLUT, FLTK and/or Qt.
- MathGL can also be used in the console. There are interfaces to a set of
- languages, such as, C, Fortran, Pascal, Forth, Python, Octave.
- .
- This package contains the MathGL data files.
-
-Package: libmgl-dev
-Architecture: any
-Section: libdevel
-Depends: libmgl6 (= ${binary:Version}), libmgl-wnd6 (= ${binary:Version}), 
- ${misc:Depends}, libgsl0-dev, libgl1-mesa-dev | libgl-dev, libpng-dev
-Description: library for scientific graphs. (development files)
- A free cross-platform library of fast C++ routines for plotting data in up
- to 3 dimensions. It can export plots to bitmaps and vector EPS, SVG, IDTF
- files. There are simple window interfaces based on GLUT, FLTK and/or Qt.
- MathGL can also be used in the console. There are interfaces to a set of
- languages, such as, C, Fortran, Pascal, Forth, Python, Octave.
- .
- This package contains the development files.
-
-Package: python-mathgl
-Architecture: any
-Section: python
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, 
- python-numpy-abi9
-Description: library for scientific graphs. (Python module)
- A free cross-platform library of fast C++ routines for plotting data in up
- to 3 dimensions. It can export plots to bitmaps and vector EPS, SVG, IDTF
- files. There are simple window interfaces based on GLUT, FLTK and/or Qt.
- MathGL can also be used in the console. There are interfaces to a set of
- languages, such as, C, Fortran, Pascal, Forth, Python, Octave.
- .
- This package provides the Python module for mathgl. 
diff --git a/debian/patches/series b/debian/patches/series
index 8930613..e69de29 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +0,0 @@
-src-data_png_cpp.patch
diff --git a/debian/patches/src-data_png_cpp.patch b/debian/patches/src-data_png_cpp.patch
deleted file mode 100644
index d5d2a30..0000000
--- a/debian/patches/src-data_png_cpp.patch
+++ /dev/null
@@ -1,358 +0,0 @@
-Include zlib.h header in file src/data_png.cpp 
---- a/src/data_png.cpp
-+++ b/src/data_png.cpp
-@@ -1,178 +1,179 @@
--/***************************************************************************
-- * data_png.cpp is part of Math Graphic Library
-- * Copyright (C) 2007 Alexey Balakin <balakin at appl.sci-nnov.ru>            *
-- *                                                                         *
-- *   This program is free software; you can redistribute it and/or modify  *
-- *   it under the terms of the GNU Library General Public License as       *
-- *   published by the Free Software Foundation; either version 3 of the    *
-- *   License, or (at your option) any later version.                       *
-- *                                                                         *
-- *   This program is distributed in the hope that it will be useful,       *
-- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
-- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
-- *   GNU General Public License for more details.                          *
-- *                                                                         *
-- *   You should have received a copy of the GNU Library General Public     *
-- *   License along with this program; if not, write to the                 *
-- *   Free Software Foundation, Inc.,                                       *
-- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
-- ***************************************************************************/
--#include <stdlib.h>
--#ifndef NO_PNG
--#include <png.h>
--#endif
--#include "mgl/data.h"
--//-----------------------------------------------------------------------------
--long mgl_col_dif(unsigned char *c1,unsigned char *c2,bool sum)
--{
--	long res,d1=abs(long(c1[0])-long(c2[0])),
--		d2=abs(long(c1[1])-long(c2[1])),d3=abs(long(c1[2])-long(c2[2]));
--	if(sum)	res = d1+d2+d3;
--	else	res = mgl_max(d1,mgl_max(d2,d3));
--	return res;
--}
--//-----------------------------------------------------------------------------
--unsigned char *mgl_create_scheme(const char *scheme,long &num)
--{
--	unsigned char *c=0,*cc=new unsigned char[3*strlen(scheme)+3];
--	long nc=1,np=0;
--	register long i,j;
--	mglColor col;
--	for(i=0;i<long(strlen(scheme));i++)
--	{
--		col = mglColor(scheme[i]);
--		if(col.Valid())
--		{	cc[3*np]=col.r;	cc[3*np+1]=col.g;	cc[3*np+2]=col.b;	np++;	}
--	}
--	if(np<2)	{	delete []cc;	return 0;	}
--	for(i=0;i<np-1;i++)	nc+=mgl_col_dif(cc+3*i,cc+3*i+3,false);
--	c = new unsigned char[3*nc+3];
--	long dd,pos=0;
--	for(i=0;i<np-1;i++)
--	{
--		dd=mgl_col_dif(cc+3*i,cc+3*i+3,false);
--		for(j=0;j<dd;j++)
--		{
--			c[3*(pos+j)] = cc[3*i]+(cc[3*i+3]-cc[3*i])*j/dd;
--			c[3*(pos+j)+1] = cc[3*i+1]+(cc[3*i+4]-cc[3*i+1])*j/dd;
--			c[3*(pos+j)+2] = cc[3*i+2]+(cc[3*i+5]-cc[3*i+2])*j/dd;
--		}
--		pos += dd;
--	}
--	memcpy(c+3*nc-3,cc+3*np-3,3*sizeof(unsigned char));
--	delete []cc;
--	num=nc;
--	return c;
--}
--//-----------------------------------------------------------------------------
-+/***************************************************************************
-+ * data_png.cpp is part of Math Graphic Library
-+ * Copyright (C) 2007 Alexey Balakin <balakin at appl.sci-nnov.ru>            *
-+ *                                                                         *
-+ *   This program is free software; you can redistribute it and/or modify  *
-+ *   it under the terms of the GNU Library General Public License as       *
-+ *   published by the Free Software Foundation; either version 3 of the    *
-+ *   License, or (at your option) any later version.                       *
-+ *                                                                         *
-+ *   This program is distributed in the hope that it will be useful,       *
-+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
-+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
-+ *   GNU General Public License for more details.                          *
-+ *                                                                         *
-+ *   You should have received a copy of the GNU Library General Public     *
-+ *   License along with this program; if not, write to the                 *
-+ *   Free Software Foundation, Inc.,                                       *
-+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
-+ ***************************************************************************/
-+#include <stdlib.h>
-+#ifndef NO_PNG
-+#include <png.h>
-+#endif
-+#include "mgl/data.h"
-+#include <zlib.h>
-+//-----------------------------------------------------------------------------
-+long mgl_col_dif(unsigned char *c1,unsigned char *c2,bool sum)
-+{
-+	long res,d1=abs(long(c1[0])-long(c2[0])),
-+		d2=abs(long(c1[1])-long(c2[1])),d3=abs(long(c1[2])-long(c2[2]));
-+	if(sum)	res = d1+d2+d3;
-+	else	res = mgl_max(d1,mgl_max(d2,d3));
-+	return res;
-+}
-+//-----------------------------------------------------------------------------
-+unsigned char *mgl_create_scheme(const char *scheme,long &num)
-+{
-+	unsigned char *c=0,*cc=new unsigned char[3*strlen(scheme)+3];
-+	long nc=1,np=0;
-+	register long i,j;
-+	mglColor col;
-+	for(i=0;i<long(strlen(scheme));i++)
-+	{
-+		col = mglColor(scheme[i]);
-+		if(col.Valid())
-+		{	cc[3*np]=col.r;	cc[3*np+1]=col.g;	cc[3*np+2]=col.b;	np++;	}
-+	}
-+	if(np<2)	{	delete []cc;	return 0;	}
-+	for(i=0;i<np-1;i++)	nc+=mgl_col_dif(cc+3*i,cc+3*i+3,false);
-+	c = new unsigned char[3*nc+3];
-+	long dd,pos=0;
-+	for(i=0;i<np-1;i++)
-+	{
-+		dd=mgl_col_dif(cc+3*i,cc+3*i+3,false);
-+		for(j=0;j<dd;j++)
-+		{
-+			c[3*(pos+j)] = cc[3*i]+(cc[3*i+3]-cc[3*i])*j/dd;
-+			c[3*(pos+j)+1] = cc[3*i+1]+(cc[3*i+4]-cc[3*i+1])*j/dd;
-+			c[3*(pos+j)+2] = cc[3*i+2]+(cc[3*i+5]-cc[3*i+2])*j/dd;
-+		}
-+		pos += dd;
-+	}
-+	memcpy(c+3*nc-3,cc+3*np-3,3*sizeof(unsigned char));
-+	delete []cc;
-+	num=nc;
-+	return c;
-+}
-+//-----------------------------------------------------------------------------
- void mgl_data_import(HMDT d, const char *fname, const char *scheme,float v1,float v2)
--{
--	if(v1>=v2)	return;
--	long num=0;
--#ifndef NO_PNG
--	FILE *fp = fopen(fname, "rb");
--	if (!fp)	return;
--	png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0);
--	if (!png_ptr)	{	fclose(fp);	return;	}
--	png_infop info_ptr = png_create_info_struct(png_ptr);
--	if (!info_ptr)
--	{	png_destroy_read_struct(&png_ptr,0,0);	fclose(fp);	return;	}
--	png_infop end_info = png_create_info_struct(png_ptr);
--	if (!end_info)
--	{	png_destroy_read_struct(&png_ptr,&info_ptr,0);	fclose(fp);	return;	}
--
--	png_init_io(png_ptr, fp);
--	png_read_png(png_ptr, info_ptr,
--		PNG_TRANSFORM_STRIP_ALPHA|PNG_TRANSFORM_PACKING|
--		PNG_TRANSFORM_STRIP_16|PNG_TRANSFORM_EXPAND,0);
--	unsigned char **rows = png_get_rows(png_ptr, info_ptr);
--	unsigned char *c = mgl_create_scheme(scheme,num);
--	if(num>1)
--	{
--		long w=png_get_image_width(png_ptr, info_ptr);
--		long h=png_get_image_height(png_ptr, info_ptr);
--		d->Create(w,h,1);
--		register long i,j,k;
--		long pos=0,val,mval=256;
--		for(i=0;i<d->ny;i++)	for(j=0;j<d->nx;j++)
--		{
--			for(mval=256,k=0;k<num;k++)
--			{
--				val = mgl_col_dif(c+3*k,rows[d->ny-i-1]+3*j,true);
--				if(val==0)	{	pos=k;	break;	}
--				if(val<mval)	{	pos=k;	mval=val;	}
--			}
--			d->a[j+d->nx*i] = v1 + pos*(v2-v1)/num;
--		}
--	}
--	delete []c;
--	png_destroy_read_struct(&png_ptr, &info_ptr,&end_info);
--	fclose(fp);
--#endif
--}
--//-----------------------------------------------------------------------------
-+{
-+	if(v1>=v2)	return;
-+	long num=0;
-+#ifndef NO_PNG
-+	FILE *fp = fopen(fname, "rb");
-+	if (!fp)	return;
-+	png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0);
-+	if (!png_ptr)	{	fclose(fp);	return;	}
-+	png_infop info_ptr = png_create_info_struct(png_ptr);
-+	if (!info_ptr)
-+	{	png_destroy_read_struct(&png_ptr,0,0);	fclose(fp);	return;	}
-+	png_infop end_info = png_create_info_struct(png_ptr);
-+	if (!end_info)
-+	{	png_destroy_read_struct(&png_ptr,&info_ptr,0);	fclose(fp);	return;	}
-+
-+	png_init_io(png_ptr, fp);
-+	png_read_png(png_ptr, info_ptr,
-+		PNG_TRANSFORM_STRIP_ALPHA|PNG_TRANSFORM_PACKING|
-+		PNG_TRANSFORM_STRIP_16|PNG_TRANSFORM_EXPAND,0);
-+	unsigned char **rows = png_get_rows(png_ptr, info_ptr);
-+	unsigned char *c = mgl_create_scheme(scheme,num);
-+	if(num>1)
-+	{
-+		long w=png_get_image_width(png_ptr, info_ptr);
-+		long h=png_get_image_height(png_ptr, info_ptr);
-+		d->Create(w,h,1);
-+		register long i,j,k;
-+		long pos=0,val,mval=256;
-+		for(i=0;i<d->ny;i++)	for(j=0;j<d->nx;j++)
-+		{
-+			for(mval=256,k=0;k<num;k++)
-+			{
-+				val = mgl_col_dif(c+3*k,rows[d->ny-i-1]+3*j,true);
-+				if(val==0)	{	pos=k;	break;	}
-+				if(val<mval)	{	pos=k;	mval=val;	}
-+			}
-+			d->a[j+d->nx*i] = v1 + pos*(v2-v1)/num;
-+		}
-+	}
-+	delete []c;
-+	png_destroy_read_struct(&png_ptr, &info_ptr,&end_info);
-+	fclose(fp);
-+#endif
-+}
-+//-----------------------------------------------------------------------------
- void mgl_data_export(HCDT dd, const char *fname, const char *scheme,float v1,float v2,long ns)
--{
--	register long i,j,k;
--	long nx=dd->GetNx(), ny=dd->GetNy(), nz=dd->GetNz();
--	mreal vv;
--	if(v1>v2)	return;
--	if(ns<0 || ns>=nz)	ns=0;
--	if(v1==v2)
--	{
--		v1 = 1e20;	v2=-1e20;
--		for(i=0;i<nx*ny*nz;i++)
--		{	vv = dd->vthr(i);	if(vv<v1)	v1=vv;	if(vv>v2)	v2=vv;	}
--	}
--	if(v1==v2)	return;
--#ifndef NO_PNG
--	long num=0;
--	unsigned char *c = mgl_create_scheme(scheme,num);
--	if(num<2)	{	delete []c;		return;		}
--
--	unsigned char **p = (unsigned char **)malloc(ny*sizeof(unsigned char *));
--	unsigned char *d = (unsigned char *)malloc(3*nx*ny*sizeof(unsigned char));
--	for(i=0;i<ny;i++)	p[i] = d+3*nx*(ny-1-i);
--	for(i=0;i<ny;i++)	for(j=0;j<nx;j++)
--	{
--		k = long(num*(dd->v(j,i,ns)-v1)/(v2-v1));
--		if(k<0)	k=0;	if(k>=num) k=num-1;
--		memcpy(d+3*(j+i*nx),c+3*k,3*sizeof(unsigned char));
--	}
--	delete []c;
--
--	FILE *fp = fopen(fname, "wb");
--	if (!fp)	return;
--	png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0);
--	if (!png_ptr)	{	fclose(fp);	return;	}
--	png_infop info_ptr = png_create_info_struct(png_ptr);
--	if (!info_ptr)
--	{	png_destroy_write_struct(&png_ptr,0);	fclose(fp);	return;	}
--	png_init_io(png_ptr, fp);
--	png_set_filter(png_ptr, 0, PNG_ALL_FILTERS);
--	png_set_compression_level(png_ptr, Z_BEST_COMPRESSION);
--	png_set_IHDR(png_ptr, info_ptr, nx, ny, 8, PNG_COLOR_TYPE_RGB,
--			PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
--	png_set_rows(png_ptr, info_ptr, p);
--	png_write_png(png_ptr, info_ptr,  PNG_TRANSFORM_IDENTITY, 0);
--	png_write_end(png_ptr, info_ptr);
--	png_destroy_write_struct(&png_ptr, &info_ptr);
--	fclose(fp);	free(p);	free(d);
--#endif
--}
--//-----------------------------------------------------------------------------
--void mgl_data_export_(uintptr_t *d, const char *fname, const char *scheme,float *v1,float *v2,int *ns,int l,int n)
--{
--	char *s=new char[l+1];	memcpy(s,fname,l);	s[l]=0;
--	char *f=new char[n+1];	memcpy(f,scheme,n);	f[n]=0;
--	mgl_data_export(_DT_,s,f,*v1,*v2,*ns);
--	delete []s;		delete []f;
--}
-+{
-+	register long i,j,k;
-+	long nx=dd->GetNx(), ny=dd->GetNy(), nz=dd->GetNz();
-+	mreal vv;
-+	if(v1>v2)	return;
-+	if(ns<0 || ns>=nz)	ns=0;
-+	if(v1==v2)
-+	{
-+		v1 = 1e20;	v2=-1e20;
-+		for(i=0;i<nx*ny*nz;i++)
-+		{	vv = dd->vthr(i);	if(vv<v1)	v1=vv;	if(vv>v2)	v2=vv;	}
-+	}
-+	if(v1==v2)	return;
-+#ifndef NO_PNG
-+	long num=0;
-+	unsigned char *c = mgl_create_scheme(scheme,num);
-+	if(num<2)	{	delete []c;		return;		}
-+
-+	unsigned char **p = (unsigned char **)malloc(ny*sizeof(unsigned char *));
-+	unsigned char *d = (unsigned char *)malloc(3*nx*ny*sizeof(unsigned char));
-+	for(i=0;i<ny;i++)	p[i] = d+3*nx*(ny-1-i);
-+	for(i=0;i<ny;i++)	for(j=0;j<nx;j++)
-+	{
-+		k = long(num*(dd->v(j,i,ns)-v1)/(v2-v1));
-+		if(k<0)	k=0;	if(k>=num) k=num-1;
-+		memcpy(d+3*(j+i*nx),c+3*k,3*sizeof(unsigned char));
-+	}
-+	delete []c;
-+
-+	FILE *fp = fopen(fname, "wb");
-+	if (!fp)	return;
-+	png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0);
-+	if (!png_ptr)	{	fclose(fp);	return;	}
-+	png_infop info_ptr = png_create_info_struct(png_ptr);
-+	if (!info_ptr)
-+	{	png_destroy_write_struct(&png_ptr,0);	fclose(fp);	return;	}
-+	png_init_io(png_ptr, fp);
-+	png_set_filter(png_ptr, 0, PNG_ALL_FILTERS);
-+	png_set_compression_level(png_ptr, Z_BEST_COMPRESSION);
-+	png_set_IHDR(png_ptr, info_ptr, nx, ny, 8, PNG_COLOR_TYPE_RGB,
-+			PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
-+	png_set_rows(png_ptr, info_ptr, p);
-+	png_write_png(png_ptr, info_ptr,  PNG_TRANSFORM_IDENTITY, 0);
-+	png_write_end(png_ptr, info_ptr);
-+	png_destroy_write_struct(&png_ptr, &info_ptr);
-+	fclose(fp);	free(p);	free(d);
-+#endif
-+}
-+//-----------------------------------------------------------------------------
-+void mgl_data_export_(uintptr_t *d, const char *fname, const char *scheme,float *v1,float *v2,int *ns,int l,int n)
-+{
-+	char *s=new char[l+1];	memcpy(s,fname,l);	s[l]=0;
-+	char *f=new char[n+1];	memcpy(f,scheme,n);	f[n]=0;
-+	mgl_data_export(_DT_,s,f,*v1,*v2,*ns);
-+	delete []s;		delete []f;
-+}
- void mgl_data_import_(uintptr_t *d, const char *fname, const char *scheme,float *v1,float *v2,int l,int n)
--{
--	char *s=new char[l+1];	memcpy(s,fname,l);	s[l]=0;
--	char *f=new char[n+1];	memcpy(f,scheme,n);	f[n]=0;
--	mgl_data_import(_DT_,s,f,*v1,*v2);
--	delete []s;		delete []f;
--}
--//-----------------------------------------------------------------------------
-+{
-+	char *s=new char[l+1];	memcpy(s,fname,l);	s[l]=0;
-+	char *f=new char[n+1];	memcpy(f,scheme,n);	f[n]=0;
-+	mgl_data_import(_DT_,s,f,*v1,*v2);
-+	delete []s;		delete []f;
-+}
-+//-----------------------------------------------------------------------------

-- 
Packaging for mathgl



More information about the debian-science-commits mailing list