changeset 3912:52abc9be09fa

of-dataframe: add to mxe * src/of-dataframe.mk: new file * src/of-dataframe-1-fixes.patch: new file * dist-files.mk: add of-dataframe.mk of-dataframe--fixes.patch * index.html: add of-dataframe * Makefile.am: add of-dataframe * build_packages.m: add dataframe package
author John Donoghue <john.donoghue@ieee.org>
date Wed, 22 Apr 2015 19:15:12 -0400
parents 006263ce4905
children 0267d1a7cffa
files Makefile.in build_packages.m dist-files.mk index.html src/of-dataframe-1-fixes.patch src/of-dataframe.mk
diffstat 6 files changed, 159 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.in	Fri Apr 17 12:35:23 2015 -0400
+++ b/Makefile.in	Wed Apr 22 19:15:12 2015 -0400
@@ -419,7 +419,7 @@
 endif
 
 OCTAVE_FORGE_BASE_URL := 'http://sourceforge.net/projects/octave/files/Octave Forge Packages/Individual Package Releases'
-OCTAVE_FORGE_PACKAGES := $(addprefix of-,miscellaneous struct optim specfun general signal communications image io statistics control geometry windows odepkg linear-algebra sockets zenity actuarial data-smoothing fuzzy-logic-toolkit quaternion fits fl-core tsa dicom netcdf ltfat database instrument-control generate_html nurbs strings octcdf financial stk splines)
+OCTAVE_FORGE_PACKAGES := $(addprefix of-,miscellaneous struct optim specfun general signal communications image io statistics control geometry windows odepkg linear-algebra sockets zenity actuarial data-smoothing fuzzy-logic-toolkit quaternion fits fl-core tsa dicom netcdf ltfat database instrument-control generate_html nurbs strings octcdf financial stk splines dataframe)
 # get ALL deps for all of- packages, regardless of whethe building the actual forge package in the installer
 OCTAVE_FORGE_DEPS:= $(sort $(foreach p,$(wildcard $(TOP_DIR)/src/of-*.mk),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p)))
 
--- a/build_packages.m	Fri Apr 17 12:35:23 2015 -0400
+++ b/build_packages.m	Wed Apr 22 19:15:12 2015 -0400
@@ -53,4 +53,5 @@
 try_install financial-0.4.0.tar.gz
 try_install stk-2.2.1.tar.gz
 try_install splines-1.2.7.tar.gz
+try_install dataframe-1.1.0.tar.gz
 
--- a/dist-files.mk	Fri Apr 17 12:35:23 2015 -0400
+++ b/dist-files.mk	Wed Apr 22 19:15:12 2015 -0400
@@ -451,6 +451,8 @@
   of-data-smoothing.mk \
   of-database-1-cross-fixes.patch \
   of-database.mk \
+  of-dataframe-1-fixes.patch \
+  of-dataframe.mk \
   of-dicom-1-fixes.patch \
   of-dicom.mk \
   of-financial-1-fixes.patch \
--- a/index.html	Fri Apr 17 12:35:23 2015 -0400
+++ b/index.html	Wed Apr 22 19:15:12 2015 -0400
@@ -1850,6 +1850,10 @@
         <td class="website"><a href="http://octave.sf.net/">Octave Forge database package</a></td>
     </tr>
     <tr>
+        <td class="package">of-dataframe</td>
+        <td class="website"><a href="http://octave.sf.net/">Octave Forge dataframe package</a></td>
+    </tr>
+    <tr>
         <td class="package">of-dicom</td>
         <td class="website"><a href="http://octave.sf.net/">Octave Forge dicom package</a></td>
     </tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-dataframe-1-fixes.patch	Wed Apr 22 19:15:12 2015 -0400
