[SCM] Packaging for getfem++ branch, master, updated. debian/4.1.1-10-7-g62ea42c

Anton Gladky gladky.anton at gmail.com
Sun Nov 18 06:51:21 UTC 2012


The following commit has been merged in the master branch:
commit 0b9acd3e9736ad575da4e01c89fd7d3f4b17030e
Author: Sylvestre Ledru <sylvestre.ledru at scilab-enterprises.com>
Date:   Sat Nov 17 22:43:21 2012 +0100

    Add a missing header for Scilab build.

diff --git a/debian/patches/series b/debian/patches/series
index 50598df..ffdc602 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@ addgetfempath.diff
 ld-no-add-needed.patch
 fix-gcc-4.7-ftbfs.patch
 fix-gcc-4.7-ftbfs_part2.patch
+stream_redirect.diff
diff --git a/debian/patches/stream_redirect.diff b/debian/patches/stream_redirect.diff
new file mode 100644
index 0000000..e753060
--- /dev/null
+++ b/debian/patches/stream_redirect.diff
@@ -0,0 +1,108 @@
+Index: getfem/interface/src/scilab/sci_gateway/c/stream_redirect.h
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ getfem/interface/src/scilab/sci_gateway/c/stream_redirect.h	2012-11-17 16:54:43.115859494 +0100
+@@ -0,0 +1,103 @@
++/* -*- c++ -*- (enables emacs c++ mode) */
++/*========================================================================
++
++ Copyright (C) 2009-2011 Yann Collette
++
++ This file is a part of GETFEM++
++
++ Getfem++ is free software; you can redistribute it and/or modify
++ it under the terms of the GNU Lesser General Public License as
++ published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
++ You should have received a copy of the GNU Lesser General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301,
++ USA.
++
++ As a special exception, you may use this file as part of a free software
++ library without restriction.  Specifically, if other files instantiate
++ templates or use macros or inline functions from this file, or you compile
++ this file and link it with other files to produce an executable, this
++ file does not by itself cause the resulting executable to be covered by
++ the GNU General Public License.  This exception does not however
++ invalidate any other reasons why the executable file might be covered by
++ the GNU General Public License.
++
++ ========================================================================*/
++
++#ifndef STREAM_REDIRECT_H
++#define STREAM_REDIRECT_H
++
++#include <sciprint.h>
++
++#include <iostream>
++#include <streambuf>
++#include <string>
++
++//////////////////////////
++// For cout redirection //
++//////////////////////////
++
++class ScilabStream : public std::basic_streambuf<char>
++{
++public:
++  ScilabStream(std::ostream &stream) : m_stream(stream)
++  {
++    m_old_buf = stream.rdbuf();
++    stream.rdbuf(this);
++  }
++  ~ScilabStream()
++  {
++    // output anything that is left
++    if (!m_string.empty())
++      sciprint("symphony: %s\n",m_string.c_str());
++
++    m_stream.rdbuf(m_old_buf);
++  }
++
++protected:
++  virtual int_type overflow(int_type v)
++  {
++    if (v == EOF)
++      {
++        sciprint("symphony: %s\n",m_string.c_str());
++        m_string.clear();
++      }
++    else
++      m_string.push_back(v);
++   
++    return v;
++  }
++ 
++  virtual std::streamsize xsputn(const char *p, std::streamsize n)
++  {
++    m_string.append(p, p + n);
++   
++    int pos = 0;
++    while (pos != std::string::npos)
++      {
++        pos = m_string.find(EOF);
++        if (pos != std::string::npos)
++          {
++            std::string tmp(m_string.begin(), m_string.begin() + pos);
++            sciprint("symphony: %s\n",tmp.c_str());
++            m_string.erase(m_string.begin(), m_string.begin() + pos + 1);
++          }
++      }
++   
++    return n;
++  }
++ 
++private:
++  std::ostream   &m_stream;
++  std::streambuf *m_old_buf;
++  std::string     m_string;
++};
++#endif
++
++

-- 
Packaging for getfem++



More information about the debian-science-commits mailing list