diff options
author | root <root@rshg054.dnsready.net> | 2012-10-13 00:57:48 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-10-13 00:57:48 -0700 |
commit | 21c295a86a10a3cd59802b2cf3ab7c24ebf0c608 (patch) | |
tree | ef49797b1f76586e9f8281e301a4923d90f29aa7 /testing/octave | |
parent | 3cfedd8a4ed1e5464ef328d91b1a224aedc07960 (diff) |
Sat Oct 13 00:57:48 PDT 2012
Diffstat (limited to 'testing/octave')
-rw-r--r-- | testing/octave/PKGBUILD | 54 | ||||
-rw-r--r-- | testing/octave/buildfix.diff | 85 | ||||
-rw-r--r-- | testing/octave/curlfix.patch | 10 | ||||
-rw-r--r-- | testing/octave/imread.patch | 29 | ||||
-rw-r--r-- | testing/octave/octave-3.4.0-gcc46.patch | 24 | ||||
-rw-r--r-- | testing/octave/octave-gethelp.patch | 13 | ||||
-rw-r--r-- | testing/octave/octave.install | 18 |
7 files changed, 233 insertions, 0 deletions
diff --git a/testing/octave/PKGBUILD b/testing/octave/PKGBUILD new file mode 100644 index 000000000..cc4149860 --- /dev/null +++ b/testing/octave/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 168503 2012-10-12 21:20:37Z andyrtr $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor : shining <shiningxc.at.gmail.com> +# Contributor : cyberdune <cyberdune@gmail.com> + +pkgname=octave +pkgver=3.6.2 +pkgrel=2 +pkgdesc="A high-level language, primarily intended for numerical computations." +arch=('i686' 'x86_64') +url="http://www.octave.org" +license=('GPL') +depends=('fftw' 'pcre' 'curl' 'lapack' 'libx11' 'graphicsmagick' 'glpk' 'hdf5' 'gcc-libs' 'qhull' 'fltk' 'suitesparse') +makedepends=('texinfo' 'graphicsmagick' 'gcc-fortran' 'suitesparse' 'texlive-core') +optdepends=('texinfo: for help-support in octave' + 'gnuplot: alternative plotting') +source=("ftp://ftp.gnu.org/gnu/octave/octave-$pkgver.tar.bz2" + buildfix.diff + octave-gethelp.patch) +options=('!emptydirs') +install=octave.install +sha1sums=('145fef0122268086727a60e1c33e29d56fd546d7' + 'a7cdba1e05fbdd182facdd804aeec37729255551' + 'd39d54763ac86114029f8bc5d60763d2adce27bb') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # patch by Gentoo http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sci-mathematics/octave/files/octave-3.4.3-gets.patch?view=log + patch -Np0 -i ${srcdir}/buildfix.diff + # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sci-mathematics/octave/files/octave-3.4.3-help.patch?view=log + patch -Np0 -i ${srcdir}/octave-gethelp.patch + + autoreconf -vfi + + # http://www.nabble.com/Random-rounding-errors-td16010966.html + FFLAGS="-O -ffloat-store" \ + + ./configure --prefix=/usr --libexecdir=/usr/lib \ + --enable-shared --disable-static \ + --with-umfpack="-lumfpack -lsuitesparseconfig" # https://mailman.cae.wisc.edu/pipermail/help-octave/2012-September/053991.html + + LANG=C make +} + +package(){ + cd ${srcdir}/${pkgname}-${pkgver} + + make DESTDIR="${pkgdir}" install + + # add octave library path to ld.so.conf.d + install -d ${pkgdir}/etc/ld.so.conf.d + echo "/usr/lib/${pkgname}/${pkgver}" > ${pkgdir}/etc/ld.so.conf.d/${pkgname}.conf +} diff --git a/testing/octave/buildfix.diff b/testing/octave/buildfix.diff new file mode 100644 index 000000000..8288b7bec --- /dev/null +++ b/testing/octave/buildfix.diff @@ -0,0 +1,85 @@ +--- libgnu/stdio.in.h.origs 2012-05-24 12:46:13.000000000 -0600 ++++ libgnu/stdio.in.h 2012-05-24 16:29:54.813734894 -0600 +@@ -1,12 +1,10 @@ +-/* -*- buffer-read-only: t -*- vi: set ro: */ +-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ + /* A GNU-like <stdio.h>. + + Copyright (C) 2004, 2007-2012 Free Software Foundation, Inc. + + This program 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, or (at your option) ++ the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, +@@ -15,8 +13,7 @@ + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License +- along with this program; if not, write to the Free Software Foundation, +- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++ along with this program; if not, see <http://www.gnu.org/licenses/>. */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +@@ -55,7 +52,8 @@ + #include <stddef.h> + + /* Get off_t and ssize_t. Needed on many systems, including glibc 2.8 +- and eglibc 2.11.2. */ ++ and eglibc 2.11.2. ++ May also define off_t to a 64-bit type on native Windows. */ + #include <sys/types.h> + + /* The __attribute__ feature is available in gcc versions 2.5 and later. +@@ -701,22 +699,11 @@ _GL_WARN_ON_USE (getline, "getline is un + # endif + #endif + +-#if @GNULIB_GETS@ +-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef gets +-# define gets rpl_gets +-# endif +-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); +-_GL_CXXALIAS_RPL (gets, char *, (char *s)); +-# else +-_GL_CXXALIAS_SYS (gets, char *, (char *s)); +-# undef gets +-# endif +-_GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ ++ so any use of gets warrants an unconditional warning; besides, C11 ++ removed it. */ ++#undef gets ++#if HAVE_RAW_DECL_GETS + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif + +@@ -781,7 +768,7 @@ _GL_CXXALIASWARN (pclose); + #elif defined GNULIB_POSIXCHECK + # undef pclose + # if HAVE_RAW_DECL_PCLOSE +-_GL_WARN_ON_USE (pclose, "popen is unportable - " ++_GL_WARN_ON_USE (pclose, "pclose is unportable - " + "use gnulib module pclose for more portability"); + # endif + #endif +@@ -1056,9 +1043,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is + # endif + #endif + +-/* Some people would argue that sprintf should be handled like gets +- (for example, OpenBSD issues a link warning for both functions), +- since both can cause security holes due to buffer overruns. ++/* Some people would argue that all sprintf uses should be warned about ++ (for example, OpenBSD issues a link warning for it), ++ since it can cause security holes due to buffer overruns. + However, we believe that sprintf can be used safely, and is more + efficient than snprintf in those safe cases; and as proof of our + belief, we use sprintf in several gnulib modules. So this header diff --git a/testing/octave/curlfix.patch b/testing/octave/curlfix.patch new file mode 100644 index 000000000..26f3d92f9 --- /dev/null +++ b/testing/octave/curlfix.patch @@ -0,0 +1,10 @@ +--- src/DLD-FUNCTIONS/urlwrite.cc.old 2011-07-02 16:39:22.466603778 +0200 ++++ src/DLD-FUNCTIONS/urlwrite.cc 2011-07-02 16:39:54.543269859 +0200 +@@ -52,7 +52,6 @@ + + #include <curl/curl.h> + #include <curl/curlver.h> +-#include <curl/types.h> + #include <curl/easy.h> + + static int diff --git a/testing/octave/imread.patch b/testing/octave/imread.patch new file mode 100644 index 000000000..4a7b73ea0 --- /dev/null +++ b/testing/octave/imread.patch @@ -0,0 +1,29 @@ +--- src/DLD-FUNCTIONS/__magick_read__.cc.orig 2010-03-06 08:05:25.000000000 +0000 ++++ src/DLD-FUNCTIONS/__magick_read__.cc 2009-08-25 09:26:01.000000000 +0100 +@@ -30,6 +30,7 @@ + #include "defun-dld.h" + #include "error.h" + #include "ov-struct.h" ++#include "oct-env.h" + + #ifdef HAVE_MAGICK + +@@ -359,6 +358,18 @@ + + #ifdef HAVE_MAGICK + ++ static bool initialized = false; ++ ++ if (! initialized) ++ { ++ std::string program_name = octave_env::get_program_invocation_name (); ++ ++ Magick::InitializeMagick (program_name.c_str ()); ++ ++ initialized = true; ++ } ++ ++ + if (args.length () > 2 || args.length () < 1 || ! args(0).is_string () + || nargout > 3) + { diff --git a/testing/octave/octave-3.4.0-gcc46.patch b/testing/octave/octave-3.4.0-gcc46.patch new file mode 100644 index 000000000..c174204ac --- /dev/null +++ b/testing/octave/octave-3.4.0-gcc46.patch @@ -0,0 +1,24 @@ +diff -up octave-3.4.0/liboctave/oct-alloc.h.gcc46 octave-3.4.0/liboctave/oct-alloc.h +--- octave-3.4.0/liboctave/oct-alloc.h.gcc46 2011-02-08 03:00:51.000000000 -0700 ++++ octave-3.4.0/liboctave/oct-alloc.h 2011-02-08 09:41:23.984081687 -0700 +@@ -23,6 +23,8 @@ along with Octave; see the file COPYING. + #if !defined (octave_oct_alloc_h) + #define octave_oct_alloc_h 1 + ++#include <cstddef> ++ + class + OCTAVE_API + octave_allocator +diff -up octave-3.4.0/src/pr-output.cc.gcc46 octave-3.4.0/src/pr-output.cc +--- octave-3.4.0/src/pr-output.cc.gcc46 2011-02-08 03:00:52.000000000 -0700 ++++ octave-3.4.0/src/pr-output.cc 2011-02-08 09:55:16.149662744 -0700 +@@ -3024,7 +3024,7 @@ abs (T x) + } + + #define INSTANTIATE_ABS(T) \ +- template /* static */ inline T abs (T) ++ template /* static */ T abs (T) + + INSTANTIATE_ABS(signed char); + INSTANTIATE_ABS(short); diff --git a/testing/octave/octave-gethelp.patch b/testing/octave/octave-gethelp.patch new file mode 100644 index 000000000..c0e693abc --- /dev/null +++ b/testing/octave/octave-gethelp.patch @@ -0,0 +1,13 @@ +Help parallel compilation +patch by Sebastien Fabbro +--- scripts/Makefile.am.orig 2011-06-09 22:27:22.688268651 +0100 ++++ scripts/Makefile.am 2011-02-08 10:00:51.000000000 +0000 +@@ -316,7 +316,7 @@ + + gethelp_SOURCES = gethelp.cc + +-.DOCSTRINGS: $(FCN_FILES) $(GEN_FCN_FILES) mkdoc $(gethelp_SOURCES) Makefile ++.DOCSTRINGS: $(FCN_FILES) $(GEN_FCN_FILES) mkdoc $(gethelp_SOURCES) Makefile gethelp + @$(MAKE) $(AM_MAKEFLAGS) gethelp$(BUILD_EXEEXT) + if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/DOCSTRINGS ] && [ ! -f DOCSTRINGS ]; then \ + cp $(srcdir)/DOCSTRINGS DOCSTRINGS; \ diff --git a/testing/octave/octave.install b/testing/octave/octave.install new file mode 100644 index 000000000..8ee77c430 --- /dev/null +++ b/testing/octave/octave.install @@ -0,0 +1,18 @@ +info_dir=/usr/share/info +info_files=(octave.info octave.info-1 octave.info-2 octave.info-3 octave.info-4 octave.info-5) + +post_install() { + for f in ${info_files[@]}; do + install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install +} + +pre_remove() { + for f in ${info_files[@]}; do + install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} |