# HG changeset patch # User John Donoghue # Date 1429744512 14400 # Node ID 52abc9be09face000a6222cdea431f93e2908ae5 # Parent 006263ce49053d3e443900ecd7bb4318a36bb559 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 diff -r 006263ce4905 -r 52abc9be09fa Makefile.in --- 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))) diff -r 006263ce4905 -r 52abc9be09fa build_packages.m --- 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 diff -r 006263ce4905 -r 52abc9be09fa dist-files.mk --- 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 \ diff -r 006263ce4905 -r 52abc9be09fa index.html --- 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 @@ Octave Forge database package + of-dataframe + Octave Forge dataframe package + + of-dicom Octave Forge dicom package diff -r 006263ce4905 -r 52abc9be09fa src/of-dataframe-1-fixes.patch --- /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 +-## . +-## +-## 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 strsplit (123, "b") +-%!error strsplit ("abc", 1) +-%!error strsplit ("abc", "def", ones (3,3)) +- diff -r 006263ce4905 -r 52abc9be09fa src/of-dataframe.mk --- /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