Changeset 144150


Ignore:
Timestamp:
Jan 3, 2016, 7:40:58 AM (3 years ago)
Author:
mcalhoun@…
Message:

octave-devel, octave_select: new and resurrected ports
*) allows testing of major revisions before transitioning (e.g. 3.8.2 -> 4.0.0, #48622, #47979)
*) allows testing of release candidates
*) allows testing of cutting-edge features

Location:
trunk/dports
Files:
14 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/math/octave-devel/Portfile

    r115709 r144150  
    1 # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
     1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
    22# $Id$
    33
    44PortSystem          1.0
     5PortGroup           compilers  1.0
     6PortGroup           muniversal 1.0
     7PortGroup           active_variants 1.1
     8PortGroup           select     1.0
    59
    610name                octave-devel
    7 version             3.6.4
    8 revision            11
    9 
    1011categories          math science
    11 maintainers         michaelld openmaintainer
    12 license             GPL-3
    1312platforms           darwin
    14 
    15 description         a Matlab-like environment for numerical analysis
    16 long_description    Octave provides a convenient command line interface \
    17                     for solving linear and nonlinear problems numerically, \
    18                     using a language that is mostly compatible with Matlab. \
    19                     It is easily extensible and customizable via \
    20                     user-defined functions or using dynamically loaded \
    21                     modules written in e.g. C++, C or Fortran.
    22 
    23 homepage            http://www.gnu.org/software/octave/
    24 
    25 replaced_by         octave
    26 
    27 archive_sites
    28 distfiles
    29 
    30 pre-fetch {
    31     ui_error "${subport} has been temporarily replaced by the port 'octave'. Please install octave instead."
    32     return -code error "obsolete port"
    33 }
    34 
    35 livecheck.type      none
     13license             GPL-3+
     14maintainers         mcalhoun openmaintainer
     15description         a high-level language for numerical computations
     16long_description    \
     17    GNU Octave is a high-level language, primarily intended for numerical \
     18    computations.  It provides a convenient command line interface for \
     19    solving linear and nonlinear problems numerically.
     20
     21homepage            http://www.gnu.org/software/octave
     22
     23#fetch.type          hg
     24#hg.url              http://hg.savannah.gnu.org/hgweb/octave/
     25
     26set version_release 4.0.0
     27set version_rc      4.0.1
     28set version_tip     4.1.0+
     29
     30#revision           0
     31
     32if { ${name} eq ${subport} } {
     33    version         ${version_tip}
     34    #incr revision  0
     35    hg.tag          5a340d8458d6
     36
     37    checksums-append               \
     38        ${hg.tag}${extract.suffix} \
     39        rmd160  9fc8bf87a82331ed644f68b31bb8a2cd7f2ec539 \
     40        sha256  152b316872d20eca275433a9dd2d339ce7e475b5be36d37d1637601ccd3cd898
     41
     42    livecheck.regex   "<a href=\"/hgweb/octave/rev/(\[a-zA-Z0-9.\]+)\">\ntip"
     43}
     44
     45subport octave-devel-rc {
     46    version         ${version_rc}
     47    #incr revision  0
     48    hg.tag          20b17dda0e0c
     49
     50    if {${version_rc} eq ${version_release}} {
     51        conflicts-append octave-devel-release
     52    }
     53
     54    checksums-append               \
     55        ${hg.tag}${extract.suffix} \
     56        rmd160  bc42b7b3b2a4fca3b1264203bad4cbc3e941206e \
     57        sha256  9ab6b66f698e7bd187d462844edd59dc5911e341f1bcdaa8f98f7de4f9950aae
     58
     59    livecheck.regex   "<a href=\"/hgweb/octave/rev/(\[a-zA-Z0-9.\]+)\">\nrc-"
     60}
     61
     62subport octave-devel-release {
     63    version         ${version_release}
     64    #incr revision  0
     65    hg.tag          3ccc2d02e64b
     66
     67    if {${version_release} eq ${version_rc}} {
     68        conflicts-append octave-devel-release
     69    }
     70
     71    # see http://savannah.gnu.org/bugs/?41178
     72    patchfiles-append \
     73        octave-clang-classdef.patch
     74
     75    checksums-append               \
     76        ${hg.tag}${extract.suffix} \
     77        rmd160  4bbcc004ffdde859b0735e602aac2d01388d0b2c \
     78        sha256  2a4017a03ca80c280b5d39cf88af8954c7bfdbf1b3b40b9f09d3bd4bd1dd6040
     79
     80    livecheck.regex   "<a href=\"/hgweb/octave/rev/(\[a-zA-Z0-9.\]+)\">\nrelease-"
     81}
     82
     83select.group octave
     84select.file  ${filespath}/${subport}
     85
     86# check http://hg.savannah.gnu.org/hgweb/octave/gnulib-hg/rev for latest version
     87set hg_gnu_tag      7f19e7f2afa2
     88
     89checksums-append \
     90    ${hg_gnu_tag}${extract.suffix} \
     91    rmd160  9d906212fdb4201f8592da10524606dadb3f50e3 \
     92    sha256  85add8ce0c53e8868d903c28c407d864ca54bd42e8d472e09b1a1bb4b105b741
     93
     94master_sites        http://hg.savannah.gnu.org/hgweb/octave/archive:octave \
     95                    http://hg.savannah.gnu.org/hgweb/octave/gnulib-hg/archive:gnulib \
     96use_bzip2           yes
     97
     98distfiles           \
     99    ${hg.tag}${extract.suffix}:octave \
     100    ${hg_gnu_tag}${extract.suffix}:gnulib
     101
     102worksrcdir          octave-${hg.tag}
     103
     104#depends_extract-append port:git
     105post-extract {
     106    # command from bootstrap script file
     107    #system -W ${worksrcpath} "${prefix}/bin/git clone --depth 2 git://git.sv.gnu.org/gnulib gnulib-hg"
     108    move ${worksrcpath}/../gnulib-hg-${hg_gnu_tag} ${worksrcpath}/gnulib-hg
     109}
     110
     111# allow osmesa support to at least compile
     112patchfiles-append   \
     113    osmesa_mac_fix.patch
     114
     115# see http://savannah.gnu.org/bugs/?41027
     116patchfiles-append   \
     117    octave-bug_41027.patch
     118
     119# see http://git.savannah.gnu.org/cgit/gnulib.git/commit/lib/stdio.in.h?id=d6176702c3ffb6c56e6620397470e1b3bd540b10
     120patchfiles-append   \
     121    patch-stdio.in.h.diff
     122
     123pre-patch {
     124    # code located in pre-patch because variants from PortGroup compilers must
     125    #    be evaluated before it can be determined if clang is being used
     126
     127    # see http://trac.macports.org/ticket/45011
     128    # see http://savannah.gnu.org/bugs/?43298
     129    set libcxxbug no
     130    if { ${configure.cc} eq "/usr/bin/clang" && [lindex [split ${xcodeversion} .] 0] eq 6 } {
     131        set libcxxbug yes
     132    } elseif { [variant_exists clang35] && [variant_isset clang35] } {
     133        set libcxxbug yes
     134    }
     135    if { ${libcxxbug} } {
     136        patchfiles-append   \
     137            clang-libcxx-fix.patch
     138    }
     139}
     140
     141# need for autoconf
     142depends_build-append \
     143    port:autoconf    \
     144    port:automake    \
     145    port:libtool
     146
     147use_autoconf         yes
     148autoconf.cmd         ./bootstrap
     149autoconf.args
     150
     151# avoid depends_build-append port:coreutils
     152configure.env-append MKDIR_P="/bin/mkdir -p"
     153
     154# avoid depends_build-append port:cctools
     155configure.env-append RANLIB=/usr/bin/ranlib
     156
     157# main octave port lists as a depends_lib
     158# configure.ac list it among the "[p]rograms used in Makefiles"
     159depends_build-append port:gawk
     160configure.awk ${prefix}/bin/gawk
     161
     162# in configure.ac, said to be "[p]rograms used to generate icons file formats
     163depends_build-append \
     164    port:icoutils    \
     165    port:librsvg
     166configure.env-append              \
     167    ICOTOOL=${prefix}/bin/icotool \
     168    RSVG_CONVERT=${prefix}/bin/rsvg-convert
     169
     170# main octave port lists as a depends_lib
     171# configure.ac list it among the "[p]rograms used in Makefiles"
     172depends_build-append port:grep
     173configure.env-append  GREP=${prefix}/bin/grep
     174configure.env-append EGREP=${prefix}/bin/egrep
     175configure.env-append FGREP=${prefix}/bin/fgrep
     176
     177# configure.ac list it among the "[p]rograms used in Makefiles"
     178depends_build-append port:findutils
     179configure.env-append FIND=${prefix}/bin/gfind
     180
     181# main octave port lists as a depends_lib
     182# configure.ac list it among the "[p]rograms used in Makefiles"
     183depends_build-append port:gsed
     184configure.env-append SED=${prefix}/bin/gsed
     185
     186depends_build-append port:flex
     187configure.env-append LEX=${prefix}/bin/flex
     188
     189depends_build-append port:bison
     190configure.env-append YACC="${prefix}/bin/bison -y"
     191
     192depends_build-append port:gperf
     193configure.env-append GPERF=/usr/bin/gperf
     194
     195# configure.ac list it among the "[p]rograms used in Makefiles"
     196depends_build-append port:perl5
     197configure.perl ${prefix}/bin/perl5
     198
     199# avoid depends_build-append port:desktop-file-utils
     200#configure.env-append DESKTOP_FILE_INSTALL=""
     201configure.env-append ac_cv_prog_DESKTOP_FILE_INSTALL=""
     202
     203depends_build-append \
     204    port:pkgconfig
     205
     206compilers.choose    fc f77 f90 cc cxx
     207
     208# for now, limit the number of variants
     209# some of these compilers may work fine
     210compilers.setup     \
     211    require_fortran \
     212    -dragonegg      \
     213    -gcc49          \
     214    -gcc48          \
     215    -gcc46          \
     216    -gcc45          \
     217    -gcc44          \
     218    -g95            \
     219    -llvm           \
     220    -gcc47          \
     221    -gcc46          \
     222    -gcc45          \
     223    -gcc44          \
     224    -clang36        \
     225    -clang35        \
     226    -clang34        \
     227    -clang33
     228
     229# offscreen rendering with OpenGL via osmesa would be nice to have, but the following
     230#    causes a segmentation fault:
     231#    h = figure ("visible", "off"); fn = tempname (); sombrero (); __osmesa_print__ (h, fn, "svg");
     232#
     233# solution is ???
     234#
     235#depends_lib-append port:mesa
     236configure.args-append       \
     237    --without-OSMesa
     238
     239#configure.args-append --with-shell=???
     240
     241configure.args-append       \
     242    --with-framework-opengl \
     243    --with-framework-carbon \
     244    --without-x             \
     245    --enable-static
     246
     247configure.args-append       \
     248    --disable-openmp
     249
     250configure.args-append       \
     251    --disable-java          \
     252    --disable-gui           \
     253    --without-fltk          \
     254    --disable-jit           \
     255    --without-sndfile       \
     256    --without-portaudio     \
     257    --without-magick
     258
     259# in configure.ac, listed as one of "[p]rograms used when running Octave"
     260depends_lib-append port:python27
     261configure.python ${prefix}/bin/python2.7
     262
     263# in configure.ac, listed as one of "[p]rograms used when running Octave"
     264depends_lib-append port:ghostscript
     265configure.env-append GHOSTSCRIPT=${prefix}/bin/gs
     266
     267# in configure.ac, listed as one of "[p]rograms used when running Octave"
     268depends_lib-append port:gnuplot
     269configure.env-append GNUPLOT=${prefix}/bin/gnuplot
     270
     271# in configure.ac, listed as one of "[p]rograms used when running Octave"
     272depends_lib-append port:less
     273configure.env-append DEFAULT_PAGER=${prefix}/bin/less
     274
     275depends_lib-append   port:ncurses
     276depends_lib-append   port:readline
     277depends_lib-append   port:fontconfig
     278depends_lib-append   port:pcre
     279
     280#--disable-docs
     281depends_lib-append port:texinfo
     282configure.env-append                \
     283    MAKEINFO=${prefix}/bin/makeinfo \
     284    TEXI2DVI=${prefix}/bin/texi2dvi \
     285    TEXI2PDF=${prefix}/bin/texi2pdf
     286
     287#--without-amd
     288#--without-camd
     289#--without-colamd
     290#--without-cholmod
     291#--without-cxsparse
     292#--without-umfpack
     293depends_lib-append  port:SuiteSparse
     294foreach lib {amd camd colamd cholmod cxsparse umfpack} {
     295    configure.args-append \
     296        --with-${lib}="-l${lib} -lsuitesparseconfig"
     297}
     298
     299#--without-qhull
     300depends_lib-append  port:qhull
     301
     302#--without-z
     303depends_lib-append  port:zlib
     304
     305#--without-hdf5
     306depends_lib-append  port:hdf5
     307
     308#--disable-fftw-threads
     309#--without-fftw3
     310#--without-fftw3f
     311depends_lib-append  port:fftw-3
     312depends_lib-append  port:fftw-3-single
     313
     314#--without-glpk
     315depends_lib-append  port:glpk
     316
     317#--without-curl
     318depends_lib-append  port:curl
     319
     320#--without-qrupdate
     321depends_lib-append port:qrupdate
     322
     323#--without-arpack
     324depends_lib-append port:arpack
     325
     326#--without-openssl
     327depends_lib-append port:openssl
     328
     329# fortran arch flag is not set automatically
     330if {![variant_isset universal]} {
     331    if {${build_arch} eq "x86_64" || ${build_arch} eq "ppc64"} {
     332        configure.fflags-append -m64
     333    } else {
     334        configure.fflags-append -m32
     335    }
     336}
     337
     338# see etc/README.MacOS
     339depends_run-append   \
     340    port:epstool     \
     341    port:ghostscript \
     342    port:transfig    \
     343    port:pstoedit
     344
     345depends_run-append port:octave_select
     346
     347variant accelerate description {use BLAS from Apple's Accelerate.framework} conflicts atlas openblas {
     348    depends_lib-append port:vecLibFort
     349
     350    # dependents must be built with same BLAS and LAPACK
     351    #require_active_variants port:arpack      accelerate
     352    #require_active_variants port:SuiteSparse accelerate
     353    #require_active_variants port:qrupdate    accelerate
     354
     355    configure.args-append        \
     356        --with-blas=-lvecLibFort \
     357        --with-lapack=""
     358}
     359
     360variant openblas description {use BLAS from MacPorts' openblas port} conflicts atlas accelerate {
     361
     362    depends_lib-append path:lib/libopenblas.dylib:OpenBLAS
     363    # LAPACK required
     364    require_active_variants path:lib/libopenblas.dylib:OpenBLAS lapack
     365
     366    # dependents must be built with same BLAS and LAPACK
     367    #require_active_variants port:arpack      openblas
     368    #require_active_variants port:SuiteSparse openblas
     369    #require_active_variants port:qrupdate    openblas
     370
     371    # replicate default values if configure script finds openblas on its own
     372    configure.args-append        \
     373        --with-blas=-lopenblas   \
     374        --with-lapack=""
     375}
     376
     377variant atlas description {use BLAS from MacPorts' atlas port} conflicts accelerate openblas {
     378    depends_lib-append port:atlas
     379
     380    # dependents must be built with same BLAS and LAPACK
     381    #require_active_variants port:arpack      atlas
     382    #require_active_variants port:SuiteSparse atlas
     383    #require_active_variants port:qrupdate    atlas
     384
     385    # replicate default values if configure script finds atlas on its own
     386    configure.args-append        \
     387        --with-blas="-lcblas -lf77blas -latlas" \
     388        --with-lapack=-llapack
     389}
     390
     391if {![variant_isset accelerate] && ![variant_isset openblas] && ![variant_isset atlas] } {
     392    default_variants-append +accelerate
     393}
     394
     395if {![variant_isset accelerate] && ![variant_isset openblas] && ![variant_isset atlas] } {
     396    ui_error "\n\nYou must select either the +accelerate, +atlas, or +openblas variant.\n"
     397    return -code error "Invalid variant selection"
     398}
     399
     400variant java description {enable Java interface} {
     401    PortGroup java 1.0
     402    configure.args-replace --disable-java --enable-java
     403}
     404default_variants-append +java
     405
     406variant qt4gui description {build the GUI using Qt4} {
     407    PortGroup qt4 1.0
     408    depends_lib-append  port:qscintilla
     409    configure.args-replace --disable-gui --enable-gui
     410}
     411default_variants-append +qt4gui
     412
     413variant fltk description {enable fltk as a graphics toolkit for plotting} {
     414    depends_lib-append path:lib/libfltk.dylib:fltk
     415
     416    # as of version 4.1.0 revision 0:
     417    #    without fltk, configure script turns off "native_graphics," and
     418    #       does not look for either freetype or gl2ps
     419    #    it still looks for and links against fontconfig, however
     420    depends_lib-append \
     421        port:freetype  \
     422        port:gl2ps
     423
     424    configure.args-replace --without-fltk --with-fltk
     425}
     426default_variants-append +fltk
     427
     428variant jit description {enable JIT compiler (EXPERIMENTAL)} {
     429    # JIT requires LLVM, so select a version to use
     430    set llvm_ver 3.7
     431
     432    # prevent multiple versions of llvm being required
     433    # if clangXY compiler is requested, use llvm-X.Y
     434    foreach clang ${compilers.clang_variants} {
     435        if { [variant_exists ${clang}] && [variant_isset ${clang}] } {
     436            set llvm_ver [string index ${clang} end-1].[string index ${clang} end]
     437        }
     438    }
     439
     440    depends_lib-append port:llvm-${llvm_ver}
     441    configure.args-replace --disable-jit --enable-jit
     442    configure.env-append LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_ver}
     443    configure.cxxflags-append -std=c++11
     444}
     445
     446if {[variant_isset fltk] && [variant_isset qt4gui]} {
     447    notes-append "unless octave is run with --no-gui-libs, graphics_toolkit(\"fltk\") will cause a crash"
     448}
     449
     450variant sound description {enable audio support (file I/O and playback)} {
     451    depends_lib-append port:libsndfile
     452    depends_lib-append port:portaudio
     453
     454    configure.args-replace --without-sndfile   --with-sndfile
     455    configure.args-replace --without-portaudio --with-portaudio
     456}
     457default_variants-append +sound
     458
     459variant app description {} {
     460    depends_build-append port:ImageMagick
     461
     462    global appName
     463    set appName Octave_${version}.app
     464
     465    post-build {
     466        xinstall -d -p -m 0755 ${worksrcpath}/${appName}/Contents
     467        xinstall -d -p -m 0755 ${worksrcpath}/${appName}/Contents/Resources
     468        xinstall -d -p -m 0755 ${worksrcpath}/${appName}/Contents/MacOS
     469
     470        set script [open "${worksrcpath}/${appName}/Contents/MacOS/Octave" w 0755]
     471        puts ${script} "#!/bin/sh"
     472        puts ${script} ""
     473        if { [variant_isset qt4gui] } {
     474            puts ${script} "${prefix}/bin/octave-${version} --force-gui"
     475        } else {
     476            puts ${script} "/usr/bin/osascript -e 'tell application \"Terminal\" to do script \"${prefix}/bin/octave-${version}  --no-gui-libs; exit\"'"
     477        }
     478        close ${script}
     479
     480        #NSHumanReadableCopyright      ''
     481        #LSUIElement                   1
     482        set values "
     483            CFBundleDevelopmentRegion     English
     484            CFBundleExecutable            Octave
     485            CFBundleIconFile              Octave.icns
     486            CFBundleDocumentTypes         {-array \'{\"CFBundleTypeExtensions\" = (\"m\"); \"CFBundleTypeOSTypes\" = (\"Mfile\"); \"CFBundleTypeRole\" = \"Editor\";}\'}
     487            CFBundleIdentifier            org.octave.Octave
     488            CFBundleInfoDictionaryVersion 6.0
     489            CFBundleSignature             Octave
     490            CFBundleVersion               ${version}
     491            CFBundleShortVersionString    ${version}
     492        "
     493        foreach {key value} ${values} {
     494            system "/usr/bin/defaults write ${worksrcpath}/${appName}/Contents/Info ${key} ${value}"
     495        }
     496
     497        # have Info.plist be human readable
     498        system "/usr/bin/plutil -convert xml1 ${worksrcpath}/${appName}/Contents/Info.plist"
     499
     500        # conversion by plutil set verys limited permission
     501        system "/bin/chmod 0644 ${worksrcpath}/${appName}/Contents/Info.plist"
     502
     503        xinstall -d -m 0755 ${worksrcpath}/Octave.iconset
     504
     505        # values from original SVG file
     506        set svg    etc/icons/octave-logo.svg
     507        set width  283.28912
     508        set height 283.28833
     509        set dpi    90
     510
     511        foreach res {16 32 128 256 512} {
     512
     513            set hres [expr 2*${res}]
     514
     515            # find new density so that converted PNG files do not look pixelated
     516            set denw  [expr ${dpi}*${res}/${width}]
     517            set denh  [expr ${dpi}*${res}/${height}]
     518
     519            set hdenw [expr 2*${denw}]
     520            set hdenh [expr 2*${denh}]
     521
     522            system -W ${worksrcpath} "${prefix}/bin/convert -background transparent -resize ${res}x${res}   -density ${denw}x${denh}   ${svg}  Octave.iconset/icon_${res}x${res}.png"
     523            system -W ${worksrcpath} "${prefix}/bin/convert -background transparent -resize ${hres}x${hres} -density ${hdenw}x${hdenh} ${svg} Octave.iconset/icon_${res}x${res}@2x.png"
     524        }
     525
     526        system -W ${worksrcpath} "/usr/bin/iconutil -c icns -o ${appName}/Contents/Resources/Octave.icns Octave.iconset"
     527    }
     528
     529    post-destroot {
     530        copy ${worksrcpath}/${appName} ${destroot}${applications_dir}
     531    }
     532}
     533default_variants-append +app
     534
     535# GraphicsMagick and octave need to be built with the same C++ standard library
     536# or else undefined symbols:
     537#    "Magick::Image::ping(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)"
     538set magickConflict {}
     539set magickDefault yes
     540if {${configure.cxx_stdlib} ne "libstdc++"} {
     541    foreach gccVar ${compilers.gcc_variants} {
     542        if {[variant_exists ${gccVar}] } {
     543            lappend magickConflict ${gccVar}
     544
     545            if {[variant_isset ${gccVar}] } {
     546                set magickDefault no
     547            }
     548        }
     549    }
     550}
     551eval "variant graphicsmagick description {use GraphicsMagick for image I/O} conflicts ${magickConflict} {
     552    depends_lib-append port:GraphicsMagick
     553    configure.args-replace --without-magick --with-magick=GraphicsMagick
     554}"
     555if {${magickDefault}} {
     556    default_variants-append +graphicsmagick
     557}
     558
     559# remove architecture flags from header file
     560if { [variant_exists universal] && [variant_isset universal] } {
     561    merger-post-destroot {
     562        foreach arch ${universal_archs_to_use} {
     563            set hfile ${destroot}-${arch}${prefix}/include/octave-${version}/octave/oct-conf.h
     564            reinplace "s:-arch ${arch}::g"   ${hfile}
     565            reinplace {s:-m32::g}            ${hfile}
     566            reinplace {s:-m64::g}            ${hfile}
     567        }
     568    }
     569} else {
     570    post-destroot {
     571        set hfile ${destroot}${prefix}/include/octave-${version}/octave/oct-conf.h
     572        reinplace "s:-arch ${build_arch}::g" ${hfile}
     573        reinplace {s:-m32::g}                ${hfile}
     574        reinplace {s:-m64::g}                ${hfile}
     575    }
     576}
     577
     578# remove or rename conflicting files
     579post-destroot {
     580    foreach bin {mkoctfile octave octave-cli octave-config} {
     581        # delete since just a link to versioned name
     582        file delete ${destroot}${prefix}/bin/${bin}
     583
     584        # put version number in man file
     585        move ${destroot}${prefix}/share/man/man1/${bin}.1 ${destroot}${prefix}/share/man/man1/${bin}-${version}.1
     586    }
     587
     588    # put version nubmer in info files
     589    foreach name {liboctave octave} {
     590        move ${destroot}${prefix}/share/info/${name}.info  ${destroot}${prefix}/share/info/${name}-${version}.info
     591    }
     592    foreach suffix {1 2 3 4 5 6 7 8 9} {
     593        move ${destroot}${prefix}/share/info/octave.info-${suffix}  ${destroot}${prefix}/share/info/octave-${version}.info-${suffix}
     594    }
     595
     596    # put any startup commands in ${destroot}${prefix}/share/octave/${version}/m/startup/octaverc
     597    # see https://www.gnu.org/software/octave/doc/interpreter/Startup-Files.html
     598    file delete ${destroot}${prefix}/share/octave/site/m/startup/octaverc
     599
     600    # move appdata and icons into a versioned directory
     601    xinstall -d -m 0755 ${destroot}${prefix}/share/octave/${version}/appdata
     602    move \
     603        ${destroot}${prefix}/share/appdata/www.octave.org-octave.appdata.xml \
     604        ${destroot}${prefix}/share/octave/${version}/appdata/
     605    foreach num {16 22 24 32 48 64 128 256 512} {
     606        xinstall -d -m 0755 -p ${destroot}${prefix}/share/octave/${version}/icons/hicolor/${num}x${num}/apps
     607        move \
     608            ${destroot}${prefix}/share/icons/hicolor/${num}x${num}/apps/octave.png \
     609            ${destroot}${prefix}/share/octave/${version}/icons/hicolor/${num}x${num}/apps/octave.png
     610    }
     611    xinstall -d -m 0755 -p ${destroot}${prefix}/share/octave/${version}/icons/hicolor/scalable/apps
     612    move \
     613        ${destroot}${prefix}/share/icons/hicolor/scalable/apps/octave.svg \
     614        ${destroot}${prefix}/share/octave/${version}/icons/hicolor/scalable/apps/octave.svg
     615}
     616
     617test.run    yes
     618test.target check
     619
     620livecheck.type    regexm
     621livecheck.url     http://hg.savannah.gnu.org/hgweb/octave/tags
     622livecheck.version ${hg.tag}
Note: See TracChangeset for help on using the changeset viewer.