--- freemat-3.6+dfsg.orig/debian/freemat-data.dirs +++ freemat-3.6+dfsg/debian/freemat-data.dirs @@ -0,0 +1 @@ +usr/share/lintian/overrides --- freemat-3.6+dfsg.orig/debian/freemat.desktop +++ freemat-3.6+dfsg/debian/freemat.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Comment=a free environment for rapid engineering and scientific prototyping and data processing. +Exec=freemat +GenericName=Scientific Software Package +Icon=/usr/share/pixmaps/freemat/freemat.xpm +Name=FreeMat +StartupNotify=false +Terminal=false +Type=Application +Categories=Education;Science;Math;Engineering; --- freemat-3.6+dfsg.orig/debian/FreeMat.conf +++ freemat-3.6+dfsg/debian/FreeMat.conf @@ -0,0 +1,2 @@ +[General] +root=/usr/share/freemat --- freemat-3.6+dfsg.orig/debian/freemat-data.lintian-overrides +++ freemat-3.6+dfsg/debian/freemat-data.lintian-overrides @@ -0,0 +1,2 @@ +# This is a source file, it contains a couple of printf +freemat-data: extra-license-file usr/share/freemat/toolbox/general/license.m --- freemat-3.6+dfsg.orig/debian/changelog +++ freemat-3.6+dfsg/debian/changelog @@ -0,0 +1,97 @@ +freemat (3.6+dfsg-8build1) karmic; urgency=low + + * No-change rebuild against libbtf1.1.0 + + -- Steve Langasek Thu, 13 Aug 2009 10:56:23 +0000 + +freemat (3.6+dfsg-8) unstable; urgency=low + + * [da4aa11] debian/patches/11_svn_fixes.patch: Backport some fixes + from svn: + + Fixed zooming in figures with axis image attribute set. + + [f4dbd34] Don't change axis directions. + + [479845b] removed trailing spaces when copy and paste from Command + Window + * [25184bb] debian/control: freemat package now depends on freemat-data + (= ${source:Version}) + * [6e1ad18] Bump to debhelper 7 compatibility levels + * [7bbb9f2] debian/rules: Use dh_prep instead of dh_clean -k + * [6bbf295] debian/control: Updated VCS control field + + -- Giuseppe Iuculano Tue, 03 Mar 2009 21:18:45 +0100 + +freemat (3.6+dfsg-7) unstable; urgency=low + + * [9d84234] debian/control: libarpack2-dev is missing in alpha, so + build-depending on "libarpack2-dev [!alpha]" + * [7c42d28] debian/copyright: use © symbol and fix new lintian warning + + -- Giuseppe Iuculano Fri, 09 Jan 2009 14:04:44 +0100 + +freemat (3.6+dfsg-6) unstable; urgency=low + + * [1666c43] debian/patches/06_fix_ftbfs_on_alpha.dpatch: Apply this + patch to all archs + * [f845eaa] Switch to quilt + * [b7536af] debian/README.source: Updated with quilt info + * [fb36291] debian/patches/09_warning.patch: ask in the warning if + freemat-help was installed (Closes: #510115) + * [fdd126d] debian/rules: rebuild main.pdf from source + (Closes: #495747) + * [2d9689e] debian/patches/10_pdf.patch: escape "_" and fix pdf build + failure + * [559ad18] debian/control: Added texlive in Build-Depends + + -- Giuseppe Iuculano Mon, 29 Dec 2008 23:34:55 +0100 + +freemat (3.6+dfsg-5) unstable; urgency=low + + * debian/control: Added Vcs-Git and Vcs-Browser control field + * debian/control: libarpack2-dev is back, added again in Build-depends + * debian/README.source: document dpatch usage, as required by Debian + Policy since 3.8.0 + + -- Giuseppe Iuculano Thu, 04 Dec 2008 00:22:03 +0100 + +freemat (3.6+dfsg-4) unstable; urgency=low + + * debian/patches/06_fix_ftbfs_on_alpha.dpatch: Attempt to fix FTBFS on alpha + * debian/control: Set DM-Upload-Allowed: yes control field + * debian/patches/07_fix_FTBFS_with_GCC_4.4.dpatch: Fix FTBFS with GCC 4.4 + (Closes: #505135) + * debian/patches/08_fix_editor_freeze.dpatch: Fix freeze on editor closing, + thanks to Chuong Nguyen (LP: #295093) + * debian/FreeMat.conf: install a simple conf file to avoid the initial + freemat -i command + * debian/README.Debian: Removed. + + -- Giuseppe Iuculano Sat, 29 Nov 2008 11:36:25 +0100 + +freemat (3.6+dfsg-3) unstable; urgency=high + + * Removed libarpack2-dev from Build-Depends due to license issue, this + disable Eigenvalues for Sparse Matrices functions. (Closes: #497723) + + -- Giuseppe Iuculano Wed, 03 Sep 2008 23:37:08 +0200 + +freemat (3.6+dfsg-2) unstable; urgency=low + + * debian/freemat.1: + + Fix defualt freemat data path + + Typo, remove a .TP before AUTHOR section. + * Added a README.Debian to explain freemat -i /usr/share/freemat command + * debian/patches/05_nostrip.dpatch: do not strip binaries + * Added debian/freemat.desktop, and added dh_desktop in debian/rules + * debian/copyright: Fixed some debian-copyright-line-too-long lintian + warning + * debian/control: move freemat-data from Recommends to Depends, freemat + really needs it + + -- Giuseppe Iuculano Sat, 19 Jul 2008 11:24:52 +0200 + +freemat (3.6+dfsg-1) unstable; urgency=low + + * Initial release (Closes: #391887) + + -- Giuseppe Iuculano Fri, 27 Jun 2008 17:10:28 +0200 + --- freemat-3.6+dfsg.orig/debian/freemat.menu +++ freemat-3.6+dfsg/debian/freemat.menu @@ -0,0 +1,3 @@ +?package(freemat):needs="X11" section="Applications/Science/Mathematics"\ + title="FreeMat" command="/usr/bin/freemat" \ + icon="/usr/share/pixmaps/freemat/freemat.xpm" --- freemat-3.6+dfsg.orig/debian/README.source +++ freemat-3.6+dfsg/debian/README.source @@ -0,0 +1,17 @@ +freemat +------- + +The source was downloaded from http://freemat.sourceforge.net/download.html +and repackaged: + +wget http://switch.dl.sourceforge.net/sourceforge/freemat/FreeMat-3.6.tar.gz +tar -xzf FreeMat-3.6.tar.gz +rm FreeMat-3.6/libs/libFN/*.f +mv FreeMat-3.6 freemat-3.6+dfsg.orig +GZIP=--best tar -czf freemat_3.6+dfsg.orig.tar.gz freemat-3.6+dfsg.orig + +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +See /usr/share/doc/quilt/README.source for a detailed explanation. --- freemat-3.6+dfsg.orig/debian/control +++ freemat-3.6+dfsg/debian/control @@ -0,0 +1,43 @@ +Source: freemat +Section: math +Priority: optional +Maintainer: Giuseppe Iuculano +Build-Depends: quilt (>= 0.40), debhelper (>= 7), autotools-dev, autoconf, automake, gfortran, libpcre3-dev, libncurses5-dev, libfftw3-dev, libqt4-dev, libqt4-opengl-dev, libsuitesparse-dev, zlib1g-dev, portaudio19-dev, libglu1-mesa-dev, libffcall1-dev, minpack-dev, pkg-config, libarpack2-dev [!alpha], texlive +Build-Conflicts: libqt3-dev +Standards-Version: 3.8.0 +Homepage: http://freemat.sourceforge.net +Vcs-Git: git://git.debian.org/git/users/derevko-guest/freemat.git +Vcs-Browser: http://git.debian.org/?p=users/derevko-guest/freemat.git +DM-Upload-Allowed: yes + +Package: freemat +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, freemat-data (= ${source:Version}) +Recommends: freemat-help +Description: mathematics framework (mostly matlab compatible) + FreeMat is a free environment for rapid engineering and scientific prototyping + and data processing. It is similar to commercial systems such as MATLAB from + Mathworks, and IDL from Research Systems, but is Open Source. + FreeMat is available under the GPL license. + +Package: freemat-data +Architecture: all +Recommends: freemat +Description: freemat data files + FreeMat is a free environment for rapid engineering and scientific prototyping + and data processing. It is similar to commercial systems such as MATLAB from + Mathworks, and IDL from Research Systems, but is Open Source. + FreeMat is available under the GPL license. + . + This package install freemat data files + +Package: freemat-help +Architecture: all +Recommends: freemat +Description: freemat help files + FreeMat is a free environment for rapid engineering and scientific prototyping + and data processing. It is similar to commercial systems such as MATLAB from + Mathworks, and IDL from Research Systems, but is Open Source. + FreeMat is available under the GPL license. + . + This package install freemat help files --- freemat-3.6+dfsg.orig/debian/copyright +++ freemat-3.6+dfsg/debian/copyright @@ -0,0 +1,113 @@ +This package was debianized by Giuseppe Iuculano on +Fri, 27 Jun 2008 17:10:28 +0200. + +It was downloaded from: + http://sourceforge.net/project/showfiles.php?group_id=91526 + +Upstream Author: Samit Basu + +Copyright: Copyright (C) 2008 Samit Basu + +License: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This package 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 General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + +The Debian packaging is © 2008, Giuseppe Iuculano and +is licensed under the GPL, see above. + +The source packages contains also: + +fftw_cycle.h: + Copyright (c) 2003, 2006 Matteo Frigo + Copyright (c) 2003, 2006 Massachusetts Institute of Technology + License MIT/X11 (BSD like) + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +RanLib.cpp: + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +IO.cpp, Sparse.cpp: + Copyright (c) 2002-2006 Samit Basu + Copyright (c) 2006 Thomas Beutlich + GPL, the GNU General Public License can be found in + `/usr/share/common-licenses/GPL'. + +Cstruct.cpp: + Copyright (c) 2007 GE Global Research + GPL, the GNU General Public License can be found in + `/usr/share/common-licenses/GPL'. + +squeeze.m: + Copyright 2004-2005, 2006 Brian Yanoff, Dirk Beque + GPL, the GNU General Public License can be found in + `/usr/share/common-licenses/GPL'. + +rref.m: + Copyright (C) 2000 Paul Kienzle + GPL, the GNU General Public License can be found in + `/usr/share/common-licenses/GPL'. + +dpmpar.f, enorm.f, fdjac2.f, lmdif1.f, lmdif.f, lmpar.f, qrfac.f, qrsolv.f have +been removed because of licence issues and because there is no good reason for +two packages to distribute identical source code. --- freemat-3.6+dfsg.orig/debian/freemat.1 +++ freemat-3.6+dfsg/debian/freemat.1 @@ -0,0 +1,55 @@ +.TH freemat 1 "June 28, 2007" +.SH NAME +freemat \- Mathematics Framework +.SH SYNOPSIS +.B freemat +.SH DESCRIPTION +This manual page documents briefly the +.B freemat +command. +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +\fBfreemat\fP is a free environment for rapid engineering and scientific prototyping +and data processing. It is similar to commercial systems such as MATLAB from +Mathworks, and IDL from Research Systems, but is Open Source. +freemat is available under the GPL license. + +.SH OPTIONS +.B freemat +follow the usual GNU command line syntax, with long +options starting with two dashes (`-'). +A summary of options is included below. +.TP +.B \-f +Runs freemat in command mode. freemat will startup, run the given command, and then quit. +Note that this option uses the remainder of the command line, so use it last. +.TP +.B \-nogui +Suppress the GUI for freemat. +.TP +.B \-noplastique +Do not force the plastique style for GUI. +.TP +.B \-noX +Disables the graphics subsystem. +.TP +.B \-e +uses a dumb terminal interface (no command line editing, etc.) +This flag is primarily used when you want to capture input/output to freemat from another application. +.TP +.B \-i +Install freemat - provide the path to the freemat data directory (containing the scripts, help and other files.). +Normally these are installed in /usr/share/freemat but regardless, you must run freemat \-i once +to indicate the location of this directory. Note that in this mode, freemat will only update its internal +configuration and then exit. +.TP +.B \-p +.TP +.B \-help +Show summary of options. +.SH AUTHOR +freemat was written by Samit Basu +.PP +This manual page was written by Giuseppe Iuculano , +for the Debian project (but may be used by others). --- freemat-3.6+dfsg.orig/debian/freemat.dirs +++ freemat-3.6+dfsg/debian/freemat.dirs @@ -0,0 +1 @@ +usr/share/pixmaps/freemat --- freemat-3.6+dfsg.orig/debian/rules +++ freemat-3.6+dfsg/debian/rules @@ -0,0 +1,100 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) +CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) +else +CROSS= --build $(DEB_BUILD_GNU_TYPE) +endif + +include /usr/share/quilt/quilt.make + +config.status: $(QUILT_STAMPFN) configure.in + dh_testdir + cp -f /usr/share/misc/config.sub config.sub + cp -f /usr/share/misc/config.guess config.guess + LIBS="-lminpack $(LIBS)" ./configure $(CROSS) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="-Wl,-z,defs -lGLU" + + +build: build-stamp + +build-stamp: config.status + dh_testdir + $(MAKE) + cd help/latex && pdflatex main.tex && pdflatex main.tex + touch $@ + +clean: unpatch + dh_testdir + dh_testroot + rm -f build-stamp + [ ! -f Makefile ] || $(MAKE) distclean + rm -f config.sub config.guess config.log + dh_clean + +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + #manually copy the xpm file + cp -f images/freemat-2.xpm debian/freemat/usr/share/pixmaps/freemat/freemat.xpm + + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir -i + dh_testroot -i + dh_installchangelogs -i ChangeLog + dh_installdocs -i + dh_installexamples -i + dh_install -pfreemat-data debian/tmp/usr/share/freemat/toolbox usr/share/freemat + dh_install -pfreemat-help debian/tmp/usr/share/freemat/help usr/share/freemat + # Add the lintian override file + cp debian/freemat-data.lintian-overrides debian/freemat-data/usr/share/lintian/overrides/freemat-data + dh_install -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir -s + dh_testroot -s + dh_installchangelogs -s ChangeLog + dh_installdocs -s + dh_installexamples -s + dh_installmenu -s + dh_install -s + mv debian/freemat/usr/bin/FreeMat debian/freemat/usr/bin/freemat + dh_installman -pfreemat debian/freemat.1 + dh_link -s + dh_desktop -s + dh_strip -s + dh_compress -s + dh_fixperms -s + dh_makeshlibs -s + dh_installdeb -s + dh_shlibdeps -s + dh_gencontrol -s + dh_md5sums -s + dh_builddeb -s + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- freemat-3.6+dfsg.orig/debian/freemat.install +++ freemat-3.6+dfsg/debian/freemat.install @@ -0,0 +1,3 @@ +debian/tmp/usr/bin +debian/freemat.desktop /usr/share/applications/ +debian/FreeMat.conf /etc/xdg/FreeMat/ --- freemat-3.6+dfsg.orig/debian/watch +++ freemat-3.6+dfsg/debian/watch @@ -0,0 +1,4 @@ +version=3 + +opts="filenamemangle=s/FreeMat/freemat/,dversionmangle=s/.dfsg//" \ +http://sf.net/freemat/FreeMat-(.*)\.tar\.gz --- freemat-3.6+dfsg.orig/debian/compat +++ freemat-3.6+dfsg/debian/compat @@ -0,0 +1 @@ +7 --- freemat-3.6+dfsg.orig/debian/freemat-help.doc-base +++ freemat-3.6+dfsg/debian/freemat-help.doc-base @@ -0,0 +1,17 @@ +Document: freemat +Title: freemat Documentation +Author: Samit Basu +Abstract: FreeMat is a free environment for rapid + engineering and scientific prototyping + and data processing. +Section: Science/Mathematics + +Format: text +Files: /usr/share/freemat/help/text/*.mdc + +Format: HTML +Index: /usr/share/freemat/help/html/index.html +Files: /usr/share/freemat/help/html/*.html + +Format: PDF +Files: /usr/share/freemat/help/latex/*.pdf --- freemat-3.6+dfsg.orig/debian/patches/11_svn_fixes.patch +++ freemat-3.6+dfsg/debian/patches/11_svn_fixes.patch @@ -0,0 +1,151 @@ +Backport some fixes from svn: + + Fixed zooming in figures with axis image attribute set. + + [f4dbd34] Don't change axis directions. + + [479845b] removed trailing spaces when copy and paste from Command + Window +--- a/libs/libGraphics/HandleWindow.cpp ++++ b/libs/libGraphics/HandleWindow.cpp +@@ -560,17 +560,36 @@ void HandleWindow::mouseReleaseEvent(QMo + HandleAxis *h = GetContainingAxis(hfig,remapX(rect.x()),remapY(rect.y())); + if (h) { + QVector position(h->GetPropertyVectorAsPixels("position")); +- double xminfrac = (remapX(rect.x()) - position[0])/position[2]; +- double xmaxfrac = (remapX(rect.x()+rect.width()) - position[0])/position[2]; +- double yminfrac = (remapY(rect.y()+rect.height()) - position[1])/position[3]; +- double ymaxfrac = (remapY(rect.y()) - position[1])/position[3]; +-// qDebug() << "xrange " << xminfrac << "," << xmaxfrac; +-// qDebug() << "yrange " << yminfrac << "," << ymaxfrac; ++ QVector pba(h->VectorPropertyLookup("plotboxaspectratio")); ++ QVector dar(h->VectorPropertyLookup("dataaspectratio")); ++ double x = position[0], y = position[1]; ++ double width = position[2], height = position[3]; ++ double xyratio = 1; ++ if( h->IsAuto("plotboxaspectratiomode") ) ++ xyratio *= pba[0]/pba[1]; ++ if( h->IsAuto("dataaspectratiomode") ) ++ xyratio *= dar[0]/dar[1]; ++ if( h->IsAuto("plotboxaspectratiomode") || h->IsAuto("dataaspectratiomode") ){ ++ if( width > height*xyratio ){ ++ width = height*xyratio; ++ x += (position[2]-width)/2; ++ } ++ else{ ++ height = width / xyratio; ++ y += (position[3]-height)/2; ++ } ++ } ++ double xminfrac = (remapX(rect.x()) - x)/width; ++ double xmaxfrac = (remapX(rect.x()+rect.width()) - x)/width; ++ double yminfrac = (remapY(rect.y()+rect.height()) - y)/height; ++ double ymaxfrac = (remapY(rect.y()) - y)/height; ++/* dbout << "xrange " << xminfrac << "," << xmaxfrac; ++ dbout << "yrange " << yminfrac << "," << ymaxfrac;*/ + xminfrac = qMax(0.,qMin(1.,xminfrac)); + xmaxfrac = qMax(0.,qMin(1.,xmaxfrac)); + yminfrac = qMax(0.,qMin(1.,yminfrac)); + ymaxfrac = qMax(0.,qMin(1.,ymaxfrac)); +- if (h->StringCheck("ydir","reverse")) { ++/* if (h->StringCheck("ydir","reverse")) { + double y1 = 1-yminfrac; + double y2 = 1-ymaxfrac; + yminfrac = y2; +@@ -581,7 +600,7 @@ void HandleWindow::mouseReleaseEvent(QMo + double x2 = 1-xmaxfrac; + xminfrac = x2; + xmaxfrac = x1; +- } ++ }*/ + HPTwoVector *hp = (HPTwoVector*) h->LookupProperty("xlim"); + double range = (hp->Data()[1] - hp->Data()[0]); + double mean = (hp->Data()[1] + hp->Data()[0])/2; +--- a/libs/libXP/Editor.cpp ++++ b/libs/libXP/Editor.cpp +@@ -847,7 +847,7 @@ void FMEditor::createActions() { + } + + void FMEditor::execSelected() { +- emit EvaluateText(currentEditor()->textCursor().selectedText()+"\n"); ++ emit EvaluateText(currentEditor()->textCursor().selectedText()); + } + + void FMEditor::execCurrent() { +--- a/libs/libXP/QTTerm.cpp ++++ b/libs/libXP/QTTerm.cpp +@@ -92,18 +92,19 @@ void QTTerm::focusInEvent(QFocusEvent *e + + void QTTerm::setChar(char t, bool flush) { + if (t == '\r') { +- MoveBOL(); +- return; +- } +- if (t == '\n') { +- nextLine(); ++// MoveBOL(); + return; + } + blinkEnable = false; + buffer[cursor_y].data[cursor_x].clearCursor(); + buffer[cursor_y].data[cursor_x++].v = t; + buffer[cursor_y].data[cursor_x].setCursor(); +- if (cursor_x >= m_term_width) { ++ if (t == '\n') { ++ nextLine(); ++ return; ++ } ++ ++ if (cursor_x >= m_term_width) { + nextLine(); + } else { + if (flush) { +@@ -255,8 +256,7 @@ void QTTerm::mousePressEvent( QMouseEven + else if (e->buttons() == Qt::LeftButton) { + int clickcol = e->x()/m_char_w; + int clickrow = e->y()/m_char_h; +- selectionStart = verticalScrollBar()->value()*m_term_width + clickcol + clickrow*m_term_width; +- selectionStart = qMax(0,selectionStart); ++ selectionStart = qMax(0,verticalScrollBar()->value()*m_term_width + clickcol + clickrow*m_term_width); + selectionStop = selectionStart; + } + } +@@ -283,8 +283,7 @@ void QTTerm::mouseMoveEvent( QMouseEvent + // to a row and column + int clickcol = x/m_char_w; + int clickrow = y/m_char_h; +- selectionStop = verticalScrollBar()->value()*m_term_width + clickcol + clickrow*m_term_width; +- selectionStop = qMax(0,selectionStop); ++ selectionStop = qMax(0,verticalScrollBar()->value()*m_term_width + clickcol + clickrow*m_term_width); + + clearSelection(); + +@@ -302,18 +301,28 @@ void QTTerm::mouseMoveEvent( QMouseEvent + sel_row_stop = qMin(sel_row_stop,buffer.size()-1); + + if (sel_row_stop == sel_row_start) { +- for (int j=sel_col_start;jupdate(); + } --- freemat-3.6+dfsg.orig/debian/patches/04_fix_path_dir.patch +++ freemat-3.6+dfsg/debian/patches/04_fix_path_dir.patch @@ -0,0 +1,45 @@ +Author: Giuseppe Iuculano +Description: Install in usr/share/freemat +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + SUBDIRS = libs src images tools + +-resourcedir = $(datadir)/$(PACKAGE)-$(VERSION) ++resourcedir = $(datadir)/freemat + + EXTRA_DIST = help toolbox + +--- a/Makefile.in ++++ b/Makefile.in +@@ -205,7 +205,7 @@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + SUBDIRS = libs src images tools +-resourcedir = $(datadir)/$(PACKAGE)-$(VERSION) ++resourcedir = $(datadir)/freemat + EXTRA_DIST = help toolbox + nobase_resource_DATA = help/html/acos_eqn1.png help/html/acos_eqn2.png \ + help/html/acosh_eqn1.png help/html/acoshplot.png \ +--- a/libs/libCore/Makefile.am ++++ b/libs/libCore/Makefile.am +@@ -46,7 +46,7 @@ + + CLEANFILES = $(libCore_a_MOC) + +-resourcedir=$(datadir)/$(PACKAGE)-$(VERSION) ++resourcedir=$(datadir)/freemat + + AM_CPPFLAGS = $(QT_CFLAGS) -DRESOURCEDIR=\"$(resourcedir)\" + +--- a/libs/libCore/Makefile.in ++++ b/libs/libCore/Makefile.in +@@ -241,7 +241,7 @@ + nodist_libCore_a_SOURCES = $(libCore_a_MOC) + AUTOMAKE_OPTIONS = foreign + CLEANFILES = $(libCore_a_MOC) +-resourcedir = $(datadir)/$(PACKAGE)-$(VERSION) ++resourcedir = $(datadir)/freemat + AM_CPPFLAGS = $(QT_CFLAGS) -DRESOURCEDIR=\"$(resourcedir)\" + all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am --- freemat-3.6+dfsg.orig/debian/patches/01_gcc_includes.patch +++ freemat-3.6+dfsg/debian/patches/01_gcc_includes.patch @@ -0,0 +1,474 @@ +Author: Giuseppe Iuculano +Description: Includes and gcc-4.3 fixes, taken from http://sourceforge.net/tracker/index.php?func=detail&aid=1968128&group_id=91526&atid=597448 +--- a/libs/libCore/Constructors.cpp ++++ b/libs/libCore/Constructors.cpp +@@ -21,10 +21,10 @@ + #include "Math.hpp" + #include "Exception.hpp" + #include +-#include ++#include + #include "Core.hpp" + #include "Malloc.hpp" +-#include ++#include + + + //! +--- a/libs/libCore/Directory.cpp ++++ b/libs/libCore/Directory.cpp +@@ -20,7 +20,7 @@ + #include "Array.hpp" + #include "Interpreter.hpp" + #include "Utils.hpp" +-#include ++#include + #include "System.hpp" + #include + +--- a/libs/libCore/IO.cpp ++++ b/libs/libCore/IO.cpp +@@ -19,8 +19,8 @@ + */ + + #include "Array.hpp" +-#include +-#include ++#include ++#include + #include + #include "Malloc.hpp" + #include "HandleList.hpp" +--- a/libs/libCore/RanLib.cpp ++++ b/libs/libCore/RanLib.cpp +@@ -18,11 +18,9 @@ + */ + + #include "Exception.hpp" +-#include +-#include +-#include ++#include ++#include + #include +-#include + #include "RanLib.hpp" + + /* +@@ -68,7 +66,6 @@ + email: matumoto@math.keio.ac.jp + */ + +-#include + + /* Period parameters */ + #define N 624 +--- a/libs/libCore/Random.cpp ++++ b/libs/libCore/Random.cpp +@@ -21,7 +21,7 @@ + #include "Exception.hpp" + #include "Malloc.hpp" + #include +-#include ++#include + #include "RanLib.hpp" + + static bool initialized = false; +--- a/libs/libFreeMat/Array.cpp ++++ b/libs/libFreeMat/Array.cpp +@@ -24,8 +24,8 @@ + #include "IEEEFP.hpp" + #include "Interpreter.hpp" + #include "Sparse.hpp" +-#include +-#include ++#include ++#include + #include + + #include "FunctionDef.hpp" +--- a/libs/libFreeMat/Context.hpp ++++ b/libs/libFreeMat/Context.hpp +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include ++#include + + /** + * This class represents a reference to an array in a scope +--- a/libs/libFreeMat/Dimensions.cpp ++++ b/libs/libFreeMat/Dimensions.cpp +@@ -19,9 +19,9 @@ + + #include "Dimensions.hpp" + #include "Exception.hpp" +-#include ++#include + #include +-#include ++#include + #include "Malloc.hpp" + #include "Interpreter.hpp" + +--- a/libs/libFreeMat/EigenDecompose.cpp ++++ b/libs/libFreeMat/EigenDecompose.cpp +@@ -19,8 +19,8 @@ + + #include "EigenDecompose.hpp" + #include "LAPACK.hpp" +-#include +-#include ++#include ++#include + #include "Malloc.hpp" + + #define MAX(a,b) ((a) > (b) ? (a) : (b)) +--- a/libs/libFreeMat/Exception.cpp ++++ b/libs/libFreeMat/Exception.cpp +@@ -17,9 +17,9 @@ + * + */ + +-#include +-#include +-#include ++#include ++#include ++#include + #include + #include "Exception.hpp" + #include "Malloc.hpp" +--- a/libs/libFreeMat/File.hpp ++++ b/libs/libFreeMat/File.hpp +@@ -19,7 +19,7 @@ + + #ifndef __File_hpp__ + #define __File_hpp__ +-#include ++#include + #include "Stream.hpp" + #include + +--- a/libs/libFreeMat/FunctionDef.cpp ++++ b/libs/libFreeMat/FunctionDef.cpp +@@ -22,7 +22,7 @@ + #include "Parser.hpp" + #include "Exception.hpp" + #include +-#include ++#include + #include "SymbolTable.hpp" + #include "Types.hpp" + #include "MexInterface.hpp" +--- a/libs/libFreeMat/Interpreter.cpp ++++ b/libs/libFreeMat/Interpreter.cpp +@@ -18,8 +18,8 @@ + */ + + #include "Interpreter.hpp" +-#include +-#include ++#include ++#include + #include "Exception.hpp" + #include "Math.hpp" + #include "Array.hpp" +@@ -30,7 +30,7 @@ + #include "Module.hpp" + #include "File.hpp" + #include "Serialize.hpp" +-#include ++#include + #include "Class.hpp" + #include "Print.hpp" + #include "MemPtr.hpp" +@@ -38,7 +38,7 @@ + #include + #include + #include +-#include ++#include + #include "JIT.hpp" + #include "JITFunc.hpp" + +--- a/libs/libFreeMat/LAPACK.hpp ++++ b/libs/libFreeMat/LAPACK.hpp +@@ -20,7 +20,7 @@ + #ifndef __FMLAPACK_hpp__ + #define __FMLAPACK_hpp__ + +-#include ++#include + + // Lapack routines used are declared here + extern "C" { +--- a/libs/libFreeMat/LeastSquaresSolver.cpp ++++ b/libs/libFreeMat/LeastSquaresSolver.cpp +@@ -19,8 +19,8 @@ + + #include "LeastSquaresSolver.hpp" + #include "LAPACK.hpp" +-#include +-#include ++#include ++#include + #include "Malloc.hpp" + + #define MSGBUFLEN 2048 +--- a/libs/libFreeMat/LinearEqSolver.cpp ++++ b/libs/libFreeMat/LinearEqSolver.cpp +@@ -19,8 +19,8 @@ + + #include "LinearEqSolver.hpp" + #include "LAPACK.hpp" +-#include +-#include ++#include ++#include + #include + #include "Malloc.hpp" + +--- a/libs/libFreeMat/Malloc.cpp ++++ b/libs/libFreeMat/Malloc.cpp +@@ -19,9 +19,9 @@ + + #include "Malloc.hpp" + #include "Exception.hpp" +-#include +-#include +- ++#include ++#include ++#include + + void* Malloc(int count) { + void* ptr; +--- a/libs/libFreeMat/Math.cpp ++++ b/libs/libFreeMat/Math.cpp +@@ -26,7 +26,7 @@ + #include "EigenDecompose.hpp" + #include "Malloc.hpp" + #include "Sparse.hpp" +-#include ++#include + + // Sparse ops: +, -, neg, * + +--- a/libs/libFreeMat/MatrixMultiply.cpp ++++ b/libs/libFreeMat/MatrixMultiply.cpp +@@ -18,9 +18,9 @@ + */ + + #include "MatrixMultiply.hpp" +-#include +-#include +-#include ++#include ++#include ++#include + + extern "C" { + void sgemm_ (char * ta, char* tb, int* m, int* n, int* k, float *alp, +--- a/libs/libFreeMat/Print.cpp ++++ b/libs/libFreeMat/Print.cpp +@@ -2,8 +2,8 @@ + #include "IEEEFP.hpp" + #include "FunctionDef.hpp" + #include "Interpreter.hpp" +-#include +-#include ++#include ++#include + + #define MSGBUFLEN 2048 + +--- a/libs/libFreeMat/Print.hpp ++++ b/libs/libFreeMat/Print.hpp +@@ -23,8 +23,8 @@ + #include + #include + #include +-#include +-#include ++#include ++#include + #include "Array.hpp" + + class Interpreter; +--- a/libs/libFreeMat/QRDecompose.cpp ++++ b/libs/libFreeMat/QRDecompose.cpp +@@ -19,8 +19,8 @@ + + #include "QRDecompose.hpp" + #include "LAPACK.hpp" +-#include +-#include ++#include ++#include + #include "Malloc.hpp" + + #define MIN(a,b) (((a) < (b)) ? (a) : (b)) +--- a/libs/libFreeMat/Scanner.cpp ++++ b/libs/libFreeMat/Scanner.cpp +@@ -1,8 +1,9 @@ + #include "Scanner.hpp" + #include +-#include +-#include +-#include ++#include ++#include ++#include ++#include + #include "Exception.hpp" + + extern string fm_reserved[]; +--- a/libs/libFreeMat/Scope.hpp ++++ b/libs/libFreeMat/Scope.hpp +@@ -24,6 +24,7 @@ + * A Scope is a combination of a variable hashtable and a function hashtable. + */ + #include ++#include + #include + + #include "Array.hpp" +--- a/libs/libFreeMat/Serialize.cpp ++++ b/libs/libFreeMat/Serialize.cpp +@@ -20,7 +20,7 @@ + #include "Serialize.hpp" + #include "Exception.hpp" + #include "Malloc.hpp" +-#include ++#include + + #ifdef WIN32 + #include +--- a/libs/libFreeMat/SingularValueDecompose.cpp ++++ b/libs/libFreeMat/SingularValueDecompose.cpp +@@ -19,8 +19,8 @@ + + #include "SingularValueDecompose.hpp" + #include "LAPACK.hpp" +-#include +-#include ++#include ++#include + #include "Malloc.hpp" + + #define min(a,b) ((a) < (b) ? (a) : (b)) +--- a/libs/libFreeMat/Sparse.cpp ++++ b/libs/libFreeMat/Sparse.cpp +@@ -29,7 +29,7 @@ + #include "LAPACK.hpp" + #include "MemPtr.hpp" + #include "Math.hpp" +-#include ++#include + + // Routines that need to be Colon-compliant + // SetSparseNDimSubsets +--- a/libs/libFreeMat/Token.cpp ++++ b/libs/libFreeMat/Token.cpp +@@ -1,7 +1,8 @@ + #include "Token.hpp" + #include "Serialize.hpp" + #include +-#include ++#include ++#include + + // These must appear as sequential token numbers + string fm_reserved[22] = { +--- a/libs/libGraphics/HandleCommands.cpp ++++ b/libs/libGraphics/HandleCommands.cpp +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include ++#include + #include + #include "HandleLineSeries.hpp" + #include "HandleObject.hpp" +--- a/libs/libMex/mxArray.cpp ++++ b/libs/libMex/mxArray.cpp +@@ -17,8 +17,8 @@ + * + */ + #include "mex.h" +-#include +-#include ++#include ++#include + #include + #include + +--- a/libs/libXP/System.cpp ++++ b/libs/libXP/System.cpp +@@ -18,7 +18,7 @@ + */ + #include "System.hpp" + #include "Exception.hpp" +-#include ++#include + #include + #include + #ifdef Q_OS_WIN32 +--- a/src/DumbTerminal.cpp ++++ b/src/DumbTerminal.cpp +@@ -20,7 +20,7 @@ + #include "DumbTerminal.hpp" + #include + #include +-#include ++#include + #include + + DumbTerminal::DumbTerminal() { +--- a/src/MainApp.cpp ++++ b/src/MainApp.cpp +@@ -46,7 +46,7 @@ + #include + #include + #include +-#include ++#include + #include + + sig_t signal_suspend_default; +--- a/src/Terminal.cpp ++++ b/src/Terminal.cpp +@@ -19,11 +19,11 @@ + #include + #include "Serialize.hpp" + #include "Terminal.hpp" +-#include ++#include + #include +-#include +-#include +-#include ++#include ++#include ++#include + #ifdef Q_WS_X11 + #include + #include +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -20,9 +20,9 @@ + #include + #include + #include +-#include +-#include +-#include ++#include ++#include ++#include + #include "MainApp.hpp" + #include + #include "Exception.hpp" --- freemat-3.6+dfsg.orig/debian/patches/08_fix_editor_freeze.patch +++ freemat-3.6+dfsg/debian/patches/08_fix_editor_freeze.patch @@ -0,0 +1,147 @@ +Author: Giuseppe Iuculano +Description: Fix freeze on editor closing, thanks to Chuong Nguyen (LP: #295093) +--- a/libs/libXP/Editor.cpp ++++ b/libs/libXP/Editor.cpp +@@ -116,7 +116,7 @@ + + FMTextEdit::FMTextEdit() : QTextEdit() { + QSettings settings("FreeMat","FreeMat"); +- indentSize = settings.value("editor/tab_size",3).toInt(); ++ indentSize = settings.value("editor/tab_size",4).toInt(); + indentActive = settings.value("editor/indent_enable",true).toBool(); + setLineWrapMode(QTextEdit::NoWrap); + } +@@ -346,7 +346,7 @@ + + FMIndent::FMIndent() { + QSettings settings("FreeMat","FreeMat"); +- indentSize = settings.value("editor/tab_size",3).toInt(); ++ indentSize = settings.value("editor/tab_size",4).toInt(); + } + + FMIndent::~FMIndent() { +@@ -617,6 +617,20 @@ + new_font.fromString(font); + m_font = new_font; + } ++ else { ++ /* Set to the most common monospace font on Windows, Mac and Unix shown at ++ http://www.codestyle.org/css/font-family/sampler-Monospace.shtml */ ++ #ifdef Q_WS_WIN ++ QFont new_font("Courier New", 10, QFont::Normal); ++ #else ++ #ifdef Q_WS_MAC ++ QFont new_font("Monaco", 10, QFont::Normal); ++ #else ++ QFont new_font("DejaVu Sans Mono", 10, QFont::Normal); ++ #endif ++ #endif ++ m_font = new_font; ++ } + updateFont(); + isShowToolTip = settings.value("editor/isShowToolTip", true).toBool(); + dataTipConfigAct->setChecked(isShowToolTip); +@@ -626,6 +640,8 @@ + for (int i=0;icount();i++) { + QWidget *p = tab->widget(i); + FMEditPane *te = qobject_cast(p); ++ if (!te) ++ return; + te->setFont(m_font); + te->getEditor()->fontUpdate(); + } +@@ -643,12 +659,17 @@ + QString FMEditor::currentFilename() { + QWidget *p = tab->currentWidget(); + FMEditPane *te = qobject_cast(p); +- if (!te) { ++/* if (!te) { + addTab(); + p = tab->currentWidget(); + te = qobject_cast(p); + } + return te->getFileName(); ++*/ ++ if (!te) ++ return QString(); ++ else ++ return te->getFileName(); + } + + void FMEditor::setCurrentFilename(QString filename) { +@@ -702,20 +723,22 @@ + disconnect(cutAct,SIGNAL(triggered()),0,0); + disconnect(copyAct,SIGNAL(triggered()),0,0); + disconnect(pasteAct,SIGNAL(triggered()),0,0); +- connect(cutAct,SIGNAL(triggered()),currentEditor(),SLOT(cut())); +- connect(copyAct,SIGNAL(triggered()),currentEditor(),SLOT(copy())); +- connect(pasteAct,SIGNAL(triggered()),currentEditor(),SLOT(paste())); + // Disconnect each of the contents changed signals + if (prevEdit) { + disconnect(prevEdit->document(),SIGNAL(contentsChanged()),0,0); + disconnect(prevEdit,SIGNAL(showDataTips(QPoint, QString)),0,0); + } + // NEED TO DISCONNECT... +- connect(currentEditor()->document(),SIGNAL(contentsChanged()),this,SLOT(documentWasModified())); +- connect(currentEditor(),SIGNAL(showDataTips(QPoint, QString)), ++ if (tab->count()>0) { ++ connect(cutAct,SIGNAL(triggered()),currentEditor(),SLOT(cut())); ++ connect(copyAct,SIGNAL(triggered()),currentEditor(),SLOT(copy())); ++ connect(pasteAct,SIGNAL(triggered()),currentEditor(),SLOT(paste())); ++ connect(currentEditor()->document(),SIGNAL(contentsChanged()),this,SLOT(documentWasModified())); ++ connect(currentEditor(),SIGNAL(showDataTips(QPoint, QString)), + this,SLOT(showDataTips(QPoint, QString))); +- updateTitles(); +- prevEdit = currentEditor(); ++ updateTitles(); ++ prevEdit = currentEditor(); ++ } + } + + void FMEditor::documentWasModified() { +@@ -833,7 +856,7 @@ + else { + if (!maybeSave()) + return; +- emit EvaluateText("source " + currentFilename() + "\n"); ++ emit EvaluateText("source '" + currentFilename() + "'\n"); + } + } + +@@ -1356,7 +1379,12 @@ + } + + bool FMEditor::maybeSave() { +- if (currentEditor()->document()->isModified()) { ++ QWidget *p = tab->currentWidget(); ++ FMEditPane *te = qobject_cast(p); ++ if (!te) { /* empty tab, no need to save */ ++ return true; ++ } ++ else if (te->getEditor()->document()->isModified()) { + int ret = QMessageBox::warning(this, tr("FreeMat"), + "The document " + shownName() + " has been modified.\n" + "Do you want to save your changes?", +--- a/src/application.cpp ++++ b/src/application.cpp +@@ -414,6 +414,20 @@ + new_font.fromString(font); + m_term->setFont(new_font); + } ++ else { ++ /* Set to the most common monospace font on Windows, Mac and Unix shown at ++ http://www.codestyle.org/css/font-family/sampler-Monospace.shtml */ ++ #ifdef Q_WS_WIN ++ QFont new_font("Courier New", 10, QFont::Normal); ++ #else ++ #ifdef Q_WS_MAC ++ QFont new_font("Monaco", 10, QFont::Normal); ++ #else ++ QFont new_font("DejaVu Sans Mono", 10, QFont::Normal); ++ #endif ++ #endif ++ m_term->setFont(new_font); ++ } + } + + void ApplicationWindow::dirButtonClicked() { --- freemat-3.6+dfsg.orig/debian/patches/series +++ freemat-3.6+dfsg/debian/patches/series @@ -0,0 +1,12 @@ +01_gcc_includes.patch +02_fix_umfpack_search.patch +03_remove_libfn.patch +04_fix_path_dir.patch +05_nostrip.patch +06_fix_ftbfs_on_alpha.patch +07_fix_FTBFS_with_GCC_4.4.patch +08_fix_editor_freeze.patch +09_warning.patch +10_pdf.patch +11_svn_fixes.patch +99_fix_configure.patch --- freemat-3.6+dfsg.orig/debian/patches/06_fix_ftbfs_on_alpha.patch +++ freemat-3.6+dfsg/debian/patches/06_fix_ftbfs_on_alpha.patch @@ -0,0 +1,22 @@ +Author: Giuseppe Iuculano +Description: Attempt to fix FTBFS on alpha +--- a/libs/libFreeMat/Print.cpp ++++ b/libs/libFreeMat/Print.cpp +@@ -180,13 +180,13 @@ + } + if (!finiteElementFound) return; + if (max_amplitude >= 100) +- format.scalefact = pow(10.0,floor(log10(max_amplitude))); ++ format.scalefact = pow(double(10.0),double(floor(log10(max_amplitude)))); + else if (max_amplitude <= -100) +- format.scalefact = pow(10.0,floor(log10(-max_amplitude))); ++ format.scalefact = pow(double(10.0),double(floor(log10(-max_amplitude)))); + else if ((max_amplitude <= .1) && (max_amplitude>0)) +- format.scalefact = pow(10.0,floor(log10(max_amplitude))); ++ format.scalefact = pow(double(10.0),double(floor(log10(max_amplitude)))); + else if ((max_amplitude >= -.1) && (max_amplitude<0)) +- format.scalefact = pow(10.0,floor(log10(-max_amplitude))); ++ format.scalefact = pow(double(10.0),double(floor(log10(-max_amplitude)))); + else + format.scalefact = 1.0; + } --- freemat-3.6+dfsg.orig/debian/patches/10_pdf.patch +++ freemat-3.6+dfsg/debian/patches/10_pdf.patch @@ -0,0 +1,9 @@ +escape _ +--- a/help/latex/binary_bitcmp_cpp.tex ++++ b/help/latex/binary_bitcmp_cpp.tex +@@ -1,4 +1,4 @@ +-\section{BITCMP_CPP Bitwise Boolean Complement Operation} ++\section{BITCMP\_CPP Bitwise Boolean Complement Operation} + + \subsection{Usage} + --- freemat-3.6+dfsg.orig/debian/patches/05_nostrip.patch +++ freemat-3.6+dfsg/debian/patches/05_nostrip.patch @@ -0,0 +1,23 @@ +Author: Giuseppe Iuculano +Description: no strip binaries +--- a/Makefile.in ++++ b/Makefile.in +@@ -2060,8 +2060,7 @@ + + uninstall-am: uninstall-nobase_resourceDATA + +-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ +- install-strip ++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am + + .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ +@@ -2073,7 +2072,7 @@ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nobase_resourceDATA install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ ++ install-ps install-ps-am installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ --- freemat-3.6+dfsg.orig/debian/patches/02_fix_umfpack_search.patch +++ freemat-3.6+dfsg/debian/patches/02_fix_umfpack_search.patch @@ -0,0 +1,42 @@ +Author: Giuseppe Iuculano +Description: fix umfpack search. +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -372,10 +372,10 @@ + fi + fi + if test x"$found_amdh" == xno; then +- AC_CHECK_HEADER(ufsparse/amd.h,found_amdh="yes",found_amdh="no") ++ AC_CHECK_HEADER(suitesparse/amd.h,found_amdh="yes",found_amdh="no") + if test x"$found_amdh" == xyes; then +- CFLAGS="$CFLAGS -I/usr/include/ufsparse" +- CXXFLAGS="$CXXFLAGS -I/usr/include/ufsparse" ++ CFLAGS="$CFLAGS -I/usr/include/suitesparse" ++ CXXFLAGS="$CXXFLAGS -I/usr/include/suitesparse" + fi + fi + +@@ -386,17 +386,17 @@ + AC_CHECK_LIB(umfpack,umfpack_zl_solve,found_umfpack="yes",found_umfpack="no") + AC_CHECK_HEADER(umfpack.h,found_umfpackh="yes",found_umfpackh="no") + if test x"$found_umfpackh" == xno; then +- AC_CHECK_HEADER(umfpack/umfpack.h,found_umfpackh="yes",found_umfpackh="no") ++ AC_CHECK_HEADER(suitesparse/umfpack.h,found_umfpackh="yes",found_umfpackh="no") + if test x"$found_umfpackh" == xyes; then +- CFLAGS="$CFLAGS -I/usr/include/umfpack" +- CXXFLAGS="$CXXFLAGS -I/usr/include/umfpack" ++ CFLAGS="$CFLAGS -I/usr/include/suitesparse" ++ CXXFLAGS="$CXXFLAGS -I/usr/include/suitesparse" + fi + fi + if test x"$found_umfpackh" == xno; then +- AC_CHECK_HEADER(ufsparse/umfpack.h,found_umfpackh="yes",found_umfpackh="no") ++ AC_CHECK_HEADER(suitesparse/umfpack.h,found_umfpackh="yes",found_umfpackh="no") + if test x"$found_umfpackh" == xyes; then +- CFLAGS="$CFLAGS -I/usr/include/ufsparse" +- CXXFLAGS="$CXXFLAGS -I/usr/include/ufsparse" ++ CFLAGS="$CFLAGS -I/usr/include/suitesparse" ++ CXXFLAGS="$CXXFLAGS -I/usr/include/suitesparse" + fi + fi + if (test x"$found_umfpackh" == xyes) && (test x"$found_umfpack" == xyes); then --- freemat-3.6+dfsg.orig/debian/patches/99_fix_configure.patch +++ freemat-3.6+dfsg/debian/patches/99_fix_configure.patch @@ -0,0 +1,508 @@ +Author: Giuseppe Iuculano +Description: patching configure and aclocal.m4 for fixing patch reverting in debian/rules clean +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -1,7 +1,7 @@ +-# generated automatically by aclocal 1.10 -*- Autoconf -*- ++# generated automatically by aclocal 1.10.1 -*- Autoconf -*- + + # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +-# 2005, 2006 Free Software Foundation, Inc. ++# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -11,12 +11,15 @@ + # even the implied warranty of MERCHANTABILITY or FITNESS FOR A + # PARTICULAR PURPOSE. + +-m4_if(m4_PACKAGE_VERSION, [2.61],, +-[m4_fatal([this file was generated for autoconf 2.61. +-You have another version of autoconf. If you want to use that, +-you should regenerate the build system entirely.], [63])]) ++m4_ifndef([AC_AUTOCONF_VERSION], ++ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl ++m4_if(AC_AUTOCONF_VERSION, [2.61],, ++[m4_warning([this file was generated for autoconf 2.61. ++You have another version of autoconf. It may work, but is not guaranteed to. ++If you have problems, you may need to regenerate the build system entirely. ++To do so, use the procedure documented by the package, typically `autoreconf'.])]) + +-# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. ++# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -31,7 +34,7 @@ + [am__api_version='1.10' + dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to + dnl require some minimum version. Point them to the right macro. +-m4_if([$1], [1.10], [], ++m4_if([$1], [1.10.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl + ]) + +@@ -47,8 +50,10 @@ + # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. + # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +-[AM_AUTOMAKE_VERSION([1.10])dnl +-_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) ++[AM_AUTOMAKE_VERSION([1.10.1])dnl ++m4_ifndef([AC_AUTOCONF_VERSION], ++ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl ++_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) + + # AM_AUX_DIR_EXPAND -*- Autoconf -*- + +@@ -320,7 +325,7 @@ + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then ++ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue +@@ -368,13 +373,13 @@ + # Do all the work for Automake. -*- Autoconf -*- + + # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +-# 2005, 2006 Free Software Foundation, Inc. ++# 2005, 2006, 2008 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. + +-# serial 12 ++# serial 13 + + # This macro actually does too much. Some checks are only needed if + # your package does certain things. But this isn't really a big deal. +@@ -479,16 +484,17 @@ + # our stamp files there. + AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], + [# Compute $1's index in $config_headers. ++_am_arg=$1 + _am_stamp_count=1 + for _am_header in $config_headers :; do + case $_am_header in +- $1 | $1:* ) ++ $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac + done +-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) ++echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + + # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. + # +@@ -760,7 +766,7 @@ + + # _AM_SUBST_NOTMAKE(VARIABLE) + # --------------------------- +-# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. ++# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. + # This macro is traced by Automake. + AC_DEFUN([_AM_SUBST_NOTMAKE]) + +--- a/configure ++++ b/configure +@@ -11069,18 +11069,18 @@ + fi + fi + if test x"$found_amdh" == xno; then +- if test "${ac_cv_header_ufsparse_amd_h+set}" = set; then +- { echo "$as_me:$LINENO: checking for ufsparse/amd.h" >&5 +-echo $ECHO_N "checking for ufsparse/amd.h... $ECHO_C" >&6; } +-if test "${ac_cv_header_ufsparse_amd_h+set}" = set; then ++ if test "${ac_cv_header_suitesparse_amd_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for suitesparse/amd.h" >&5 ++echo $ECHO_N "checking for suitesparse/amd.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_suitesparse_amd_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_header_ufsparse_amd_h" >&5 +-echo "${ECHO_T}$ac_cv_header_ufsparse_amd_h" >&6; } ++{ echo "$as_me:$LINENO: result: $ac_cv_header_suitesparse_amd_h" >&5 ++echo "${ECHO_T}$ac_cv_header_suitesparse_amd_h" >&6; } + else + # Is the header compilable? +-{ echo "$as_me:$LINENO: checking ufsparse/amd.h usability" >&5 +-echo $ECHO_N "checking ufsparse/amd.h usability... $ECHO_C" >&6; } ++{ echo "$as_me:$LINENO: checking suitesparse/amd.h usability" >&5 ++echo $ECHO_N "checking suitesparse/amd.h usability... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -11088,7 +11088,7 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + $ac_includes_default +-#include ++#include + _ACEOF + rm -f conftest.$ac_objext + if { (ac_try="$ac_compile" +@@ -11120,15 +11120,15 @@ + echo "${ECHO_T}$ac_header_compiler" >&6; } + + # Is the header present? +-{ echo "$as_me:$LINENO: checking ufsparse/amd.h presence" >&5 +-echo $ECHO_N "checking ufsparse/amd.h presence... $ECHO_C" >&6; } ++{ echo "$as_me:$LINENO: checking suitesparse/amd.h presence" >&5 ++echo $ECHO_N "checking suitesparse/amd.h presence... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-#include ++#include + _ACEOF + if { (ac_try="$ac_cpp conftest.$ac_ext" + case "(($ac_try" in +@@ -11161,40 +11161,40 @@ + # So? What about this header? + case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) +- { echo "$as_me:$LINENO: WARNING: ufsparse/amd.h: accepted by the compiler, rejected by the preprocessor!" >&5 +-echo "$as_me: WARNING: ufsparse/amd.h: accepted by the compiler, rejected by the preprocessor!" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/amd.h: proceeding with the compiler's result" >&5 +-echo "$as_me: WARNING: ufsparse/amd.h: proceeding with the compiler's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/amd.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: suitesparse/amd.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/amd.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: suitesparse/amd.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) +- { echo "$as_me:$LINENO: WARNING: ufsparse/amd.h: present but cannot be compiled" >&5 +-echo "$as_me: WARNING: ufsparse/amd.h: present but cannot be compiled" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/amd.h: check for missing prerequisite headers?" >&5 +-echo "$as_me: WARNING: ufsparse/amd.h: check for missing prerequisite headers?" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/amd.h: see the Autoconf documentation" >&5 +-echo "$as_me: WARNING: ufsparse/amd.h: see the Autoconf documentation" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/amd.h: section \"Present But Cannot Be Compiled\"" >&5 +-echo "$as_me: WARNING: ufsparse/amd.h: section \"Present But Cannot Be Compiled\"" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/amd.h: proceeding with the preprocessor's result" >&5 +-echo "$as_me: WARNING: ufsparse/amd.h: proceeding with the preprocessor's result" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/amd.h: in the future, the compiler will take precedence" >&5 +-echo "$as_me: WARNING: ufsparse/amd.h: in the future, the compiler will take precedence" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/amd.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: suitesparse/amd.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/amd.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: suitesparse/amd.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/amd.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: suitesparse/amd.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/amd.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: suitesparse/amd.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/amd.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: suitesparse/amd.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/amd.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: suitesparse/amd.h: in the future, the compiler will take precedence" >&2;} + + ;; + esac +-{ echo "$as_me:$LINENO: checking for ufsparse/amd.h" >&5 +-echo $ECHO_N "checking for ufsparse/amd.h... $ECHO_C" >&6; } +-if test "${ac_cv_header_ufsparse_amd_h+set}" = set; then ++{ echo "$as_me:$LINENO: checking for suitesparse/amd.h" >&5 ++echo $ECHO_N "checking for suitesparse/amd.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_suitesparse_amd_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_cv_header_ufsparse_amd_h=$ac_header_preproc ++ ac_cv_header_suitesparse_amd_h=$ac_header_preproc + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_header_ufsparse_amd_h" >&5 +-echo "${ECHO_T}$ac_cv_header_ufsparse_amd_h" >&6; } ++{ echo "$as_me:$LINENO: result: $ac_cv_header_suitesparse_amd_h" >&5 ++echo "${ECHO_T}$ac_cv_header_suitesparse_amd_h" >&6; } + + fi +-if test $ac_cv_header_ufsparse_amd_h = yes; then ++if test $ac_cv_header_suitesparse_amd_h = yes; then + found_amdh="yes" + else + found_amdh="no" +@@ -11202,8 +11202,8 @@ + + + if test x"$found_amdh" == xyes; then +- CFLAGS="$CFLAGS -I/usr/include/ufsparse" +- CXXFLAGS="$CXXFLAGS -I/usr/include/ufsparse" ++ CFLAGS="$CFLAGS -I/usr/include/suitesparse" ++ CXXFLAGS="$CXXFLAGS -I/usr/include/suitesparse" + fi + fi + +@@ -11419,18 +11419,18 @@ + + + if test x"$found_umfpackh" == xno; then +- if test "${ac_cv_header_umfpack_umfpack_h+set}" = set; then +- { echo "$as_me:$LINENO: checking for umfpack/umfpack.h" >&5 +-echo $ECHO_N "checking for umfpack/umfpack.h... $ECHO_C" >&6; } +-if test "${ac_cv_header_umfpack_umfpack_h+set}" = set; then ++ if test "${ac_cv_header_suitesparse_umfpack_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for suitesparse/umfpack.h" >&5 ++echo $ECHO_N "checking for suitesparse/umfpack.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_suitesparse_umfpack_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_umfpack_h" >&5 +-echo "${ECHO_T}$ac_cv_header_umfpack_umfpack_h" >&6; } ++{ echo "$as_me:$LINENO: result: $ac_cv_header_suitesparse_umfpack_h" >&5 ++echo "${ECHO_T}$ac_cv_header_suitesparse_umfpack_h" >&6; } + else + # Is the header compilable? +-{ echo "$as_me:$LINENO: checking umfpack/umfpack.h usability" >&5 +-echo $ECHO_N "checking umfpack/umfpack.h usability... $ECHO_C" >&6; } ++{ echo "$as_me:$LINENO: checking suitesparse/umfpack.h usability" >&5 ++echo $ECHO_N "checking suitesparse/umfpack.h usability... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -11438,7 +11438,7 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + $ac_includes_default +-#include ++#include + _ACEOF + rm -f conftest.$ac_objext + if { (ac_try="$ac_compile" +@@ -11470,15 +11470,15 @@ + echo "${ECHO_T}$ac_header_compiler" >&6; } + + # Is the header present? +-{ echo "$as_me:$LINENO: checking umfpack/umfpack.h presence" >&5 +-echo $ECHO_N "checking umfpack/umfpack.h presence... $ECHO_C" >&6; } ++{ echo "$as_me:$LINENO: checking suitesparse/umfpack.h presence" >&5 ++echo $ECHO_N "checking suitesparse/umfpack.h presence... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-#include ++#include + _ACEOF + if { (ac_try="$ac_cpp conftest.$ac_ext" + case "(($ac_try" in +@@ -11511,40 +11511,40 @@ + # So? What about this header? + case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) +- { echo "$as_me:$LINENO: WARNING: umfpack/umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +-echo "$as_me: WARNING: umfpack/umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} +- { echo "$as_me:$LINENO: WARNING: umfpack/umfpack.h: proceeding with the compiler's result" >&5 +-echo "$as_me: WARNING: umfpack/umfpack.h: proceeding with the compiler's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) +- { echo "$as_me:$LINENO: WARNING: umfpack/umfpack.h: present but cannot be compiled" >&5 +-echo "$as_me: WARNING: umfpack/umfpack.h: present but cannot be compiled" >&2;} +- { echo "$as_me:$LINENO: WARNING: umfpack/umfpack.h: check for missing prerequisite headers?" >&5 +-echo "$as_me: WARNING: umfpack/umfpack.h: check for missing prerequisite headers?" >&2;} +- { echo "$as_me:$LINENO: WARNING: umfpack/umfpack.h: see the Autoconf documentation" >&5 +-echo "$as_me: WARNING: umfpack/umfpack.h: see the Autoconf documentation" >&2;} +- { echo "$as_me:$LINENO: WARNING: umfpack/umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +-echo "$as_me: WARNING: umfpack/umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} +- { echo "$as_me:$LINENO: WARNING: umfpack/umfpack.h: proceeding with the preprocessor's result" >&5 +-echo "$as_me: WARNING: umfpack/umfpack.h: proceeding with the preprocessor's result" >&2;} +- { echo "$as_me:$LINENO: WARNING: umfpack/umfpack.h: in the future, the compiler will take precedence" >&5 +-echo "$as_me: WARNING: umfpack/umfpack.h: in the future, the compiler will take precedence" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: in the future, the compiler will take precedence" >&2;} + + ;; + esac +-{ echo "$as_me:$LINENO: checking for umfpack/umfpack.h" >&5 +-echo $ECHO_N "checking for umfpack/umfpack.h... $ECHO_C" >&6; } +-if test "${ac_cv_header_umfpack_umfpack_h+set}" = set; then ++{ echo "$as_me:$LINENO: checking for suitesparse/umfpack.h" >&5 ++echo $ECHO_N "checking for suitesparse/umfpack.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_suitesparse_umfpack_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_cv_header_umfpack_umfpack_h=$ac_header_preproc ++ ac_cv_header_suitesparse_umfpack_h=$ac_header_preproc + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_umfpack_h" >&5 +-echo "${ECHO_T}$ac_cv_header_umfpack_umfpack_h" >&6; } ++{ echo "$as_me:$LINENO: result: $ac_cv_header_suitesparse_umfpack_h" >&5 ++echo "${ECHO_T}$ac_cv_header_suitesparse_umfpack_h" >&6; } + + fi +-if test $ac_cv_header_umfpack_umfpack_h = yes; then ++if test $ac_cv_header_suitesparse_umfpack_h = yes; then + found_umfpackh="yes" + else + found_umfpackh="no" +@@ -11552,23 +11552,23 @@ + + + if test x"$found_umfpackh" == xyes; then +- CFLAGS="$CFLAGS -I/usr/include/umfpack" +- CXXFLAGS="$CXXFLAGS -I/usr/include/umfpack" ++ CFLAGS="$CFLAGS -I/usr/include/suitesparse" ++ CXXFLAGS="$CXXFLAGS -I/usr/include/suitesparse" + fi + fi + if test x"$found_umfpackh" == xno; then +- if test "${ac_cv_header_ufsparse_umfpack_h+set}" = set; then +- { echo "$as_me:$LINENO: checking for ufsparse/umfpack.h" >&5 +-echo $ECHO_N "checking for ufsparse/umfpack.h... $ECHO_C" >&6; } +-if test "${ac_cv_header_ufsparse_umfpack_h+set}" = set; then ++ if test "${ac_cv_header_suitesparse_umfpack_h+set}" = set; then ++ { echo "$as_me:$LINENO: checking for suitesparse/umfpack.h" >&5 ++echo $ECHO_N "checking for suitesparse/umfpack.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_suitesparse_umfpack_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_header_ufsparse_umfpack_h" >&5 +-echo "${ECHO_T}$ac_cv_header_ufsparse_umfpack_h" >&6; } ++{ echo "$as_me:$LINENO: result: $ac_cv_header_suitesparse_umfpack_h" >&5 ++echo "${ECHO_T}$ac_cv_header_suitesparse_umfpack_h" >&6; } + else + # Is the header compilable? +-{ echo "$as_me:$LINENO: checking ufsparse/umfpack.h usability" >&5 +-echo $ECHO_N "checking ufsparse/umfpack.h usability... $ECHO_C" >&6; } ++{ echo "$as_me:$LINENO: checking suitesparse/umfpack.h usability" >&5 ++echo $ECHO_N "checking suitesparse/umfpack.h usability... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -11576,7 +11576,7 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + $ac_includes_default +-#include ++#include + _ACEOF + rm -f conftest.$ac_objext + if { (ac_try="$ac_compile" +@@ -11608,15 +11608,15 @@ + echo "${ECHO_T}$ac_header_compiler" >&6; } + + # Is the header present? +-{ echo "$as_me:$LINENO: checking ufsparse/umfpack.h presence" >&5 +-echo $ECHO_N "checking ufsparse/umfpack.h presence... $ECHO_C" >&6; } ++{ echo "$as_me:$LINENO: checking suitesparse/umfpack.h presence" >&5 ++echo $ECHO_N "checking suitesparse/umfpack.h presence... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-#include ++#include + _ACEOF + if { (ac_try="$ac_cpp conftest.$ac_ext" + case "(($ac_try" in +@@ -11649,40 +11649,40 @@ + # So? What about this header? + case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) +- { echo "$as_me:$LINENO: WARNING: ufsparse/umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +-echo "$as_me: WARNING: ufsparse/umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/umfpack.h: proceeding with the compiler's result" >&5 +-echo "$as_me: WARNING: ufsparse/umfpack.h: proceeding with the compiler's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) +- { echo "$as_me:$LINENO: WARNING: ufsparse/umfpack.h: present but cannot be compiled" >&5 +-echo "$as_me: WARNING: ufsparse/umfpack.h: present but cannot be compiled" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/umfpack.h: check for missing prerequisite headers?" >&5 +-echo "$as_me: WARNING: ufsparse/umfpack.h: check for missing prerequisite headers?" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/umfpack.h: see the Autoconf documentation" >&5 +-echo "$as_me: WARNING: ufsparse/umfpack.h: see the Autoconf documentation" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +-echo "$as_me: WARNING: ufsparse/umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/umfpack.h: proceeding with the preprocessor's result" >&5 +-echo "$as_me: WARNING: ufsparse/umfpack.h: proceeding with the preprocessor's result" >&2;} +- { echo "$as_me:$LINENO: WARNING: ufsparse/umfpack.h: in the future, the compiler will take precedence" >&5 +-echo "$as_me: WARNING: ufsparse/umfpack.h: in the future, the compiler will take precedence" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: suitesparse/umfpack.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: suitesparse/umfpack.h: in the future, the compiler will take precedence" >&2;} + + ;; + esac +-{ echo "$as_me:$LINENO: checking for ufsparse/umfpack.h" >&5 +-echo $ECHO_N "checking for ufsparse/umfpack.h... $ECHO_C" >&6; } +-if test "${ac_cv_header_ufsparse_umfpack_h+set}" = set; then ++{ echo "$as_me:$LINENO: checking for suitesparse/umfpack.h" >&5 ++echo $ECHO_N "checking for suitesparse/umfpack.h... $ECHO_C" >&6; } ++if test "${ac_cv_header_suitesparse_umfpack_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_cv_header_ufsparse_umfpack_h=$ac_header_preproc ++ ac_cv_header_suitesparse_umfpack_h=$ac_header_preproc + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_header_ufsparse_umfpack_h" >&5 +-echo "${ECHO_T}$ac_cv_header_ufsparse_umfpack_h" >&6; } ++{ echo "$as_me:$LINENO: result: $ac_cv_header_suitesparse_umfpack_h" >&5 ++echo "${ECHO_T}$ac_cv_header_suitesparse_umfpack_h" >&6; } + + fi +-if test $ac_cv_header_ufsparse_umfpack_h = yes; then ++if test $ac_cv_header_suitesparse_umfpack_h = yes; then + found_umfpackh="yes" + else + found_umfpackh="no" +@@ -11690,8 +11690,8 @@ + + + if test x"$found_umfpackh" == xyes; then +- CFLAGS="$CFLAGS -I/usr/include/ufsparse" +- CXXFLAGS="$CXXFLAGS -I/usr/include/ufsparse" ++ CFLAGS="$CFLAGS -I/usr/include/suitesparse" ++ CXXFLAGS="$CXXFLAGS -I/usr/include/suitesparse" + fi + fi + if (test x"$found_umfpackh" == xyes) && (test x"$found_umfpack" == xyes); then +@@ -14207,7 +14207,7 @@ + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. +- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then ++ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || + $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ --- freemat-3.6+dfsg.orig/debian/patches/07_fix_FTBFS_with_GCC_4.4.patch +++ freemat-3.6+dfsg/debian/patches/07_fix_FTBFS_with_GCC_4.4.patch @@ -0,0 +1,12 @@ +Author: Giuseppe Iuculano +Description: Fix FTBFS with GCC 4.4: missing #include (Closes: #505135) +--- a/libs/libFreeMat/IEEEFP.cpp ++++ b/libs/libFreeMat/IEEEFP.cpp +@@ -17,6 +17,7 @@ + * + */ + #include "IEEEFP.hpp" ++#include + + static bool endianDetected = false; + static bool bigEndian = false; --- freemat-3.6+dfsg.orig/debian/patches/03_remove_libfn.patch +++ freemat-3.6+dfsg/debian/patches/03_remove_libfn.patch @@ -0,0 +1,54 @@ +Author: Giuseppe Iuculano +Description: Remove all *.f staff +--- a/libs/libFN/Makefile.am ++++ b/libs/libFN/Makefile.am +@@ -1,18 +1,11 @@ + noinst_LIBRARIES = libFN.a + +-INCLUDES = -I@top_srcdir@/libs/libFreeMat -I@top_srcdir@/libs/libMex -I@top_srcdir@/libs/libXP ++INCLUDES = -I@top_srcdir@/libs/libFreeMat -I@top_srcdir@/libs/libMex -I@top_srcdir@/libs/libXP + + libFN_a_HFILES = FN.hpp \ + LoadFN.hpp + +-libFN_a_SOURCES = dpmpar.f \ +-enorm.f \ +-fdjac2.f \ +-lmdif1.f \ +-lmdif.f \ +-lmpar.f \ +-qrfac.f \ +-qrsolv.f \ ++libFN_a_SOURCES = \ + FNFun.cpp \ + Interp1D.cpp \ + LoadFN.cpp \ +--- a/libs/libFN/Makefile.in ++++ b/libs/libFN/Makefile.in +@@ -48,9 +48,7 @@ + libFN_a_AR = $(AR) $(ARFLAGS) + libFN_a_LIBADD = + am__objects_1 = +-am_libFN_a_OBJECTS = dpmpar.$(OBJEXT) enorm.$(OBJEXT) fdjac2.$(OBJEXT) \ +- lmdif1.$(OBJEXT) lmdif.$(OBJEXT) lmpar.$(OBJEXT) \ +- qrfac.$(OBJEXT) qrsolv.$(OBJEXT) FNFun.$(OBJEXT) \ ++am_libFN_a_OBJECTS = FNFun.$(OBJEXT) \ + Interp1D.$(OBJEXT) LoadFN.$(OBJEXT) OptFun.$(OBJEXT) \ + $(am__objects_1) + libFN_a_OBJECTS = $(am_libFN_a_OBJECTS) +@@ -203,14 +201,7 @@ + libFN_a_HFILES = FN.hpp \ + LoadFN.hpp + +-libFN_a_SOURCES = dpmpar.f \ +-enorm.f \ +-fdjac2.f \ +-lmdif1.f \ +-lmdif.f \ +-lmpar.f \ +-qrfac.f \ +-qrsolv.f \ ++libFN_a_SOURCES = \ + FNFun.cpp \ + Interp1D.cpp \ + LoadFN.cpp \ --- freemat-3.6+dfsg.orig/debian/patches/09_warning.patch +++ freemat-3.6+dfsg/debian/patches/09_warning.patch @@ -0,0 +1,21 @@ +ask in the warning if freemat-help was installed +--- a/libs/libCore/helpwidget.cpp ++++ b/libs/libCore/helpwidget.cpp +@@ -108,7 +108,7 @@ HelpWidget::HelpWidget(QString url, Help + // Populate the list widget + QFile *file = new QFile(url + "/modules.txt"); + if (!file->open(QFile::ReadOnly | QIODevice::Text)) +- QMessageBox::warning(this,"Cannot Find Module List","The file modules.txt is missing from the directory "+url+" where I think help files should be. The Topic List widget will not function properly.",QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton); ++ QMessageBox::warning(this,"Cannot Find Module List","The file modules.txt is missing from the directory "+url+" where I think help files should be (Have you installed freemat-help package?). The Topic List widget will not function properly.",QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton); + else { + QTextStream t(file); + while (!t.atEnd()) { +@@ -137,7 +137,7 @@ HelpWidget::HelpWidget(QString url, Help + file = new QFile(url + "/sectable.txt"); + QRegExp reg("\\+\\s*\\((\\b\\w+\\b)\\)\\s*(\\b.*)"); + if (!file->open(QFile::ReadOnly | QIODevice::Text)) +- QMessageBox::warning(this,"Cannot Find Section Index","The file sectable.txt is missing from the directory "+url+" where I think help files should be. The Index widget will not function properly.",QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton); ++ QMessageBox::warning(this,"Cannot Find Section Index","The file sectable.txt is missing from the directory "+url+" where I think help files should be (Have you installed freemat-help package?). The Index widget will not function properly.",QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton); + else { + QTextStream t(file); + QTreeWidgetItem *prev = NULL;