diff options
author | Cornholio | 2017-06-12 19:43:25 -0400 |
---|---|---|
committer | Cornholio | 2017-06-12 19:43:25 -0400 |
commit | d608ebe24c080b64261aa5932fba2090bb01d449 (patch) | |
tree | e938634c8e01af898d4573137655a2330d278239 | |
parent | 77a6774c29f0fb7fe951525ae3dbac8592056f70 (diff) | |
download | aur-d608ebe24c080b64261aa5932fba2090bb01d449.tar.gz |
Update to 5.0.10
-rw-r--r-- | .SRCINFO | 30 | ||||
-rwxr-xr-x | PKGBUILD | 94 | ||||
-rwxr-xr-x | externallibs.mk | 63 | ||||
-rw-r--r-- | fsl_exec.patch | 11 | ||||
-rwxr-xr-x | systemvars.mk | 45 |
5 files changed, 223 insertions, 20 deletions
@@ -1,14 +1,36 @@ pkgbase = fsl pkgdesc = A comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data - pkgver = 5.0.9 + pkgver = 5.0.10 pkgrel = 1 url = http://www.fmrib.ox.ac.uk/fsl/ arch = i686 arch = x86_64 license = custom - optdepends = fslview - source = http://www.fmrib.ox.ac.uk/fsldownloads/fsl-5.0.9-sources.tar.gz - sha1sums = dc3c9b1129dff3be2d042237903b4c72d8ffca1a + depends = gd + depends = libxml2 + depends = libxml++2.6 + depends = gsl + depends = libpng + depends = nlopt + depends = newmat + depends = tcl + depends = tk + depends = zlib + depends = python + depends = glu + depends = boost-libs + depends = vtk6 + optdepends = cuda + source = http://www.fmrib.ox.ac.uk/fsldownloads/fsl-5.0.10-sources.tar.gz + source = http://www.fmrib.ox.ac.uk/fsldownloads/fsl-5.0.10-feeds.tar.gz + source = systemvars.mk + source = externallibs.mk + source = fsl_exec.patch + sha1sums = 34a4a3a0c3bc9e6fbf9a9745636c7b3b4479ecdf + sha1sums = 35108d2da18a6dfe1f9f6f6ff81b1a0836235c3c + sha1sums = 8c4badea905d49b10a937f9fd64ba1e7df384f25 + sha1sums = f7841c51fb221a74017400e4daef7de640679887 + sha1sums = 2df550b126a6ec6022a164a18dddffe4e59962f9 pkgname = fsl @@ -1,56 +1,113 @@ # Contributor: cornholio <vigo.the.unholy.carpathian@gmail.com> pkgname=fsl -pkgver=5.0.9 +pkgver=5.0.10 pkgrel=1 pkgdesc="A comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data" arch=("i686" "x86_64") url="http://www.fmrib.ox.ac.uk/fsl/" license=(custom) -depends=() +depends=(gd libxml2 libxml++2.6 gsl libpng nlopt newmat tcl tk zlib python glu boost-libs vtk6) makedepends=() -optdepends=("fslview") -md5sums=('5e38052b268dbc0fc09114615eff85c9') +optdepends=(cuda) +sha1sums=('34a4a3a0c3bc9e6fbf9a9745636c7b3b4479ecdf' + '35108d2da18a6dfe1f9f6f6ff81b1a0836235c3c' + '8c4badea905d49b10a937f9fd64ba1e7df384f25' + 'f7841c51fb221a74017400e4daef7de640679887' + '2df550b126a6ec6022a164a18dddffe4e59962f9') -source=("http://www.fmrib.ox.ac.uk/fsldownloads/fsl-${pkgver}-sources.tar.gz") +source=("http://www.fmrib.ox.ac.uk/fsldownloads/fsl-${pkgver}-sources.tar.gz" + "http://www.fmrib.ox.ac.uk/fsldownloads/fsl-${pkgver}-feeds.tar.gz" + "systemvars.mk" + "externallibs.mk" + "fsl_exec.patch") -build() { +prepare() { + cd "${srcdir}" + export FSLDIR="${srcdir}/fsl" . "${FSLDIR}/etc/fslconf/fsl.sh" export FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh` + # Create new configuration if [ ! -e "${FSLDIR}/config/${FSLMACHTYPE}" ]; then - cp -rv "${FSLDIR}/config/linux_64-gcc4.4" "${FSLDIR}/config/${FSLMACHTYPE}" + mkdir "${FSLDIR}/config/${FSLMACHTYPE}" + cp "${srcdir}/systemvars.mk" "${FSLDIR}/config/${FSLMACHTYPE}/" + cp "${srcdir}/externallibs.mk" "${FSLDIR}/config/${FSLMACHTYPE}/" fi + # Fix 32-bit if test "$CARCH" == i686; then - sed -i "s^-m64^^g" "${FSLDIR}/config/${FSLMACHTYPE}/systemvars.mk" + sed -i "s^-m64^^g" "${FSLDIR}/config/${FSLMACHTYPE}/systemvars.mk" fi - sed -i 's^#include <vector>^#include <vector>\n#include <stdlib.h>^g' "${FSLDIR}/src/utils/opttst.cc" + # Use system TCL + sed -i 's^$FSLDIR/bin/fsltclsh^/usr/bin/tclsh^g' "${FSLDIR}/etc/fslconf/fsl.sh" + sed -i 's^$FSLDIR/bin/fsltclsh^/usr/bin/tclsh^g' "${FSLDIR}/etc/fslconf/fsl-devel.sh" + sed -i 's^$FSLDIR/bin/fsltclsh^/usr/bin/tclsh^g' "${FSLDIR}/etc/fslconf/fsl.csh" + + # Disable building of system libraries + sed -i 's/ libgd / /g' "${FSLDIR}/extras/build" + sed -i 's/ libxml2-2.9.2 / /g' "${FSLDIR}/extras/build" + sed -i 's/ libxml++-2.34.0 / /g' "${FSLDIR}/extras/build" + sed -i 's/ newmat / /g' "${FSLDIR}/extras/build" + sed -i 's/ boost / /g' "${FSLDIR}/extras/build" + sed -i 's/ libnlopt / /g' "${FSLDIR}/extras/build" + sed -i 's/ libpng"/"/g' "${FSLDIR}/extras/build" + sed -i 's/ libiconv"/"/g' "${FSLDIR}/extras/build" + sed -i 's/ zlib"/"/g' "${FSLDIR}/extras/build" + sed -i 's/ fftw"/"/g' "${FSLDIR}/extras/build" + sed -i 's/"tcl tk"/""/g' "${FSLDIR}/extras/build" + + # Fix Melodic use of ifstream + sed -i 's^if(in>0)^if(!!in)^g' "${FSLDIR}/src/melodic/meldata.cc" + + # Add missing library directories + sed -i 's^-L${LIB_ZLIB}$^& -L${LIB_PROB}^g' "${FSLDIR}/src/asl_mfree/Makefile" + sed -i 's^-L${LIB_NEWMAT} $^&-L${LIB_PROB}^g' "${FSLDIR}/src/first/Makefile" + sed -i 's^-L${LIB_NEWMAT} $^&-L${LIB_PROB}^g' "${FSLDIR}/src/topup/Makefile" + + # Fix problem w/ dynamically-linked boost + sed -i 's^USRCXXFLAGS = -std=c++11$^& -DBOOST_LOG_DYN_LINK^g' "${FSLDIR}/src/mist-clean/Makefile" + + # Fix fsl_exec.tcl session issue (https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=fsl;e8fa48c1.1501) + patch -p0 < fsl_exec.patch + +} - sed -i "s^//#include <cmath>^#include <cmath>^g" "${FSLDIR}/src/fslsurface/fslsurface_structs.h" +build() { + export FSLDIR="${srcdir}/fsl" cd "${FSLDIR}" ./build } +check() { + + export FSLDIR="${srcdir}/fsl" + export FEEDSDIR="${srcdir}/feeds" + . "${FSLDIR}/etc/fslconf/fsl.sh" + cd "${FEEDSDIR}" + time ./RUN all +} + package() { + rm -rf "${srcdir}/fsl/src" rm -rf "${srcdir}/fsl/extras/src" - mkdir -p "${pkgdir}/usr/bin" + rm -rf "${srcdir}/fsl/extras/include" mkdir -p "${pkgdir}/opt/fsl" - cp "${srcdir}/fsl/bin/"* "${pkgdir}/usr/bin/" + cp -r "${srcdir}/fsl/bin" "${pkgdir}/opt/fsl/" cp -r "${srcdir}/fsl/data" "${pkgdir}/opt/fsl/" cp -r "${srcdir}/fsl/doc" "${pkgdir}/opt/fsl/" cp -r "${srcdir}/fsl/etc" "${pkgdir}/opt/fsl/" cp -r "${srcdir}/fsl/extras" "${pkgdir}/opt/fsl/" - cp -r "${srcdir}/fsl/include" "${pkgdir}/opt/fsl/" cp -r "${srcdir}/fsl/lib" "${pkgdir}/opt/fsl/" cp -r "${srcdir}/fsl/refdoc" "${pkgdir}/opt/fsl/" cp -r "${srcdir}/fsl/tcl" "${pkgdir}/opt/fsl/" + cp -r "${srcdir}/feeds" "${pkgdir}/opt/fsl/" mkdir -p "${pkgdir}/etc/profile.d" echo 'FSLDIR=/opt/fsl' > "${pkgdir}/etc/profile.d/fsl.sh" @@ -62,9 +119,14 @@ package() { find "${pkgdir}" -type f -exec chmod 644 {} \; find "${pkgdir}" -type d -exec chmod 755 {} \; - find "${pkgdir}/usr/bin" -exec chmod 755 {} \; + find "${pkgdir}/opt/fsl/bin" -exec chmod 755 {} \; find "${pkgdir}/opt/fsl/etc/fslconf" -exec chmod 755 {} \; - find "${pkgdir}/opt/fsl/extras/bin" -exec chmod 755 {} \; chmod 755 "${pkgdir}/etc/profile.d/fsl.sh" - ln -s /usr/bin "${pkgdir}/opt/fsl/bin" + + mkdir -p "${pkgdir}/opt/fsl/feeds/results" + chmod -R 777 "${pkgdir}/opt/fsl/feeds/results" + chmod 755 "${pkgdir}/opt/fsl/feeds/RUN" + + find "${pkgdir}" -empty -delete + find "${pkgdir}" -type f -exec sed -i 's^/usr/local/fsl^/opt/fsl^g' "{}" \; } diff --git a/externallibs.mk b/externallibs.mk new file mode 100755 index 000000000000..4a0f04e8b4f5 --- /dev/null +++ b/externallibs.mk @@ -0,0 +1,63 @@ +# $Id: externallibs.mk,v 1.1 2017/02/18 12:20:05 mwebster Exp $ + +# External Library and Include Paths + +FSLEXTLIB=${FSLDIR}/extras/lib +FSLEXTINC=${FSLDIR}/extras/include +FSLEXTBIN=${FSLDIR}/extras/bin + +# GD library +LIB_GD = /usr/lib +INC_GD = /usr/include + +# GDC library +LIB_GDC = ${FSLEXTLIB} +INC_GDC = ${FSLEXTINC}/libgdc + +# LIBXML2 library +INC_XML2 = /usr/include/libxml2 + +# LIBXML++ library +INC_XML++ = /usr/include/libxml++-2.6 +INC_XML++CONF = /usr/lib/libxml++-2.6/include +# GSL library +LIB_GSL = /usr/lib +INC_GSL = /usr/include/gsl + +# PNG library +LIB_PNG = /usr/lib +INC_PNG = /usr/include/libpng16 + +# PROB library +LIB_PROB = ${FSLEXTLIB} +INC_PROB = ${FSLEXTINC}/libprob + +# CPROB library +LIB_CPROB = ${FSLEXTLIB} +INC_CPROB = ${FSLEXTINC}/libcprob + +# NEWMAT library +LIB_NEWMAT = /usr/lib +INC_NEWMAT = /usr/include/newmat + +# NEWRAN library +LIB_NEWRAN = ${FSLEXTLIB} +INC_NEWRAN = ${FSLEXTINC}/newran + +# ZLIB library +LIB_ZLIB = /usr/lib +INC_ZLIB = /usr/include + +# BOOST library +BOOSTDIR = /usr/include/boost +LIB_BOOST = ${BOOSTDIR} +INC_BOOST = /usr/lib + +# FFTW3 library +LIB_FFTW3 = /usr/include +INC_FFTW3 = /usr/lib + +# VTK library +VTKDIR_INC = /opt/vtk6/include/vtk +VTKDIR_LIB = /opt/vtk6/lib +VTKSUFFIX = diff --git a/fsl_exec.patch b/fsl_exec.patch new file mode 100644 index 000000000000..3a5628c37044 --- /dev/null +++ b/fsl_exec.patch @@ -0,0 +1,11 @@ +--- fsl/src/misc_tcl/fsl_exec.tcl.orig 2017-06-12 17:54:14.000000000 -0400 ++++ fsl/src/misc_tcl/fsl_exec.tcl 2017-06-12 18:45:07.176756012 -0400 +@@ -175,6 +175,7 @@ proc fsl:exec { thecommand args } { + set logout "" + } + ++ if { ! [ info exists ::errorCode ] } { set ::errorCode "NONE" } + # run and log the actual command + if { $do_logout } { + fsl:echo $logout "\n$thecommand" + diff --git a/systemvars.mk b/systemvars.mk new file mode 100755 index 000000000000..76180e2f9f1d --- /dev/null +++ b/systemvars.mk @@ -0,0 +1,45 @@ +# $Id: systemvars.mk,v 1.1 2017/02/18 12:20:05 mwebster Exp $ + +# System dependent paths + +RM = /bin/rm +CHMOD = /bin/chmod +MKDIR = /bin/mkdir +CP = /bin/cp +MV = /bin/mv +INSTALL = install -p +TCLSH = /usr/bin/tclsh +RANLIB = echo + +FSLML = ${FSLDIR}/bin/fslml + +# for SHELL, do not change the type of shell - only use Bourne or BASH +SHELL = /bin/sh + +# Compiler dependent variables + +CC = gcc +CXX = c++ +CXX11 = c++ +CSTATICFLAGS = -static +CXXSTATICFLAGS = -static + +ARCHFLAGS = -m64 + +PARALLELFLAGS = -fopenmp + +DEPENDFLAGS = -MM + +OPTFLAGS = -g -O3 -fexpensive-optimizations ${ARCHFLAGS} +MACHDBGFLAGS = -g +GNU_ANSI_FLAGS = -Wall -ansi -pedantic -std=c++11 -Wno-long-long +SGI_ANSI_FLAGS = -ansi -fullwarn +ANSI_FLAGS = ${GNU_ANSI_FLAGS} + +# CUDA development environment +CUDA_INSTALLATION = /opt/cuda +GENCODE_FLAGS = $(shell ${FSLDIR}/config/common/supportedGencodes.sh ${CUDA_INSTALLATION}) +LIB_CUDA = ${CUDA_INSTALLATION}/lib64 +INC_CUDA = ${CUDA_INSTALLATION}/include +NVCC = ${CUDA_INSTALLATION}/bin/nvcc +NVCC11=${CUDA_INSTALLATION}/bin/nvcc |