diff options
author | Frank Fishburn | 2017-11-25 16:52:52 -0500 |
---|---|---|
committer | Frank Fishburn | 2017-11-25 16:52:52 -0500 |
commit | 4e12e1c1ce5fc95d5ec6df44dbedea3ee129870c (patch) | |
tree | 598e6fbf36ab7f4c36703e3de4321fcfaea99777 | |
parent | 505dbbd893e615528a17f8121cf17bf545a48286 (diff) | |
download | aur-4e12e1c1ce5fc95d5ec6df44dbedea3ee129870c.tar.gz |
Bump version to 7219, use Github releases, improve matlab autodetection, add octave support
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 89 |
2 files changed, 69 insertions, 26 deletions
@@ -1,14 +1,14 @@ pkgbase = spm12 pkgdesc = A MATLAB toolbox for the analysis of brain imaging data sequences - pkgver = 6906 + pkgver = 7219 pkgrel = 1 url = http://www.fil.ion.ucl.ac.uk/spm/ arch = i686 arch = x86_64 license = GPL2 makedepends = make - source = http://www.fil.ion.ucl.ac.uk/spm/download/restricted/eldorado/spm12.zip - sha1sums = 5f6016292557593378e0d396c401594e242b4307 + source = spm12-r7219.tar.gz::https://github.com/spm/spm12/archive/spm12-r7219.tar.gz + sha256sums = 421e337c8685b0c2cfb43802459c4edd7cc322749ffbccdf68ee2e99b95ef843 pkgname = spm12 @@ -1,55 +1,98 @@ # Maintainer: Frank Fishburn <frankthefishburn@gmail.com> -#_MATLAB_DIR=/opt/matlab/R2016b + +## Configuration + +## Specify Matlab path (/opt/matlab/R* will be auto-detected and latest one used if there are multiple) +#_MATLAB_DIR= + +## You can override what gets built, otherwise it builds based on whats installed +#_BUILD_MATLAB= +#_BUILD_OCTAVE= pkgname=spm12 -pkgver=6906 +pkgver=7219 pkgrel=1 pkgdesc="A MATLAB toolbox for the analysis of brain imaging data sequences" arch=('i686' 'x86_64') url="http://www.fil.ion.ucl.ac.uk/spm/" license=('GPL2') makedepends=(make) -source=("http://www.fil.ion.ucl.ac.uk/spm/download/restricted/eldorado/spm12.zip") -sha1sums=('5f6016292557593378e0d396c401594e242b4307') +source=("${pkgname}-r${pkgver}.tar.gz::https://github.com/spm/${pkgname}/archive/${pkgname}-r${pkgver}.tar.gz") +sha256sums=('421e337c8685b0c2cfb43802459c4edd7cc322749ffbccdf68ee2e99b95ef843') prepare() { - cd "${srcdir}/spm12" + cd "${srcdir}/${pkgname}-r${pkgver}" + # Try to auto-detect the matlab install directory if [ -z "${_MATLAB_DIR}" ]; then - _MEX=$(which mex) - else - _MEX=${_MATLAB_DIR}/bin/mex + if [ -d "/opt/matlab" ]; then + _MATLAB_DIR=$(find /opt/matlab/R*/bin -mindepth 1 -maxdepth 1 -name mex | sort | tail -n 1 | xargs dirname | xargs dirname) + fi + fi + + # Set _BUILD_MATLAB switch if unset + if [ -z "${_BUILD_MATLAB}" ]; then + if [ -f "${_MATLAB_DIR}/bin/mex" ]; then + _BUILD_MATLAB=true + else + _BUILD_MATLAB=false + fi fi - if [ -f "${_MEX}" ]; then - sed -i "/MEXBIN = mex/c MEXBIN = ${_MEX}" src/Makefile.var - sed -i "s^largeArrayDims$^& CFLAGS=\"${CFLAGS} -fPIC\" CXXFLAGS=\"${CXXFLAGS} -fPIC\" LDFLAGS=\"${LDFLAGS}\"^g" src/Makefile.var - find . -type f -name \*.mex\* -delete + # Set _BUILD_OCTAVE switch if unset + if [ -z "${_BUILD_OCTAVE}" ]; then + if [ -f "/usr/bin/octave" ]; then + _BUILD_OCTAVE=true + else + _BUILD_OCTAVE=false + fi fi + + echo "Using Matlab directory: ${_MATLAB_DIR}" + + sed -i "/^MEXBIN/c MEXBIN = ${_MATLAB_DIR}/bin/mex" src/Makefile.var + sed -i "s^largeArrayDims$^& CFLAGS=\"${CFLAGS} -fPIC\" CXXFLAGS=\"${CXXFLAGS} -fPIC\" LDFLAGS=\"${LDFLAGS}\"^g" src/Makefile.var + find . -type f -name \*.mex\* -delete } build() { + + # Build Matlab + if [ "${_BUILD_MATLAB}" = true ]; then + cd "${srcdir}/${pkgname}-r${pkgver}/src" + make clean + make all + make install + + cd "${srcdir}/${pkgname}-r${pkgver}/external" + make clean + make all + make install + fi - cd "${srcdir}/spm12/src" - make clean - make all - make install + # Build Octave + if [ "${_BUILD_MATLAB}" = true ]; then + cd "${srcdir}/${pkgname}-r${pkgver}/src" + make clean + PLATFORM=octave make all + PLATFORM=octave make install - cd "${srcdir}/spm12/external" - make clean - make all - make install + cd "${srcdir}/${pkgname}-r${pkgver}/external" + make clean + PLATFORM=octave make all + PLATFORM=octave make install + fi } package() { - find "${srcdir}/spm12" -type d -name src -prune -exec rm -rv "{}" \; - find "${srcdir}/spm12" -type f -name Makefile\* -delete + find "${srcdir}/${pkgname}-r${pkgver}" -type d -name src -prune -exec rm -rv "{}" \; + find "${srcdir}/${pkgname}-r${pkgver}" -type f -name Makefile\* -delete mkdir "${pkgdir}/opt" - mv "${srcdir}/spm12" "${pkgdir}/opt/" + mv "${srcdir}/${pkgname}-r${pkgver}" "${pkgdir}/opt/${pkgname}" } |