Update math/octave to 3.8.0 In this release the java package is part of core Octave and an experimental Qt-based gui is also available. Ports java/openjdk7, x11-toolkits/qt4-gui, net/qt4-network, and print/gl2ps are now dependencies. There is also an experimental JIT compiler based on llvm but it is disabled in this port. Removed files: D files/patch-libcruft+mkf77def.in D files/patch-liboctave-eigs-base.cc D files/patch-octave-doc D files/patch-scripts+pkg+pkg.m D files/patch-src+DLD-FUNCTIONS+__glpk__.cc Added files: A files/patch-gsed A files/patch-libinterp+dldfcn+__glpk__.cc A files/patch-liboctave-numeric-eigs-base.cc A files/patch-scripts+pkg+private+configure__make.m Fix: Patch attached with submission follows:
Responsible Changed From-To: freebsd-ports-bugs->maho Over to maintainer (via the GNATS Auto Assign Tool)
Author: maho Date: Wed Jan 22 22:18:37 2014 New Revision: 340741 URL: http://svnweb.freebsd.org/changeset/ports/340741 QAT: https://qat.redports.org/buildarchive/r340741/ Log: Update to 3.8.0 PR: 185991 Submitted by: Max Sterling <maxclsb@gmail.com> Added: head/math/octave/files/patch-gsed (contents, props changed) head/math/octave/files/patch-libinterp+dldfcn+__glpk__.cc (contents, props changed) head/math/octave/files/patch-liboctave-numeric-eigs-base.cc (contents, props changed) head/math/octave/files/patch-scripts+pkg+private+configure__make.m (contents, props changed) Deleted: head/math/octave/files/patch-libcruft+mkf77def.in head/math/octave/files/patch-liboctave-eigs-base.cc head/math/octave/files/patch-octave-doc head/math/octave/files/patch-scripts+pkg+pkg.m head/math/octave/files/patch-src+DLD-FUNCTIONS+__glpk__.cc Modified: head/math/octave/Makefile head/math/octave/distinfo head/math/octave/files/patch-configure head/math/octave/pkg-plist Modified: head/math/octave/Makefile ============================================================================== --- head/math/octave/Makefile Wed Jan 22 22:13:48 2014 (r340740) +++ head/math/octave/Makefile Wed Jan 22 22:18:37 2014 (r340741) @@ -2,15 +2,16 @@ # $FreeBSD$ PORTNAME= octave -PORTVERSION= 3.6.4 -PORTREVISION= 7 +PORTVERSION= 3.8.0 CATEGORIES= math -MASTER_SITES= ftp://ftp.gnu.org/gnu/octave/ \ - ftp://ftp.u-aizu.ac.jp/pub/SciEng/numanal/Octave/bleeding-edge/ +MASTER_SITES= ${MASTER_SITE_GNU} +MASTER_SITE_SUBDIR= octave MAINTAINER= maho@FreeBSD.org COMMENT= High-level interactive language for numerical computations +LICENSE= GPLv3 + BUILD_DEPENDS+= gnuplot:${PORTSDIR}/math/gnuplot \ ${LOCALBASE}/bin/gperf:${PORTSDIR}/devel/gperf \ gsed:${PORTSDIR}/textproc/gsed \ @@ -18,7 +19,7 @@ BUILD_DEPENDS+= gnuplot:${PORTSDIR}/math RUN_DEPENDS= gnuplot:${PORTSDIR}/math/gnuplot \ gsed:${PORTSDIR}/textproc/gsed \ ${LOCALBASE}/bin/makeinfo:${PORTSDIR}/print/texinfo -LIB_DEPENDS= GraphicsMagick:${PORTSDIR}/graphics/GraphicsMagick \ +LIB_DEPENDS= GraphicsMagick.14:${PORTSDIR}/graphics/GraphicsMagick13 \ arpack:${PORTSDIR}/math/arpack \ curl:${PORTSDIR}/ftp/curl \ fftw3:${PORTSDIR}/math/fftw3 \ @@ -30,7 +31,8 @@ LIB_DEPENDS= GraphicsMagick:${PORTSDIR}/ qhull.5:${PORTSDIR}/math/qhull5 \ qrupdate:${PORTSDIR}/math/qrupdate \ umfpack.1:${PORTSDIR}/math/suitesparse \ - glpk:${PORTSDIR}/math/glpk + glpk:${PORTSDIR}/math/glpk \ + gl2ps:${PORTSDIR}/print/gl2ps USES= charsetfix fortran gmake perl5 pkgconfig USE_BZIP2= yes @@ -38,11 +40,14 @@ USE_PERL5= build USE_TEX= dvipsk:build GNU_CONFIGURE= yes #USE_AUTOTOOLS= autoconf +USE_JAVA= yes +JAVA_VERSION= 1.7+ +CONFIGURE_ENV+= JAVA_HOME=${JAVA_HOME} +USE_QT4= gui network -INFO= octave liboctave OctaveFAQ +INFO= octave liboctave MAN1= octave.1 mkoctfile.1 octave-config.1 -NO_STAGE= yes .include <bsd.port.pre.mk> .if exists(${LOCALBASE}/lib/libopenblas.so) @@ -90,7 +95,8 @@ LDFLAGS+= -L${LOCALBASE}/lib ${PTHREAD_L CONFIGURE_ARGS= --host=${GNU_HOST} \ --with-blas="-L${LOCALBASE}/lib ${BLAS}" \ --with-lapack="${LAPACK}" \ - --enable-shared + --enable-shared \ + --disable-jit .if (${OSVERSION} <= 700000) WITH_PTMALLOC=yes @@ -102,41 +108,42 @@ CONFIGURE_ENV+= LIBS="-L${LOCALBASE}/lib .endif post-patch: - ${REINPLACE_CMD} 's+"makeinfo"+"${PREFIX}/bin/makeinfo"+' ${WRKSRC}/src/help.cc - ${REINPLACE_CMD} 's+-lumfpack+-lumfpack -lcholmod -lcolamd -llapack+' ${WRKSRC}/configure + ${REINPLACE_CMD} 's+"makeinfo"+"${PREFIX}/bin/makeinfo"+' ${WRKSRC}/libinterp/corefcn/help.cc + ${REINPLACE_CMD} 's+-lumfpack+-lumfpack -lsuitesparseconfig -lamd -lcholmod -lcolamd ${LAPACK}+' ${WRKSRC}/configure + ${REINPLACE_CMD} 's+-lcholmod+-lumfpack -lsuitesparseconfig -lamd -lcholmod -lcolamd ${LAPACK}+' ${WRKSRC}/configure post-install: - ${MKDIR} ${DESKTOPDIR} + ${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKSRC}/doc/icons/octave.desktop \ - ${DESKTOPDIR}/www.octave.org-octave.desktop + ${STAGEDIR}${DESKTOPDIR}/www.octave.org-octave.desktop .if !defined(NOPORTDOCS) - @${MKDIR} ${DOCSDIR} -.for file in faq/OctaveFAQ.ps liboctave/liboctave.ps \ + @${MKDIR} ${STAGEDIR}${DOCSDIR} +.for file in liboctave/liboctave.ps \ refcard/refcard-a4.ps refcard/refcard-legal.ps \ refcard/refcard-letter.ps interpreter/octave.ps - ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${STAGEDIR}${DOCSDIR} .endfor .endif ${RM} -f ${WRKDIR}/PLIST -.for d in ${PREFIX}/include/octave-${OCTAVE_VERSION} ${PREFIX}/share/octave/${OCTAVE_VERSION} ${PREFIX}/share/octave/site ${PREFIX}/lib/octave/${OCTAVE_VERSION} - @${FIND} -s $d -not -type d | \ - ${SED} -e 's#^${PREFIX}/##' >> ${WRKDIR}/PLIST - @${FIND} -s $d -type d -empty | \ - ${SED} -e 's,^${PREFIX}/,@exec ${MKDIR} %D/,' \ +.for d in ${PREFIX}/include/octave-${OCTAVE_VERSION} ${PREFIX}/share/octave/${OCTAVE_VERSION} ${PREFIX}/share/octave/site ${PREFIX}/lib/octave/${OCTAVE_VERSION} ${PREFIX}/libexec/octave/${OCTAVE_VERSION} + @${FIND} -s ${STAGEDIR}$d -not -type d | \ + ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${WRKDIR}/PLIST + @${FIND} -s ${STAGEDIR}$d -type d -empty | \ + ${SED} -e 's,^${STAGEDIR}${PREFIX}/,@exec ${MKDIR} %D/,' \ -e 's,$$, 2>/dev/null || true,' >> ${WRKDIR}/PLIST - @${FIND} -s $d -type d -depth | \ - ${SED} -e 's,^${PREFIX}/,@dirrm ,' >> ${WRKDIR}/PLIST + @${FIND} -s ${STAGEDIR}$d -type d -depth | \ + ${SED} -e 's,^${STAGEDIR}${PREFIX}/,@dirrm ,' >> ${WRKDIR}/PLIST .endfor -.for d in ${PREFIX}/libexec/octave/${OCTAVE_VERSION} ${PREFIX}/libexec/octave/api-v45+ ${PREFIX}/libexec/octave/api-v48+ ${PREFIX}/libexec/octave/site ${PREFIX}/lib/octave/site - @${FIND} -s $d -type d -empty | \ - ${SED} -e 's,^${PREFIX}/,@exec ${MKDIR} %D/,' \ +.for d in ${PREFIX}/libexec/octave/api-v49+ ${PREFIX}/libexec/octave/site ${PREFIX}/lib/octave/site + @${FIND} -s ${STAGEDIR}$d -type d -empty | \ + ${SED} -e 's,^${STAGEDIR}${PREFIX}/,@exec ${MKDIR} %D/,' \ -e 's,$$, 2>/dev/null || true,' >> ${WRKDIR}/PLIST - @${FIND} -s $d -type d -depth | \ - ${SED} -e 's,^${PREFIX}/,@dirrm ,' >> ${WRKDIR}/PLIST + @${FIND} -s ${STAGEDIR}$d -type d -depth | \ + ${SED} -e 's,^${STAGEDIR}${PREFIX}/,@dirrm ,' >> ${WRKDIR}/PLIST .endfor ${ECHO_CMD} @dirrm libexec/octave >> ${WRKDIR}/PLIST ${ECHO_CMD} @dirrm share/octave >> ${WRKDIR}/PLIST - cd ${WRKDIR} ; ${SED} -i -e "/PLIST/ r PLIST" ${TMPPLIST} + cd ${WRKDIR} ; ${SED} -i.bak -e "/PLIST/ r PLIST" ${TMPPLIST} check regression-test: build @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} check) Modified: head/math/octave/distinfo ============================================================================== --- head/math/octave/distinfo Wed Jan 22 22:13:48 2014 (r340740) +++ head/math/octave/distinfo Wed Jan 22 22:18:37 2014 (r340741) @@ -1,2 +1,2 @@ -SHA256 (octave-3.6.4.tar.bz2) = fa185df9591f5d740f4d37ff6eaf06db576fdd3e0ddd9d0737365799e5d1c962 -SIZE (octave-3.6.4.tar.bz2) = 15627315 +SHA256 (octave-3.8.0.tar.bz2) = 519330c6dd34eb69ca26a811722948fceac2acebd67ba924eba9b34a2e5a94f9 +SIZE (octave-3.8.0.tar.bz2) = 17669638 Modified: head/math/octave/files/patch-configure ============================================================================== --- head/math/octave/files/patch-configure Wed Jan 22 22:13:48 2014 (r340740) +++ head/math/octave/files/patch-configure Wed Jan 22 22:18:37 2014 (r340741) @@ -1,11 +1,16 @@ ---- configure.orig 2013-02-21 21:21:49.000000000 +0100 -+++ configure 2013-11-22 20:34:49.000000000 +0100 -@@ -58248,7 +58248,7 @@ - main () - { - -- std::unordered_map m; -+ std::unordered_map<int, int> m; - - ; - return 0; +--- configure.orig 2014-01-21 15:52:33.000000000 -0700 ++++ configure 2014-01-21 15:54:59.000000000 -0700 +@@ -68380,6 +68380,13 @@ + fi + JAVA_LIBS="-framework JavaVM" + ;; ++ freebsd*) ++ if test -n "$JAVA_CPPFLAGS"; then ++ JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}/include -I${JAVA_CPPFLAGS}/include/freebsd" ++ else ++ JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/freebsd" ++ fi ++ ;; + *) + if test -n "$JAVA_CPPFLAGS"; then + JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}/include -I${JAVA_CPPFLAGS}/include/linux" Added: head/math/octave/files/patch-gsed ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/octave/files/patch-gsed Wed Jan 22 22:18:37 2014 (r340741) @@ -0,0 +1,88 @@ +--- build-aux/find-files-with-tests.sh.orig 2014-01-20 20:35:29.000000000 -0700 ++++ build-aux/find-files-with-tests.sh 2014-01-20 20:36:30.000000000 -0700 +@@ -2,7 +2,7 @@ + + set -e + GREP=${GREP:-grep} +-SED=${SED:-sed} ++SED=gsed + + srcdir="$1" + shift +--- libinterp/find-defun-files.sh.orig 2014-01-20 20:08:01.000000000 -0700 ++++ libinterp/find-defun-files.sh 2014-01-20 20:08:20.000000000 -0700 +@@ -1,7 +1,7 @@ + #! /bin/sh + + set -e +-SED=${SED:-sed} ++SED=gsed + EGREP=${EGREP:-egrep} + + # Some stupid egreps don't like empty elements in alternation patterns, +--- libinterp/mk-pkg-add.orig 2014-01-20 20:04:33.000000000 -0700 ++++ libinterp/mk-pkg-add 2014-01-20 20:05:01.000000000 -0700 +@@ -20,7 +20,7 @@ + + set -e + +-SED=${SED:-'sed'} ++SED=gsed + + for f in "$@"; do + if [ -f $f ]; then +--- libinterp/mkbuiltins.orig 2014-01-20 19:17:57.000000000 -0700 ++++ libinterp/mkbuiltins 2014-01-20 19:18:24.000000000 -0700 +@@ -23,7 +23,7 @@ + exit 1 + fi + +-SED=${SED:-'sed'} ++SED=gsed + + make_header=false + make_source=false +--- libinterp/mkdefs.orig 2014-01-20 20:17:00.000000000 -0700 ++++ libinterp/mkdefs 2014-01-20 20:17:15.000000000 -0700 +@@ -18,7 +18,7 @@ + # along with Octave; see the file COPYING. If not, see + # <http://www.gnu.org/licenses/>. + +-SED=${SED:-'sed'} ++SED=gsed + + if [ $# -ne 2 ]; then + echo "usage: mkdefs srcdir file < preprocessed-file-contents" 1>&2 +--- libinterp/mkops.orig 2014-01-20 20:26:24.000000000 -0700 ++++ libinterp/mkops 2014-01-20 20:26:50.000000000 -0700 +@@ -18,7 +18,7 @@ + # along with Octave; see the file COPYING. If not, see + # <http://www.gnu.org/licenses/>. + +-SED=${SED:-'sed'} ++SED=gsed + + cat << \EOF + // DO NOT EDIT! Generated automatically by mkops. +--- liboctave/cruft/mkf77def.in.orig 2014-01-20 05:27:13.000000000 -0700 ++++ liboctave/cruft/mkf77def.in 2014-01-20 05:27:28.000000000 -0700 +@@ -18,7 +18,7 @@ + # along with Octave; see the file COPYING. If not, see + # <http://www.gnu.org/licenses/>. + +-SED=${SED:-'sed'} ++SED=gsed + AWK=${AWK:-'awk'} + + F77_TOLOWER="@F77_APPEND_UNDERSCORE@" +--- scripts/mk-pkg-add.orig 2014-01-20 20:30:14.000000000 -0700 ++++ scripts/mk-pkg-add 2014-01-20 20:30:36.000000000 -0700 +@@ -24,7 +24,7 @@ + + set -e + +-SED=${SED:-'sed'} ++SED=gsed + + prefix="$1/" + shift Added: head/math/octave/files/patch-libinterp+dldfcn+__glpk__.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/octave/files/patch-libinterp+dldfcn+__glpk__.cc Wed Jan 22 22:18:37 2014 (r340741) @@ -0,0 +1,10 @@ +--- libinterp/dldfcn/__glpk__.cc.orig 2014-01-20 06:29:02.000000000 -0700 ++++ libinterp/dldfcn/__glpk__.cc 2014-01-20 06:32:50.000000000 -0700 +@@ -46,6 +46,7 @@ + #include <glpk/glpk.h> + #else + #include <glpk.h> ++#include <glplpx.h> + #endif + } + Added: head/math/octave/files/patch-liboctave-numeric-eigs-base.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/octave/files/patch-liboctave-numeric-eigs-base.cc Wed Jan 22 22:18:37 2014 (r340741) @@ -0,0 +1,11 @@ +--- liboctave/numeric/eigs-base.cc.orig 2014-01-20 05:36:55.000000000 -0700 ++++ liboctave/numeric/eigs-base.cc 2014-01-20 05:37:23.000000000 -0700 +@@ -3849,7 +3849,7 @@ + int disp = 0, int maxit = 300); + #endif + +-#ifndef _MSC_VER ++#if !defined(_MSC_VER) && !defined(__clang__) + template octave_idx_type + lusolve (const SparseMatrix&, const SparseMatrix&, Matrix&); + Added: head/math/octave/files/patch-scripts+pkg+private+configure__make.m ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/octave/files/patch-scripts+pkg+private+configure__make.m Wed Jan 22 22:18:37 2014 (r340741) @@ -0,0 +1,11 @@ +--- scripts/pkg/private/configure_make.m.orig 2014-01-20 06:14:25.000000000 -0700 ++++ scripts/pkg/private/configure_make.m 2014-01-20 06:16:15.000000000 -0700 +@@ -75,7 +75,7 @@ + + ## Make. + if (exist (fullfile (src, "Makefile"), "file")) +- [status, output] = shell ([scenv "make -C '" src "'"], verbose); ++ [status, output] = shell ([scenv "gmake -C '" src "'"], verbose); + if (status != 0) + rmdir (desc.dir, "s"); + disp (output); Modified: head/math/octave/pkg-plist ============================================================================== --- head/math/octave/pkg-plist Wed Jan 22 22:13:48 2014 (r340740) +++ head/math/octave/pkg-plist Wed Jan 22 22:18:37 2014 (r340741) @@ -2,10 +2,11 @@ bin/mkoctfile bin/mkoctfile-%%OCTAVE_VERSION%% bin/octave bin/octave-%%OCTAVE_VERSION%% +bin/octave-cli +bin/octave-cli-%%OCTAVE_VERSION%% bin/octave-config bin/octave-config-%%OCTAVE_VERSION%% share/applications/www.octave.org-octave.desktop -%%PORTDOCS%%%%DOCSDIR%%/OctaveFAQ.ps %%PORTDOCS%%%%DOCSDIR%%/liboctave.ps %%PORTDOCS%%%%DOCSDIR%%/refcard-a4.ps %%PORTDOCS%%%%DOCSDIR%%/refcard-legal.ps _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
It appears that there are some missing depends. After installing the package on multiple systems, the GUI was not working. I then applied the patch and tried to build from source. I had to install qt4-uic, qt4-moc, and qt4-rcc in order to complete the build. The GUI now works. These three may not be the only ones missing, since I had a lot of other packages preinstalled, including the following qt4 packages: FreeBSD sculpin bacon ~ 401: pkg info qt4\* qt4-assistant-4.8.5_1 qt4-clucene-4.8.5 qt4-corelib-4.8.5_1 qt4-declarative-4.8.5 qt4-doc-4.8.5 qt4-gui-4.8.5 qt4-help-4.8.5 qt4-linguist-4.8.5_1 qt4-network-4.8.5 qt4-opengl-4.8.5 qt4-script-4.8.5 qt4-sql-4.8.5 qt4-sqlite-plugin-4.8.5 qt4-svg-4.8.5 qt4-webkit-4.8.5_1 qt4-xml-4.8.5 qt4-xmlpatterns-4.8.5
devel/qscintilla2 is also required for the GUI editor. Octave will build without it, but the editor will be disabled.
On 02/07/14 10:31, Max Sterling wrote: > Can you try this patch? > > Already did: I made those exact same additions to my local copy and it works. There might be more qt4 packages required. Unfortunately, I didn't go abut the changes 100% scientifically (rebuilding after each single addition), but I think we'll need to do a build on a blank system to be sure anyway. I also have qt4-assistant listed in mine, but I'm not positive it's necessary, since I added several packages at once before rebuilding. Thanks, JB
I did another build on a 9.2-RELEASE system with no QT packages preinstalled. I think the following is a sufficient list: USE_QT4= gui network uic moc rcc linguist It pulls in assistant and several others as dependencies.
I think gui and network are run depends while moc and rcc are build depends. Do you know what kind of depends uic and linguist are? On Sun, Feb 9, 2014 at 7:34 AM, Jason Bacon <bacon@uwm.edu> wrote: > > I did another build on a 9.2-RELEASE system with no QT packages > preinstalled. > > I think the following is a sufficient list: > > USE_QT4= gui network uic moc rcc linguist > > It pulls in assistant and several others as dependencies. > >
Linguist is required at build time. Not sure about run time. Also not sure about uic. JB On 02/09/14 12:10, Max Sterling wrote: > I think gui and network are run depends while moc and rcc are build > depends. > Do you know what kind of depends uic and linguist are? > > > On Sun, Feb 9, 2014 at 7:34 AM, Jason Bacon <bacon@uwm.edu > <mailto:bacon@uwm.edu>> wrote: > > > I did another build on a 9.2-RELEASE system with no QT packages > preinstalled. > > I think the following is a sufficient list: > > USE_QT4= gui network uic moc rcc linguist > > It pulls in assistant and several others as dependencies. > > -- ------------------------------------- Jason W. Bacon Systems Programmer Research Computing Support University of Wisconsin Milwaukee bacon@uwm.edu -------------------------------------