summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCornholio2017-06-12 19:43:25 -0400
committerCornholio2017-06-12 19:43:25 -0400
commitd608ebe24c080b64261aa5932fba2090bb01d449 (patch)
treee938634c8e01af898d4573137655a2330d278239
parent77a6774c29f0fb7fe951525ae3dbac8592056f70 (diff)
downloadaur-d608ebe24c080b64261aa5932fba2090bb01d449.tar.gz
Update to 5.0.10
-rw-r--r--.SRCINFO30
-rwxr-xr-xPKGBUILD94
-rwxr-xr-xexternallibs.mk63
-rw-r--r--fsl_exec.patch11
-rwxr-xr-xsystemvars.mk45
5 files changed, 223 insertions, 20 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ee67dfc0261e..b7b7b7aac5be 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index a593f92b272f..920f66fd2a4a 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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