@@ -0,0 +1,129 @@
+diff -urN dataframe-1.1.0.orig/inst/@dataframe/private/strsplit.m dataframe-1.1.0/inst/@dataframe/private/strsplit.m
+--- dataframe-1.1.0.orig/inst/@dataframe/private/strsplit.m	2015-04-22 19:07:16.000000000 -0400
++++ dataframe-1.1.0/inst/@dataframe/private/strsplit.m	1969-12-31 19:00:00.000000000 -0500
+@@ -1,125 +0,0 @@
+-## Copyright (C) 2009-2012 Jaroslav Hajek
+-##
+-## This file is part of Octave.
+-##
+-## Octave 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 3 of the License, or (at
+-## your option) any later version.
+-##
+-## Octave 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 Octave; see the file COPYING.  If not, see
+-## <http://www.gnu.org/licenses/>.
+-##
+-## FIXME: this file is here to avoid conflicts with new Octave versions. Matlab
+-##        has recently added strplit function (used to exist in Octave only) but
+-##        their syntax is not compatible with ours. Rather than timing the
+-##        release of each octave forge package that used strsplit, a copy of the
+-##        old version was placed as private. Once the new Octave version is
+-##        released, this file can be removed, and the calls to strsplit fixed.
+-
+-## -*- texinfo -*-
+-## @deftypefn  {Function File} {[@var{cstr}] =} strsplit (@var{s}, @var{sep})
+-## @deftypefnx {Function File} {[@var{cstr}] =} strsplit (@var{s}, @var{sep}, @var{strip_empty})
+-## Split the string @var{s} using one or more separators @var{sep} and return
+-## a cell array of strings.  Consecutive separators and separators at
+-## boundaries result in empty strings, unless @var{strip_empty} is true.
+-## The default value of @var{strip_empty} is false.
+-##
+-## 2-D character arrays are split at separators and at the original column
+-## boundaries.
+-##
+-## Example:
+-##
+-## @example
+-## @group
+-## strsplit ("a,b,c", ",")
+-##       @result{}
+-##           @{
+-##             [1,1] = a
+-##             [1,2] = b
+-##             [1,3] = c
+-##           @}
+-##
+-## strsplit (["a,b" ; "cde"], ",")
+-##       @result{}
+-##           @{
+-##             [1,1] = a
+-##             [1,2] = b
+-##             [1,3] = cde
+-##           @}
+-## @end group
+-## @end example
+-## @seealso{strtok}
+-## @end deftypefn
+-
+-function cstr = strsplit (s, sep, strip_empty = false)
+-
+-  if (nargin < 2 || nargin > 3)
+-    print_usage ();
+-  elseif (! ischar (s) || ! ischar (sep))
+-    error ("strsplit: S and SEP must be string values");
+-  elseif (! isscalar (strip_empty))
+-    error ("strsplit: STRIP_EMPTY must be a scalar value");
+-  endif
+-
+-  if (isempty (s))
+-    cstr = cell (size (s));
+-  else
+-    if (rows (s) > 1)
+-      ## For 2-D arrays, add separator character at line boundaries
+-      ## and transform to single string
+-      s(:, end+1) = sep(1);
+-      s = reshape (s.', 1, numel (s));
+-      s(end) = []; 
+-    endif
+-
+-    ## Split s according to delimiter
+-    if (isscalar (sep))
+-      ## Single separator
+-      idx = find (s == sep);
+-    else
+-      ## Multiple separators
+-      idx = strchr (s, sep);
+-    endif
+-
+-    ## Get substring lengths.
+-    if (isempty (idx))
+-      strlens = length (s);
+-    else
+-      strlens = [idx(1)-1, diff(idx)-1, numel(s)-idx(end)];
+-    endif
+-    ## Remove separators.
+-    s(idx) = [];
+-    if (strip_empty)
+-      ## Omit zero lengths.
+-      strlens = strlens(strlens != 0);
+-    endif
+-
+-    ## Convert!
+-    cstr = mat2cell (s, 1, strlens);
+-  endif
+-
+-endfunction
+-
+-
+-%!assert (strsplit ("road to hell", " "), {"road", "to", "hell"})
+-%!assert (strsplit ("road to^hell", " ^"), {"road", "to", "hell"})
+-%!assert (strsplit ("road   to--hell", " -", true), {"road", "to", "hell"})
+-%!assert (strsplit (["a,bc";",de"], ","), {"a", "bc", char(ones(1,0)), "de "})
+-%!assert (strsplit (["a,bc";",de"], ",", true), {"a", "bc", "de "})
+-%!assert (strsplit (["a,bc";",de"], ", ", true), {"a", "bc", "de"})
+-
+-%% Test input validation
+-%!error strsplit ()
+-%!error strsplit ("abc")
+-%!error strsplit ("abc", "b", true, 4)
+-%!error <S and SEP must be string values> strsplit (123, "b")
+-%!error <S and SEP must be string values> strsplit ("abc", 1)
+-%!error <STRIP_EMPTY must be a scalar value> strsplit ("abc", "def", ones (3,3))
+-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-dataframe.mk	Wed Apr 22 19:15:12 2015 -0400
@@ -0,0 +1,22 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := of-dataframe
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.1.0
+$(PKG)_CHECKSUM := b7755073f8954f0d595f35a083a37ec5cc77089a
+$(PKG)_REMOTE_SUBDIR := 
+$(PKG)_SUBDIR   := dataframe-$($(PKG)_VERSION)
+$(PKG)_FILE     := dataframe-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download'
+$(PKG)_DEPS     := 
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://$(SOURCEFORGE_MIRROR)/projects/octave/files/Octave%20Forge%20Packages/Individual%20Package%20Releases/' | \
+    $(SED) -n 's,.*title="dataframe-\([0-9][^"]*\).tar.gz".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    $(OCTAVE_FORGE_PKG_BUILD)
+endef