1
0
Fork 0

sci-biology/fsl: attempt at version bump 6.0.2

Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Horea Christian <chr@chymera.eu>
This commit is contained in:
Horea Christian 2019-11-06 23:30:23 +01:00
parent e2ad32eb15
commit ed14ef2be5
No known key found for this signature in database
GPG Key ID: EAA9223EE3BB378A
20 changed files with 2273 additions and 0 deletions

13
sci-biology/fsl/ChangeLog Normal file
View File

@ -0,0 +1,13 @@
*fsl-6.0.2 (06 Nov 2019)
06 Nov 2019; <chymera@gentoo.org> +files/99fsl,
+files/fsl-5.0.11-fslsurface_parallel_make.patch,
+files/fsl-5.0.11-ifstream_use.patch, +files/fsl-5.0.11-niftiio_var_fix.patch,
+files/fsl-5.0.11-no_xmlpp.patch, +files/fsl-5.0.11-qstring_compat.patch,
+files/fsl-5.0.11-setup.patch, +files/fsl-5.0.4-headers.patch,
+files/fsl-5.0.4-setup.patch, +files/fsl-5.0.6-fsldir_redux.patch,
+files/fsl-5.0.8-fsldir_redux.patch, +files/fsl-5.0.8-headers.patch,
+files/fsl-5.0.8-setup.patch, +files/fsl-5.0.9-fsldir_redux.patch,
+files/fsl-5.0.9-headers.patch, +files/fsl-5.0.9-setup.patch,
+fsl-6.0.2.ebuild, +metadata.xml:
sci-biology/fsl: attempt at version bump 6.0.2

1
sci-biology/fsl/Manifest Normal file
View File

@ -0,0 +1 @@
DIST fsl-6.0.2.tar.gz 2505331864 SHA256 c118b351c6cedb441af7e1b9d194cf344505ff53b417063f697b86305a908afd SHA512 fe308393076c51c50b086f9bf7ff5ddebcf8b1284128e734b9d9e501019917ceba7c0ee5cd5aa1ed44452bcd042ad72653c1a8693f94eab9b83a80fe508a56ca WHIRLPOOL ecb62e9d09cc34ac926353e4a9a131be875428b729bcf2d6f1433d9ea1a7e2b9382d1a1b305651705449a48eb3c576899f09f82ae4254b149a6219096eb45d3d

View File

@ -0,0 +1,5 @@
FSLOUTPUTTYPE=NIFTI_GZ
FSLMULTIFILEQUIT=TRUE
FSLTCLSH=tclsh
FSLWISH=wish
FSLDIR=/usr/share/fsl

View File

@ -0,0 +1,14 @@
diff --git a/src/fslsurface/Makefile b/src/fslsurface/Makefile
index 37f459c..008f443 100644
--- a/src/fslsurface/Makefile
+++ b/src/fslsurface/Makefile
@@ -57,7 +57,7 @@ fslsurfacegl.a: fslsurfacegl.o fslsurface.a
${AR} -r libfslsurfacegl.a fslsurfacegl.o
fslsurface_backcompat.a: fslsurface_first.o fslsurface_dataconv.o fslsurface.a
${AR} -r libfslsurface_backcompat.a fslsurface_first.o fslsurface_dataconv.o
-fslsurfacemaths: fslsurface.a fslsurfacemaths.o
+fslsurfacemaths: fslsurface.a fslsurfacemaths.o fslsurfaceio.o fslsurfacefns.o fslsurface_first.o fslsurface.o
${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ fslsurfacemaths.o fslsurfaceio.o fslsurfacefns.o fslsurface_first.o fslsurface.o ${LIBS} ${FMLIBS}
-marching_cubes: fslsurface.a marching_cubes.o
+marching_cubes: fslsurface.a marching_cubes.o fslsurfaceio.o fslsurfacefns.o
${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ marching_cubes.o fslsurfaceio.o fslsurfacefns.o ${LIBS} ${FMLIBS}

View File

@ -0,0 +1,13 @@
diff --git a/src/melodic/meldata.cc b/src/melodic/meldata.cc
index f310dc7..03fe8bb 100644
--- a/src/melodic/meldata.cc
+++ b/src/melodic/meldata.cc
@@ -1015,7 +1015,7 @@ namespace Melodic{
Resels = 1.0;
in.open(logger.appendDir("smoothest").c_str(), ios::in);
- if(in>0){
+ if(in.is_open()){
for(int ctr=1; ctr<7; ctr++)
in >> str;
in.close();

View File

@ -0,0 +1,24 @@
diff --git a/src/fslio/dbh.h b/src/fslio/dbh.h
index eff0a50a..fbce1770 100644
--- a/src/fslio/dbh.h
+++ b/src/fslio/dbh.h
@@ -79,19 +79,6 @@ struct dsr /* dsr */
struct data_history hist; /* 148 + 200 */
}; /* total=348 */
-/* Acceptable values for hdr.dime.datatype */
-
-#define DT_NONE 0
-#define DT_UNKNOWN 0
-#define DT_BINARY 1
-#define DT_UNSIGNED_CHAR 2
-#define DT_SIGNED_SHORT 4
-#define DT_SIGNED_INT 8
-#define DT_FLOAT 16
-#define DT_COMPLEX 32
-#define DT_DOUBLE 64
-#define DT_RGB 128
-#define DT_ALL 255
typedef struct
{

View File

@ -0,0 +1,44 @@
diff --git a/src/flameo/Makefile b/src/flameo/Makefile
index 5389e2f..52785c3 100644
--- a/src/flameo/Makefile
+++ b/src/flameo/Makefile
@@ -2,7 +2,7 @@ include ${FSLCONFDIR}/default.mk
PROJNAME = flame
-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_ZLIB} -DCIFTILIB_USE_XMLPP -I${FSLEXTINC} -I${INC_XML2} -I${INC_XML++} -I${INC_XML++CONF} -I${INC_BOOST} -I${FSLDIR}/include/ciftiio
+USRINCFLAGS = -fPIC -I${INC_NEWMAT} -I${INC_PROB} -I${INC_ZLIB} -I${FSLEXTINC} ${CIFTICFLAGS} -I${INC_BOOST} -I${FSLDIR}/include/ciftiio
USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_ZLIB}
UNAME := $(shell uname)
@@ -10,7 +10,7 @@ ifeq (${UNAME},Darwin)
LIBS = -liconv
endif
-LIBS += -lutils -lnewimage -lmiscmaths -lm -lnewmat -lfslio -lniftiio -lcifti -lxml++-2.6 -lxml2 -lboost_filesystem -lboost_system -lznz -lprob -lz
+LIBS += -lutils -lnewimage -lmiscmaths -lm -lnewmat -lfslio -lniftiio ${CIFTILIBS} -lboost_filesystem -lboost_system -lznz -lprob -lz
XFILES = flameo
diff --git a/src/melodic/Makefile b/src/melodic/Makefile
index 53b951a..803c39e 100644
--- a/src/melodic/Makefile
+++ b/src/melodic/Makefile
@@ -7,7 +7,7 @@ OPTFLAGS_alphaev6-dec-osf5.0-gcc2.95.2 = -O3 -mieee -mfp-trap-mode=sui
PROJNAME = melodic
-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} -DCIFTILIB_USE_XMLPP -I${FSLEXTINC} -I${INC_XML2} -I${INC_XML++} -I${INC_XML++CONF} -I${INC_BOOST} -I${FSLDIR}/include/ciftiio
+USRINCFLAGS = -fPIC -I${INC_NEWMAT} -I${INC_PROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} -I${FSLEXTINC} ${CIFTICFLAGS} -I${INC_BOOST} -I${FSLDIR}/include/ciftiio
USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB}
UNAME := $(shell uname)
@@ -15,7 +15,7 @@ ifeq (${UNAME},Darwin)
LIBS = -liconv
endif
-LIBS += -lutils -lnewimage -lmiscplot -lmiscpic -lmiscmaths -lfslio -lniftiio -lcifti -lxml++-2.6 -lxml2 -lboost_filesystem -lboost_system -lznz -lnewmat -lprob -lm -lgdc -lgd -lpng -lz
+LIBS += -lutils -lnewimage -lmiscplot -lmiscpic -lmiscmaths -lfslio -lniftiio ${CIFTILIBS} -lboost_filesystem -lboost_system -lznz -lnewmat -lprob -lm -lgdc -lgd -lpng -lz
TEST_OBJS = test.o

View File

@ -0,0 +1,63 @@
From bbd60f634cdcdfbbb3eb8f3b6d00f366d9f34bf9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
Date: Thu, 18 Oct 2018 11:21:05 +1300
Subject: [PATCH] Basic compatibility between for AString built with either
glib ustring or QString
---
src/flameo/gsa.cc | 4 ++--
src/melodic/meldata.cc | 2 +-
src/melodic/meldata.h | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/flameo/gsa.cc b/src/flameo/gsa.cc
index 6a477f9..0860d46 100644
--- a/src/flameo/gsa.cc
+++ b/src/flameo/gsa.cc
@@ -74,7 +74,7 @@ namespace GSA {
sourceType=mode;
if ( sourceType.compare("CIFTI") == 0 ) {
cifti::CiftiFile inputCifti;
- inputCifti.openFile(fslbasename(filename)+".nii");
+ inputCifti.openFile((fslbasename(filename)+".nii").c_str());
ciftiExemplar=inputCifti.getCiftiXML();
cerr << "ndim " << ciftiExemplar.getNumberOfDimensions() << endl;
cerr << "type1 " << ciftiExemplar.getMappingType(0) << endl;
@@ -194,7 +194,7 @@ namespace GSA {
scalarsMap.setLength(data.Nrows());
ciftiExemplar.setMap(0, scalarsMap);
CiftiFile outputFile;
- outputFile.setWritingFile(fslbasename(filename)+extension+".nii");//sets up on-disk writing with default writing version
+ outputFile.setWritingFile((fslbasename(filename)+extension+".nii").c_str());//sets up on-disk writing with default writing version
outputFile.setCiftiXML(ciftiExemplar,false);
vector<float> scratchRow(data.Nrows());//read/write a row at a time
for (int64_t row=0;row<data.Ncols();row++) {
diff --git a/src/melodic/meldata.cc b/src/melodic/meldata.cc
index f310dc7..5e9bc18 100644
--- a/src/melodic/meldata.cc
+++ b/src/melodic/meldata.cc
@@ -118,7 +118,7 @@ namespace Melodic{
tmpData = RawData.matrix(Mask);
memmsg(" after reshape ");
} else { //Read in Cifti
- inputCifti.openFile(fname+".nii");
+ inputCifti.openFile((fname+".nii").c_str());
const vector<int64_t>& dims = inputCifti.getDimensions();
tmpData.ReSize(dims[0],dims[1]); //swapped compared to cifti
vector<float> scratchRow(dims[0]);//read/write a row at a time
diff --git a/src/melodic/meldata.h b/src/melodic/meldata.h
index 1e1adfc..d898152 100644
--- a/src/melodic/meldata.h
+++ b/src/melodic/meldata.h
@@ -109,7 +109,7 @@ namespace Melodic{
message(" " << logger.appendDir(fname) << endl);
} else { //Process CIFTI save ICs as float
cifti::CiftiFile outputFile;
- outputFile.setWritingFile(logger.appendDir(fname)+".nii");//sets up on-disk writing with default writing version
+ outputFile.setWritingFile((logger.appendDir(fname)+".nii").c_str());//sets up on-disk writing with default writing version
cifti::CiftiXML xml(inputCifti.getCiftiXML());
cifti::CiftiScalarsMap scalarsMap;
std::vector<char> foo = xml.writeXMLToVector();
--
2.18.1

View File

@ -0,0 +1,158 @@
diff --git a/build b/build
index 6827443..19b2002 100755
--- a/build
+++ b/build
@@ -3,7 +3,7 @@
if [ $# -ge 1 ] ; then
PROJECTS="$@";
else
- MASTERPROJECTS="CiftiLib-master utils znzlib NewNifti niftiio fslio giftiio miscmaths newimage libhfunc libvis first_lib \
+ MASTERPROJECTS="utils znzlib NewNifti niftiio fslio giftiio miscmaths newimage libhfunc libvis first_lib \
meshclass fslvtkio misc_tcl basisfield warpfns bint shapeModel MVdisc fslvtkconv fslsurface libmeshutils newmesh \
DiscreteOpt FastPDlib MSMRegLib \
misc_c avwutils basil bet2 cluster dpm copain tissue fast4 feat5 film filmbabe flirt fabber baycest \
@@ -25,8 +25,8 @@ flameo oxford_asl relax qboot topup ptx2 lesions eddy dwssfp verbena MSM bianca
done
fi
-echo "Building projects - see build.log file for progress..."
-./config/common/buildproj $PROJECTS > ./build.log 2>&1
+echo "Building projects"
+./config/common/buildproj $PROJECTS
finalStatus=$?
if [ $finalStatus -eq 0 ]; then
echo "Build completed successfully.";
diff --git a/config/common/buildproj b/config/common/buildproj
index 3450bda..ec3edc1 100755
--- a/config/common/buildproj
+++ b/config/common/buildproj
@@ -11,10 +11,10 @@ if [ X$1 = X-strict ] ; then
fi
PROJECTS="$@" ; export PROJECTS ;
-FSLDIR=`pwd`
+#FSLDIR=`pwd`
FSLDEVDIR=${FSLDIR}
FSLCONFDIR=${FSLDIR}/config
-FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
+#FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
export FSLDIR FSLDEVDIR FSLCONFDIR FSLMACHTYPE
buildmessages="" ; export buildmessages ;
@@ -66,7 +66,7 @@ for projname in $PROJECTS; do
if [ -x ./fslconfig ] ; then
. ./fslconfig ;
fi
- if ${MAKE} -k ${MAKEOPTIONS} ; then
+ if ${MAKE} ${MAKEOPTIONS} ${MAKEOPTS} ; then
if ${MAKE} ${MAKEOPTIONS} install ; then
installok=true;
# Clean up after ourselves
@@ -81,6 +81,7 @@ for projname in $PROJECTS; do
if [ $installok = false ] ; then
echo " "
echo "ERROR::Could not install $projname successfully" ;
+ exit 1
fi
else
echo " "
@@ -89,6 +90,7 @@ for projname in $PROJECTS; do
echo " "
echo " "
errorprojs="$errorprojs $projname" ; export errorprojs ;
+ exit 1
fi
fi
done
diff --git a/config/common/vars.mk b/config/common/vars.mk
index 53754be..ff7a117 100755
--- a/config/common/vars.mk
+++ b/config/common/vars.mk
@@ -24,15 +24,15 @@ USRINCFLAGS =
USRCFLAGS =
USRCXXFLAGS =
-LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR}
+LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR} ${USERLDFLAGS}
-AccumulatedIncFlags = -I${INC_BOOST} ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR}
+AccumulatedIncFlags = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR} ${CPPFLAGS}
CFLAGS = ${ANSI_FLAGS} ${ANSI_CFLAGS} ${DBGFLAGS} ${USEDCSTATICFLAGS} ${USRCFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
- ${AccumulatedIncFlags}
+ ${AccumulatedIncFlags} ${USERCFLAGS}
-CXXFLAGS = ${ANSI_FLAGS} ${ANSI_CXXFLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
- ${AccumulatedIncFlags}
+CXXFLAGS = ${ANSI_CXXFLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
+ ${AccumulatedIncFlags} ${USERCXXFLAGS}
HFILES = *.h
AFILES = *.a
diff --git a/config/generic/systemvars.mk b/config/generic/systemvars.mk
index e40e3d6..ddb5bfe 100755
--- a/config/generic/systemvars.mk
+++ b/config/generic/systemvars.mk
@@ -4,20 +4,20 @@ SHELL = /bin/sh
# System dependent commands (NB: the first two are the most platform dependent)
-INSTALL = ginstall -p
-RANLIB = ranlib
+INSTALL = install -p
+RANLIB = @@GENTOO_RANLIB@@
RM = /bin/rm
CP = /bin/cp
MV = /bin/mv
CHMOD = /bin/chmod
MKDIR = /bin/mkdir
-TCLSH = ${FSLDIR}/bin/fsltclsh
+TCLSH = tclsh
# Compiler dependent variables
-CC = gcc
-CXX = c++
+CC = @@GENTOO_CC@@
+CXX = @@GENTOO_CXX@@
CSTATICFLAGS = -static
CXXSTATICFLAGS = -static
@@ -25,7 +25,7 @@ ARCHFLAGS =
DEPENDFLAGS = -MM
-OPTFLAGS = -O3 -fexpensive-optimizations ${ARCHFLAGS}
+OPTFLAGS =
MACHDBGFLAGS =
GNU_ANSI_FLAGS = -Wall -ansi -pedantic
SGI_ANSI_FLAGS = -ansi -fullwarn
diff --git a/extras/build b/extras/build
index 6133a1b..caeae2d 100755
--- a/extras/build
+++ b/extras/build
@@ -104,8 +104,8 @@ PROJECTS="${PROJECTS} libpng"
if [ ${BUILDICONV} -eq 1 ]; then
PROJECTS="${PROJECTS} libiconv"
fi
-PROJECTS="${PROJECTS} libgd libgdc libprob libcprob newmat cprob newran fftw"
-PROJECTS="${PROJECTS} boost libxml2-2.9.2 libxml++-2.34.0 libsqlite libnlopt ../include/armawrap/dummy_newmat"
+PROJECTS="libgdc libprob libcprob newmat cprob newran"
+PROJECTS="${PROJECTS} ../include/armawrap/dummy_newmat"
for projname in $PROJECTS; do
if [ -d $FSLESRCDIR/$projname ] ; then
buildIt $FSLESRCDIR $projname 1
diff --git a/src/mist-clean/Makefile b/src/mist-clean/Makefile
index b3a32fc..e949ba1 100755
--- a/src/mist-clean/Makefile
+++ b/src/mist-clean/Makefile
@@ -52,7 +52,7 @@ installpython:
cp -r python/* ${DESTDIR}/python/mist
clean:
- rm ${OBJS} mist/mist.o mist/mist
+ rm -f ${OBJS} mist/mist.o mist/mist || echo "CLEAN could not locate some files scheduled for deletion."
.PHONY: all clean installdata

View File

@ -0,0 +1,32 @@
--- src/avwutils/fslmaths.cc.orig 2013-10-19 00:17:44.765129309 +1300
+++ src/avwutils/fslmaths.cc 2013-10-19 00:18:02.975157728 +1300
@@ -71,7 +71,7 @@
#include "newimage/newimageall.h"
#include "miscmaths/miscmaths.h"
#include "utils/fsl_isfinite.h"
-#include "libprob/libprob.h"
+#include "libprob.h"
using namespace MISCMATHS;
using namespace NEWIMAGE;
--- src/miscvis/writepng.c.orig 2013-10-19 00:18:32.415203592 +1300
+++ src/miscvis/writepng.c 2013-10-19 00:19:05.414255132 +1300
@@ -32,6 +32,7 @@
#include <stdlib.h> /* for exit() prototype */
+#include "zlib.h"
#include "png.h" /* libpng header; includes zlib.h and setjmp.h */
#include "writepng.h" /* typedefs, common macros, public prototypes */
--- src/ptx2/surfmaths.cc.orig 2013-10-19 00:19:51.595327317 +1300
+++ src/ptx2/surfmaths.cc 2013-10-19 00:20:09.284354805 +1300
@@ -72,7 +72,7 @@
#include "csv_mesh.h"
#include "miscmaths/miscmaths.h"
#include "utils/fsl_isfinite.h"
-#include "libprob/libprob.h"
+#include "libprob.h"
using namespace MISCMATHS;

View File

@ -0,0 +1,110 @@
--- extras/build.orig 2013-10-18 21:37:53.533939550 +1300
+++ extras/build 2013-10-18 21:40:42.283158471 +1300
@@ -41,7 +41,7 @@
errorprojs="" ; export errorprojs ;
-PROJECTS="tcl tk zlib libpng libiconv libgd libgdc libprob libcprob newmat cprob newran cephes fftw"
+PROJECTS="libgdc libprob libcprob newmat cprob newran cephes"
for projname in $PROJECTS; do
--- build.orig 2013-10-18 22:24:22.312777248 +1300
+++ build 2013-10-18 22:24:59.161835107 +1300
@@ -11,8 +11,7 @@
ifit load_varian load_dicom misc_scripts fdt first possum sgeutils flameo oxford_asl relax qboot topup ptx2 lesions eddy dwssfp";
fi
-echo "Building projects - see build.log file for progress..."
-./config/common/buildproj $PROJECTS > ./build.log 2>&1
-echo "Finished build : end of log file shows ..."
-tail -10 build.log
+echo "Building projects"
+./config/common/buildproj $PROJECTS
+echo "Finished build"
--- config/common/buildproj.orig 2013-10-18 22:28:40.683182435 +1300
+++ config/common/buildproj 2013-10-18 22:29:09.612227825 +1300
@@ -11,10 +11,10 @@
fi
PROJECTS="$@" ; export PROJECTS ;
-FSLDIR=`pwd`
+#FSLDIR=`pwd`
FSLDEVDIR=${FSLDIR}
FSLCONFDIR=${FSLDIR}/config
-FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
+#FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
export FSLDIR FSLDEVDIR FSLCONFDIR FSLMACHTYPE
buildmessages="" ; export buildmessages ;
--- config/generic/systemvars.mk.orig 2007-07-13 23:00:20.000000000 +1200
+++ config/generic/systemvars.mk 2013-10-18 23:13:06.472693414 +1300
@@ -4,20 +4,20 @@
# System dependent commands (NB: the first two are the most platform dependent)
-INSTALL = ginstall -p
-RANLIB = ranlib
+INSTALL = install -p
+RANLIB = @@GENTOO_RANLIB@@
RM = /bin/rm
CP = /bin/cp
MV = /bin/mv
CHMOD = /bin/chmod
MKDIR = /bin/mkdir
-TCLSH = ${FSLDIR}/bin/fsltclsh
+TCLSH = tclsh
# Compiler dependent variables
-CC = gcc
-CXX = c++
+CC = @@GENTOO_CC@@
+CXX = @@GENTOO_CXX@@
CSTATICFLAGS = -static
CXXSTATICFLAGS = -static
@@ -25,7 +25,7 @@
DEPENDFLAGS = -MM
-OPTFLAGS = -O3 -fexpensive-optimizations ${ARCHFLAGS}
+OPTFLAGS =
MACHDBGFLAGS =
GNU_ANSI_FLAGS = -Wall -ansi -pedantic
SGI_ANSI_FLAGS = -ansi -fullwarn
--- config/common/vars.mk.orig 2013-10-18 23:39:26.384029157 +1300
+++ config/common/vars.mk 2013-10-18 23:40:49.489145387 +1300
@@ -24,15 +24,15 @@
USRCFLAGS =
USRCXXFLAGS =
-LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR}
+LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR} ${USERLDFLAGS}
-AccumulatedIncFlags = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR}
+AccumulatedIncFlags = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR} ${CPPFLAGS}
CFLAGS = ${ANSI_FLAGS} ${DBGFLAGS} ${USEDCSTATICFLAGS} ${USRCFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
- ${AccumulatedIncFlags}
+ ${AccumulatedIncFlags} ${USERCFLAGS}
CXXFLAGS = ${ANSI_FLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
- ${AccumulatedIncFlags}
+ ${AccumulatedIncFlags} ${USERCXXFLAGS}
HFILES = *.h
AFILES = *.a
--- config/common/buildproj.orig 2013-10-19 23:27:10.477238469 +1300
+++ config/common/buildproj 2013-10-19 23:28:32.207370622 +1300
@@ -66,7 +66,7 @@
if [ -x fslconfig ] ; then
./fslconfig ;
fi
- if ${MAKE} -k ${MAKEOPTIONS} ; then
+ if ${MAKE} ${MAKEOPTIONS} ${MAKEOPTS} ; then
if ${MAKE} install ; then
installok=true;
# Clean up after ourselves

View File

@ -0,0 +1,456 @@
--- src/fast4/fast_two.cc.orig 2013-10-19 23:45:02.636971888 +1300
+++ src/fast4/fast_two.cc 2013-10-19 23:46:45.436138299 +1300
@@ -166,7 +166,7 @@
string csfPriorName, grayPriorName, whitePriorName;
if(alternatePriors.unset())
{
- string priorRootName=string(getenv("FSLDIR")) + "/data/standard/tissuepriors/avg152T1_";
+ string priorRootName="@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/tissuepriors/avg152T1_";
csfPriorName = priorRootName+"csf";
grayPriorName = priorRootName+"gray";
whitePriorName = priorRootName+"white";
@@ -215,15 +215,15 @@
if(bapused>0)
{
char reg[1024];
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), csfPriorName.c_str(), (main_prior_vol+"_csf_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), csfPriorName.c_str(), (main_prior_vol+"_csf_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout<<reg<<endl;
system(reg);
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), grayPriorName.c_str(), (main_prior_vol+"_gm_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), grayPriorName.c_str(), (main_prior_vol+"_gm_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout<<reg<<endl;
system(reg);
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), whitePriorName.c_str(), (main_prior_vol+"_wm_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), whitePriorName.c_str(), (main_prior_vol+"_wm_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout << reg << endl;
system(reg);
--- src/feat5/tsplot.cc.orig 2013-10-19 23:48:08.997273362 +1300
+++ src/feat5/tsplot.cc 2013-10-19 23:50:59.376548902 +1300
@@ -293,7 +293,7 @@
ofstream outputFile;
int numEVs, npts, numContrasts=1, nftests=0, GRPHSIZE(600), PSSIZE(600);
vector<double> normalisedContrasts, model, triggers;
- string fmriFileName, fslPath, featdir, vType, indexText;
+ string fmriFileName, featdir, vType, indexText;
ColumnVector NewimageVoxCoord(4),NiftiVoxCoord(4);
bool outputText(true), useCoordinate(false), prewhiten(false), useTriggers(false), customMask(false), modelFree(false), isHigherLevel(false), outputDataOnly(false);
bool zWeightClusters(true);
@@ -307,7 +307,6 @@
if (argc<2) usage("");
featdir=string(argv[1]);
fmriFileName=featdir+"/filtered_func_data";
- fslPath=string(getenv("FSLDIR"));
string outputName(featdir);
@@ -725,7 +724,7 @@
cerr << "Can't open output report file " << outputName << endl;
exit(1);
}
- outputFile << "<HTML>\n<TITLE>"<< statType << num2str(i) <<"</TITLE>\n<BODY BACKGROUND=\"file:"<< fslPath <<"/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report - "<< statType << num2str(i) <<"</H1>\n</CENTER>\n<hr><b>Full plots</b><p>\n"<< graphText;
+ outputFile << "<HTML>\n<TITLE>"<< statType << num2str(i) <<"</TITLE>\n<BODY BACKGROUND=\"file:"<< "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report - "<< statType << num2str(i) <<"</H1>\n</CENTER>\n<hr><b>Full plots</b><p>\n"<< graphText;
if (useTriggers) outputFile << "\n<hr><b>Peristimulus plots</b><p>\n"<< peristimulusText <<"\n<HR></BODY></HTML>\n\n";
else outputFile << "\n</BODY></HTML>\n\n";
outputFile.close();
@@ -740,7 +739,7 @@
cerr << "Can't open output report file " << outputName << endl;
exit(1);
}
- outputFile << "<HTML>\n<TITLE>FEAT Time Series Report</TITLE>\n<BODY BACKGROUND=\"file:" << fslPath << "/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report</H1>\n</CENTER>\n<hr>" << indexText << "<HR></BODY></HTML>" << endl << endl;
+ outputFile << "<HTML>\n<TITLE>FEAT Time Series Report</TITLE>\n<BODY BACKGROUND=\"file:" << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report</H1>\n</CENTER>\n<hr>" << indexText << "<HR></BODY></HTML>" << endl << endl;
outputFile.close();
/* now output same thing without start and end, for inclusion in feat report */
--- src/feat5/feat_model.cc.orig 2013-10-19 23:52:13.456668655 +1300
+++ src/feat5/feat_model.cc 2013-10-19 23:53:31.655795065 +1300
@@ -734,7 +734,6 @@
vector<int> G;
vector<string> titles;
float tr, mult, trmult, nltffwhm=0, maxconvwin=0;
- char fl[10000], *FSLDIR;
string fn, filename;
FONT_DATA *font_data = new FONT_DATA[1];
@@ -753,8 +752,6 @@
if (argc==3)
motionparams=remmean(read_ascii_matrix(argv[2]));
- FSLDIR=getenv("FSLDIR");
-
fn = string(argv[1])+".fsf";
level = atoi(find_line(fn, "fmri(level)", fl));
@@ -1479,7 +1476,7 @@
writeCovarianceImage(string(argv[1])+"_cov.ppm", contrasts, F, nftests, realDesign, level, evs.eigenvals, font_data, contrasts.RE);
writeImagePreview(string(argv[1])+".ppm", contrasts, F, nftests, realDesign, level, evs, font_data, titles, tr, nltffwhm, nTimepoints, G);
- filename=string(getenv("FSLDIR"))+"/bin/wpng -q -overwrite "+string(argv[1])+".ppm ";
+ filename="wpng -q -overwrite "+string(argv[1])+".ppm ";
system(filename.c_str());
return(0);
@@ -2122,6 +2119,6 @@
fclose(outputfile);
- filename=string(getenv("FSLDIR")) + "/bin/wpng -q -overwrite " + filename;
+ filename="wpng -q -overwrite " + filename;
system(filename.c_str());
}
--- src/first/first_utils.cc.orig 2013-10-19 23:54:30.375890034 +1300
+++ src/first/first_utils.cc 2013-10-19 23:59:11.706344887 +1300
@@ -1954,8 +1954,8 @@
if (!surfaceVAout.value()) {
// do not output on the surface, instead do the new default of outputting a volume with the scalar normal dot product values (for use with randomise)
volume<float> refim;
- if (useReconMNI.value()) { read_volume(refim,string(getenv("FSLDIR")) + "/data/standard/MNI152_T1_1mm"); }
- else { read_volume(refim,string(getenv("FSLDIR")) + "/data/standard/MNI152_T1_1mm"); }
+ if (useReconMNI.value()) { read_volume(refim,"@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); }
+ else { read_volume(refim,"@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); }
volume<float> maskvol(refim);
maskvol=0.0f;
volume4D<float> volnormals;
--- src/fnirt/fnirtfns.cpp.orig 2013-10-20 00:00:18.106452166 +1300
+++ src/fnirt/fnirtfns.cpp 2013-10-20 00:04:56.005901533 +1300
@@ -1203,8 +1203,7 @@
return(string(ref_fname));
}
else {
- const char *fsldir_ptr = getenv("FSLDIR");
- string eref_fname = string(fsldir_ptr) + string("/data/standard/") + ref_fname;
+ string eref_fname = string("@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/") + ref_fname;
if (NEWIMAGE::fsl_imageexists(eref_fname)) return(eref_fname);
else return(string(""));
}
@@ -1230,9 +1229,8 @@
NEWIMAGE::read_volume_hdr_only(vref,ref_fname); // Throws if file dont exist
eref_fname = ref_fname;
}
- catch(...) { // Didn't exist in current directory, try in ${FSLDIR}/data/standard
- const char *fsldir_ptr = getenv("FSLDIR");
- eref_fname = string(fsldir_ptr) + string("/data/standard/") + ref_fname;
+ catch(...) { // Didn't exist in current directory, try in .../data/standard
+ eref_fname = string("@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/") + ref_fname;
try {
cout << "Could not find " << ref_fname << ", now checking " << eref_fname << endl;
NEWIMAGE::read_volume_hdr_only(vref,eref_fname); // Throws if file dont exist
@@ -1267,8 +1265,7 @@
if (check_exist(ecfname)) return(ecfname);
}
if (!FNIRT::path(cfname).length()) { // If no path explicitly given
- const char *fsldir_ptr = getenv("FSLDIR");
- ecfname = string(fsldir_ptr) + string("/etc/flirtsch/") + cfname;
+ ecfname = string("@GENTOO_PORTAGE_EPREFIX@/etc/flirtsch/") + cfname;
if (check_exist(ecfname)) return(ecfname);
else if (!FNIRT::extension(ecfname).length()) { // If no path _and_ no extension given
ecfname += string(".cnf");
--- src/fslsurface/fslsurface_first.cc.orig 2013-10-20 00:05:35.495965454 +1300
+++ src/fslsurface/fslsurface_first.cc 2013-10-20 00:06:54.346092913 +1300
@@ -500,8 +500,7 @@
volume<float>* immni = new volume<float>();
- char* fsldir = getenv("FSLDIR");
- read_volume_hdr_only(*immni, string(fsldir) + "/data/standard/MNI152_T1_1mm");
+ read_volume_hdr_only(*immni, "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm");
//read_volume_hdr_only(*immni, template_name);
@@ -699,8 +698,7 @@
volume<float>* immni = new volume<float>();
- char* fsldir = getenv("FSLDIR");
- read_volume_hdr_only(*immni, string(fsldir) + "/data/standard/MNI152_T1_1mm");
+ read_volume_hdr_only(*immni, "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm");
//read_volume_hdr_only(*immni, template_name);
--- src/fslsurface/fslsurfacemaths.cpp.orig 2013-10-20 00:07:39.457165850 +1300
+++ src/fslsurface/fslsurfacemaths.cpp 2013-10-20 00:09:28.396341998 +1300
@@ -598,12 +598,6 @@
}else if (command == "-reconFromBvars"){
cout<<"do recon "<<endl;
- char* fsldir = getenv("FSLDIR");
- if (fsldir == NULL)
- {
- cerr<<"FSLDIR has not been set. "<<endl;
- exit(EXIT_FAILURE);
- }
//file.bvars,mni_template.nii.gz
// string mni = string(fsldir)+"/data/standard/MNI152_T1_1mm";
reconSurface_from_bvars( surf, string(argv[i_arg+1]));
@@ -612,12 +606,6 @@
}else if (command == "-reconAllFromBvarsAndSave"){
cout<<"do recon+save "<<argc<<" "<<i_arg<<endl;
- char* fsldir = getenv("FSLDIR");
- if (fsldir == NULL)
- {
- cerr<<"FSLDIR has not been set. "<<endl;
- exit(EXIT_FAILURE);
- }
//file.bvars,mni_template.nii.gz
// string mni = string(fsldir)+"/data/standard/MNI152_T1_1mm";
cout<<"recon "<< string(argv[i_arg+1])<<endl;
--- src/libvis/miscpic.h.orig 2013-10-20 00:11:03.706496109 +1300
+++ src/libvis/miscpic.h 2013-10-20 00:12:24.515626764 +1300
@@ -89,12 +89,7 @@
LR_label_flag = true;
trans= -10;
edgethresh = 0.0;
- if(getenv("FSLDIR")!=0){
- lutbase = string(getenv("FSLDIR")) + "/etc/luts/";
- }
- else{
- lutbase = string("/");
- }
+ lutbase = "@GENTOO_PORTAGE_EPREFIX@/etc/luts/";
title = string("");
cbartype = string("");
cbarptr = NULL;
--- src/melodic/melreport.cc.orig 2013-10-20 00:13:01.475686492 +1300
+++ src/melodic/melreport.cc 2013-10-20 00:15:02.795882687 +1300
@@ -85,7 +85,7 @@
{//start IC page
IChtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl
+ "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl
<< "<style type=\"text/css\">OBJECT { width: 100% }</style>"
<< "<TITLE>FSL</TITLE></HEAD>" << endl
<< "<IFRAME height=" << int(melodat.get_numfiles()/30 + 1)*50
@@ -488,7 +488,7 @@
{//start IC2 page
IChtml2.setDir(report.getDir(),mmodel.get_prefix()+"_MM.html");
IChtml2 << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl
+ "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl
<< "<style type=\"text/css\">OBJECT { width: 100% }</style>"
<< "<TITLE>FSL</TITLE></HEAD>" << endl
<< "<IFRAME height="<< int(melodat.get_numfiles()/30 + 1)*50
@@ -666,8 +666,8 @@
IChtml << "<HTML> " << endl
<< "<TITLE>MELODIC Component " << num2str(cnum)
<< "</TITLE>" << endl
- << "<BODY BACKGROUND=\"file:" << getenv("FSLDIR")
- << "/doc/images/fsl-bg.jpg\">" << endl
+ << "<BODY BACKGROUND=\"file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">" << endl
<< "<hr><CENTER><H1>MELODIC Component " << num2str(cnum)
<< "</H1>"<< endl;
--- src/melodic/meloptions.cc.orig 2013-10-20 00:15:46.755953769 +1300
+++ src/melodic/meloptions.cc 2013-10-20 00:18:26.176211442 +1300
@@ -93,14 +93,6 @@
explicitnums = false;
logfname = string("log.txt");
- // work out the path to the $FSLDIR/bin directory
- if(getenv("FSLDIR")!=0){
- binpath = (string) getenv("FSLDIR") + "/bin/";
- } else{
- binpath = argv[0];
- binpath = binpath.substr(0,binpath.length()-7);
- }
-
// parse once to establish log directory name
for(int a = options.parse_command_line(argc, argv); a < argc; a++);
--- src/melodic/meloptions.h.orig 2013-10-20 00:19:32.176318206 +1300
+++ src/melodic/meloptions.h 2013-10-20 00:19:53.455352701 +1300
@@ -93,7 +93,6 @@
~MelodicOptions() { delete gopt; }
string version;
- string binpath;
string logfname;
bool filtermode;
bool explicitnums;
--- src/melodic/meldata.cc.orig 2013-10-20 00:20:45.856437466 +1300
+++ src/melodic/meldata.cc 2013-10-20 00:21:48.655538924 +1300
@@ -921,7 +921,7 @@
void MelodicData::est_smoothness()
{
if(Resels == 0){
- string SM_path = opts.binpath + "smoothest";
+ string SM_path = "smoothest";
string Mask_fname = logger.appendDir("mask");
if(opts.segment.value().length()>0){
@@ -1086,7 +1086,7 @@
// set up all strings
string BET_outputfname = string(Mean_fname)+"_brain";
- string BET_path = opts.binpath + "bet";
+ string BET_path = "bet";
string BET_optarg = "-m -f 0.4"; // see man bet
string Mask_fname = BET_outputfname+"_mask";
--- src/melodic/melreport.h.orig 2013-10-20 00:22:41.816624872 +1300
+++ src/melodic/melreport.h 2013-10-20 00:24:25.555792499 +1300
@@ -105,20 +105,20 @@
system(("mkdir "+ logger.appendDir("report") + " 2>/dev/null").c_str());
report.setDir(logger.appendDir("report"),"00index.html",true,false,ios::out);
report << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>"
+ "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>"
<< "<TITLE>MELODIC report</TITLE></HEAD><BODY>"
<< endl <<endl;
loghtml.setDir(report.getDir(),"log.html");
loghtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>"
+ "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>"
<< "<TITLE>MELODIC report</TITLE></HEAD><BODY>"
<< endl <<endl;
navigator.setDir(report.getDir(),"nav.html");
head.setDir(report.getDir(),"head.html");
navigator << "<link REL=stylesheet TYPE=text/css href=file:"+
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl;
+ "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl;
head << "<link REL=stylesheet TYPE=text/css href=file:"+
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl;
+ "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl;
head <<"<TABLE BORDER=0><TR>" << endl
<<" <TD ALIGN=CENTER WIDTH=100%>"<< endl
<<"<TABLE BORDER=0>"<< endl
@@ -130,8 +130,8 @@
<< "</tr></table>" << endl
<< "<TD ALIGN=RIGHT>" << endl
<< "<a href=http://www.fmrib.ox.ac.uk/fsl target=_top>" << endl
- << "<IMG BORDER=0 SRC=file:"<< getenv("FSLDIR")
- << "/doc/images/fsl-logo-big.jpg WIDTH=165></a>" << endl
+ << "<IMG BORDER=0 SRC=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-logo-big.jpg WIDTH=165></a>" << endl
<< "</TD>"<<endl<<"</TR></TABLE> <hr>"<<endl;
if(opts.guireport.value()==""){
report <<"<OBJECT data=head.html></OBJECT>" << endl;
--- src/mm/mixture_model.cc.orig 2013-10-20 00:25:00.355848878 +1300
+++ src/mm/mixture_model.cc 2013-10-20 00:25:32.185900186 +1300
@@ -2224,8 +2224,8 @@
htmllog << "<HTML> " << endl
<< "<TITLE>Mixture Model fit for" << data_name << "</TITLE>" << endl
- << "<BODY BACKGROUND=\"file:" << getenv("FSLDIR")
- << "/doc/images/fsl-bg.jpg\">" << endl
+ << "<BODY BACKGROUND=\"file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">" << endl
<< "<hr><CENTER><H1>Mixture Model fit for<br>" << data_name << " </H1>"<< endl;
htmllog << "<hr><p>" << endl;
--- src/siena/siena_diff.cc.orig 2013-10-20 00:26:13.215966685 +1300
+++ src/siena/siena_diff.cc 2013-10-20 00:28:03.925145734 +1300
@@ -107,7 +107,7 @@
{
// {{{ vars
-char thestring[10000], segoptions[10000], fsldir[10000];
+char thestring[10000], segoptions[10000];
int x_size, y_size, z_size, size, x, y, z, i, count,
seg2=0, ignore_z=0, ignore_top_slices=0, //erode_mask=0,
ignore_bottom_slices=0, debug=0, flow_output=1, edge_masking=0;
@@ -124,8 +124,6 @@
string argv1(argv[1]), argv2(argv[2]);
-sprintf(fsldir,"%s",getenv("FSLDIR"));
-
for (i = 3; i < argc; i++) {
if (!strcmp(argv[i], "-i"))
ignore_z=1;
@@ -209,26 +207,26 @@
// }}}
// {{{ transform images and masks
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
- fsldir,argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
+ argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
- fsldir,argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
+ argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
if (edge_masking)
{
- sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_valid_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_valid_mask_with_%s",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+ sprintf(thestring,"flirt -o %s_halfwayto_%s_valid_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_valid_mask_with_%s",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
}
@@ -287,8 +285,8 @@
cout << "saving image 1 to disk prior to segmentation" << endl;
save_volume(in1,argv1+"_halfwayto_"+argv2+"_brain");
in1.destroy();
- sprintf(thestring,"%s/bin/fast %s %s %s_halfwayto_%s_brain > %s_halfwayto_%s_brain.vol 2>&1",
- fsldir,segtype,segoptions,argv[1],argv[2],argv[1],argv[2]);
+ sprintf(thestring,"fast %s %s %s_halfwayto_%s_brain > %s_halfwayto_%s_brain.vol 2>&1",
+ segtype,segoptions,argv[1],argv[2],argv[1],argv[2]);
cout << thestring << endl;
system(thestring);
}
--- src/topup/topupfns.cpp.orig 2013-10-20 00:28:36.456198320 +1300
+++ src/topup/topupfns.cpp 2013-10-20 00:29:37.905297565 +1300
@@ -463,8 +463,7 @@
if (TOPUP::check_exist(ecfname)) return(ecfname);
}
if (!TOPUP::path(cfname).length()) { // If no path explicitly given
- const char *fsldir_ptr = getenv("FSLDIR");
- ecfname = string(fsldir_ptr) + string("/etc/flirtsch/") + cfname;
+ ecfname = string("@GENTOO_PORTAGE_EPREFIX@/etc/flirtsch/") + cfname;
if (TOPUP::check_exist(ecfname)) return(ecfname);
else if (!TOPUP::extension(ecfname).length()) { // If no path _and_ no extension given
ecfname += string(".cnf");
--- etc/matlab/call_fsl.m.orig 2013-10-20 23:17:58.626045346 +1300
+++ etc/matlab/call_fsl.m 2013-10-20 23:20:06.556252150 +1300
@@ -8,7 +8,7 @@
% Debian/Ubuntu users should uncomment as
% indicated
-fsldir=getenv('FSLDIR');
+%fsldir=getenv('FSLDIR');
% Debian/Ubuntu - uncomment the following
%fsllibdir=sprintf('%s/%s', fsldir, 'bin');
--- etc/js/label-div.html.orig 2013-10-20 23:22:04.906443685 +1300
+++ etc/js/label-div.html 2013-10-20 23:23:35.006589232 +1300
@@ -2,12 +2,12 @@
<head>
<title>label-div</title>
<!--[if IE]>
- <script type="text/javascript" src="FSLDIR/etc/js/excanvas.js"></script>
+ <script type="text/javascript" src="@GENTOO_PORTAGE_EPREFIX@/etc/js/excanvas.js"></script>
<![endif]-->
- <script type="text/javascript" src="FSLDIR/etc/js/strftime-min.js"></script>
- <script type="text/javascript" src="FSLDIR/etc/js/rgbcolor.js"></script>
- <script type="text/javascript" src="FSLDIR/etc/js/dygraph-canvas.js"></script>
- <script type="text/javascript" src="FSLDIR/etc/js/dygraph.js"></script>
+ <script type="text/javascript" src="@GENTOO_PORTAGE_EPREFIX@/etc/js/strftime-min.js"></script>
+ <script type="text/javascript" src="@GENTOO_PORTAGE_EPREFIX@/etc/js/rgbcolor.js"></script>
+ <script type="text/javascript" src="@GENTOO_PORTAGE_EPREFIX@/etc/js/dygraph-canvas.js"></script>
+ <script type="text/javascript" src="@GENTOO_PORTAGE_EPREFIX@/etc/js/dygraph.js"></script>
<script type="text/javascript" src="PNMDATA.js"></script>
</head>
<body>

View File

@ -0,0 +1,452 @@
diff -Naur src.orig/fast4/fast_two.cc src/fast4/fast_two.cc
--- src.orig/fast4/fast_two.cc 2015-03-30 11:54:10.522550233 +1300
+++ src/fast4/fast_two.cc 2015-03-30 11:54:18.412569892 +1300
@@ -166,7 +166,7 @@
string csfPriorName, grayPriorName, whitePriorName;
if(alternatePriors.unset())
{
- string priorRootName=string(getenv("FSLDIR")) + "/data/standard/tissuepriors/avg152T1_";
+ string priorRootName="@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/tissuepriors/avg152T1_";
csfPriorName = priorRootName+"csf";
grayPriorName = priorRootName+"gray";
whitePriorName = priorRootName+"white";
@@ -215,15 +215,15 @@
if(bapused>0)
{
char reg[1024];
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), csfPriorName.c_str(), (main_prior_vol+"_csf_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), csfPriorName.c_str(), (main_prior_vol+"_csf_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout<<reg<<endl;
system(reg);
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), grayPriorName.c_str(), (main_prior_vol+"_gm_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), grayPriorName.c_str(), (main_prior_vol+"_gm_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout<<reg<<endl;
system(reg);
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), whitePriorName.c_str(), (main_prior_vol+"_wm_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), whitePriorName.c_str(), (main_prior_vol+"_wm_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout << reg << endl;
system(reg);
diff -Naur src.orig/feat5/feat_model.cc src/feat5/feat_model.cc
--- src.orig/feat5/feat_model.cc 2015-03-30 11:54:10.502550183 +1300
+++ src/feat5/feat_model.cc 2015-03-30 11:54:18.412569892 +1300
@@ -741,7 +741,7 @@
vector<int> G;
vector<string> titles;
float tr, mult, trmult, nltffwhm=0, maxconvwin=0;
- char fl[10000], *FSLDIR;
+ char fl[10000];
string fn, filename;
FONT_DATA *font_data = new FONT_DATA[1];
@@ -760,8 +760,6 @@
if (argc==3)
motionparams=remmean(read_ascii_matrix(argv[2]));
- FSLDIR=getenv("FSLDIR");
-
fn = string(argv[1])+".fsf";
level = atoi(find_line(fn, "fmri(level)", fl));
@@ -1491,7 +1489,7 @@
writeCovarianceImage(string(argv[1])+"_cov.ppm", contrasts, F, nftests, realDesign, level, evs.eigenvals, font_data, contrasts.RE);
writeImagePreview(string(argv[1])+".ppm", contrasts, F, nftests, realDesign, level, evs, font_data, titles, tr, nltffwhm, nTimepoints, G);
- filename=string(getenv("FSLDIR"))+"/bin/wpng -q -overwrite "+string(argv[1])+".ppm ";
+ filename="wpng -q -overwrite "+string(argv[1])+".ppm ";
system(filename.c_str());
return(0);
@@ -2134,6 +2132,6 @@
fclose(outputfile);
- filename=string(getenv("FSLDIR")) + "/bin/wpng -q -overwrite " + filename;
+ filename="wpng -q -overwrite " + filename;
system(filename.c_str());
}
diff -Naur src.orig/feat5/tsplot.cc src/feat5/tsplot.cc
--- src.orig/feat5/tsplot.cc 2015-03-30 11:54:10.502550183 +1300
+++ src/feat5/tsplot.cc 2015-03-30 11:54:18.412569892 +1300
@@ -293,7 +293,7 @@
ofstream outputFile;
int numEVs, npts, numContrasts=1, nftests=0, GRPHSIZE(600), PSSIZE(600);
vector<double> normalisedContrasts, model, triggers;
- string fmriFileName, fslPath, featdir, vType, indexText;
+ string fmriFileName, featdir, vType, indexText;
ColumnVector NewimageVoxCoord(4),NiftiVoxCoord(4);
bool outputText(true), useCoordinate(false), prewhiten(false), useTriggers(false), customMask(false), modelFree(false), isHigherLevel(false), outputDataOnly(false);
bool zWeightClusters(true);
@@ -307,7 +307,6 @@
if (argc<2) usage("");
featdir=string(argv[1]);
fmriFileName=featdir+"/filtered_func_data";
- fslPath=string(getenv("FSLDIR"));
string outputName(featdir);
@@ -725,7 +724,7 @@
cerr << "Can't open output report file " << outputName << endl;
exit(1);
}
- outputFile << "<HTML>\n<TITLE>"<< statType << num2str(i) <<"</TITLE>\n<BODY BACKGROUND=\"file:"<< fslPath <<"/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report - "<< statType << num2str(i) <<"</H1>\n</CENTER>\n<hr><b>Full plots</b><p>\n"<< graphText;
+ outputFile << "<HTML>\n<TITLE>"<< statType << num2str(i) <<"</TITLE>\n<BODY BACKGROUND=\"file:"<< "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report - "<< statType << num2str(i) <<"</H1>\n</CENTER>\n<hr><b>Full plots</b><p>\n"<< graphText;
if (useTriggers) outputFile << "\n<hr><b>Peristimulus plots</b><p>\n"<< peristimulusText <<"\n<HR></BODY></HTML>\n\n";
else outputFile << "\n</BODY></HTML>\n\n";
outputFile.close();
@@ -740,7 +739,7 @@
cerr << "Can't open output report file " << outputName << endl;
exit(1);
}
- outputFile << "<HTML>\n<TITLE>FEAT Time Series Report</TITLE>\n<BODY BACKGROUND=\"file:" << fslPath << "/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report</H1>\n</CENTER>\n<hr>" << indexText << "<HR></BODY></HTML>" << endl << endl;
+ outputFile << "<HTML>\n<TITLE>FEAT Time Series Report</TITLE>\n<BODY BACKGROUND=\"file:" << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report</H1>\n</CENTER>\n<hr>" << indexText << "<HR></BODY></HTML>" << endl << endl;
outputFile.close();
/* now output same thing without start and end, for inclusion in feat report */
diff -Naur src.orig/first/first_utils.cc src/first/first_utils.cc
--- src.orig/first/first_utils.cc 2015-03-30 11:54:10.482550135 +1300
+++ src/first/first_utils.cc 2015-03-30 11:54:18.412569892 +1300
@@ -1954,8 +1954,8 @@
if (!surfaceVAout.value()) {
// do not output on the surface, instead do the new default of outputting a volume with the scalar normal dot product values (for use with randomise)
volume<float> refim;
- if (useReconMNI.value()) { read_volume(refim,string(getenv("FSLDIR")) + "/data/standard/MNI152_T1_1mm"); }
- else { read_volume(refim,string(getenv("FSLDIR")) + "/data/standard/MNI152_T1_1mm"); }
+ if (useReconMNI.value()) { read_volume(refim,"@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); }
+ else { read_volume(refim,"@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); }
volume<float> maskvol(refim);
maskvol=0.0f;
volume4D<float> volnormals;
diff -Naur src.orig/fnirt/fnirtfns.cpp src/fnirt/fnirtfns.cpp
--- src.orig/fnirt/fnirtfns.cpp 2015-03-30 11:54:10.522550233 +1300
+++ src/fnirt/fnirtfns.cpp 2015-03-30 11:54:18.412569892 +1300
@@ -1203,8 +1203,7 @@
return(string(ref_fname));
}
else {
- const char *fsldir_ptr = getenv("FSLDIR");
- string eref_fname = string(fsldir_ptr) + string("/data/standard/") + ref_fname;
+ string eref_fname = string("@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/") + ref_fname;
if (NEWIMAGE::fsl_imageexists(eref_fname)) return(eref_fname);
else return(string(""));
}
@@ -1230,9 +1229,8 @@
NEWIMAGE::read_volume_hdr_only(vref,ref_fname); // Throws if file dont exist
eref_fname = ref_fname;
}
- catch(...) { // Didn't exist in current directory, try in ${FSLDIR}/data/standard
- const char *fsldir_ptr = getenv("FSLDIR");
- eref_fname = string(fsldir_ptr) + string("/data/standard/") + ref_fname;
+ catch(...) { // Didn't exist in current directory, try in .../data/standard
+ eref_fname = string("@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/") + ref_fname;
try {
cout << "Could not find " << ref_fname << ", now checking " << eref_fname << endl;
NEWIMAGE::read_volume_hdr_only(vref,eref_fname); // Throws if file dont exist
@@ -1267,8 +1265,7 @@
if (check_exist(ecfname)) return(ecfname);
}
if (!FNIRT::path(cfname).length()) { // If no path explicitly given
- const char *fsldir_ptr = getenv("FSLDIR");
- ecfname = string(fsldir_ptr) + string("/etc/flirtsch/") + cfname;
+ ecfname = string("@GENTOO_PORTAGE_EPREFIX@/etc/flirtsch/") + cfname;
if (check_exist(ecfname)) return(ecfname);
else if (!FNIRT::extension(ecfname).length()) { // If no path _and_ no extension given
ecfname += string(".cnf");
diff -Naur src.orig/fslsurface/fslsurface_first.cc src/fslsurface/fslsurface_first.cc
--- src.orig/fslsurface/fslsurface_first.cc 2015-03-30 11:54:10.522550233 +1300
+++ src/fslsurface/fslsurface_first.cc 2015-03-30 11:54:18.412569892 +1300
@@ -500,8 +500,7 @@
volume<float>* immni = new volume<float>();
- char* fsldir = getenv("FSLDIR");
- read_volume_hdr_only(*immni, string(fsldir) + "/data/standard/MNI152_T1_1mm");
+ read_volume_hdr_only(*immni, "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm");
//read_volume_hdr_only(*immni, template_name);
@@ -699,8 +698,7 @@
volume<float>* immni = new volume<float>();
- char* fsldir = getenv("FSLDIR");
- read_volume_hdr_only(*immni, string(fsldir) + "/data/standard/MNI152_T1_1mm");
+ read_volume_hdr_only(*immni, "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm");
//read_volume_hdr_only(*immni, template_name);
diff -Naur src.orig/fslsurface/fslsurfacemaths.cpp src/fslsurface/fslsurfacemaths.cpp
--- src.orig/fslsurface/fslsurfacemaths.cpp 2015-03-30 11:54:10.522550233 +1300
+++ src/fslsurface/fslsurfacemaths.cpp 2015-03-30 11:54:18.412569892 +1300
@@ -598,12 +598,6 @@
}else if (command == "-reconFromBvars"){
cout<<"do recon "<<endl;
- char* fsldir = getenv("FSLDIR");
- if (fsldir == NULL)
- {
- cerr<<"FSLDIR has not been set. "<<endl;
- exit(EXIT_FAILURE);
- }
//file.bvars,mni_template.nii.gz
// string mni = string(fsldir)+"/data/standard/MNI152_T1_1mm";
reconSurface_from_bvars( surf, string(argv[i_arg+1]));
@@ -612,12 +606,6 @@
}else if (command == "-reconAllFromBvarsAndSave"){
cout<<"do recon+save "<<argc<<" "<<i_arg<<endl;
- char* fsldir = getenv("FSLDIR");
- if (fsldir == NULL)
- {
- cerr<<"FSLDIR has not been set. "<<endl;
- exit(EXIT_FAILURE);
- }
//file.bvars,mni_template.nii.gz
// string mni = string(fsldir)+"/data/standard/MNI152_T1_1mm";
cout<<"recon "<< string(argv[i_arg+1])<<endl;
diff -Naur src.orig/libvis/miscpic.h src/libvis/miscpic.h
--- src.orig/libvis/miscpic.h 2015-03-30 11:54:10.482550135 +1300
+++ src/libvis/miscpic.h 2015-03-30 11:54:18.412569892 +1300
@@ -89,12 +89,7 @@
LR_label_flag = true;
trans= -10;
edgethresh = 0.0;
- if(getenv("FSLDIR")!=0){
- lutbase = string(getenv("FSLDIR")) + "/etc/luts/";
- }
- else{
- lutbase = string("/");
- }
+ lutbase = "@GENTOO_PORTAGE_EPREFIX@/etc/luts/";
title = string("");
cbartype = string("");
cbarptr = NULL;
diff -Naur src.orig/melodic/meldata.cc src/melodic/meldata.cc
--- src.orig/melodic/meldata.cc 2015-03-30 11:54:10.502550183 +1300
+++ src/melodic/meldata.cc 2015-03-30 11:54:18.412569892 +1300
@@ -971,7 +971,7 @@
void MelodicData::est_smoothness()
{
if(Resels == 0){
- string SM_path = opts.binpath + "smoothest";
+ string SM_path = "smoothest";
string Mask_fname = logger.appendDir("mask");
if(opts.segment.value().length()>0){
@@ -1136,7 +1136,7 @@
// set up all strings
string BET_outputfname = string(Mean_fname)+"_brain";
- string BET_path = opts.binpath + "bet";
+ string BET_path = "bet";
string BET_optarg = "-m -f 0.4"; // see man bet
string Mask_fname = BET_outputfname+"_mask";
diff -Naur src.orig/melodic/meloptions.cc src/melodic/meloptions.cc
--- src.orig/melodic/meloptions.cc 2015-03-30 11:54:10.502550183 +1300
+++ src/melodic/meloptions.cc 2015-03-30 11:54:18.412569892 +1300
@@ -93,14 +93,6 @@
explicitnums = false;
logfname = string("log.txt");
- // work out the path to the $FSLDIR/bin directory
- if(getenv("FSLDIR")!=0){
- binpath = (string) getenv("FSLDIR") + "/bin/";
- } else{
- binpath = argv[0];
- binpath = binpath.substr(0,binpath.length()-7);
- }
-
// parse once to establish log directory name
for(int a = options.parse_command_line(argc, argv); a < argc; a++);
diff -Naur src.orig/melodic/meloptions.h src/melodic/meloptions.h
--- src.orig/melodic/meloptions.h 2015-03-30 11:54:10.502550183 +1300
+++ src/melodic/meloptions.h 2015-03-30 11:54:18.412569892 +1300
@@ -93,7 +93,6 @@
~MelodicOptions() { delete gopt; }
string version;
- string binpath;
string logfname;
bool filtermode;
bool explicitnums;
diff -Naur src.orig/melodic/melreport.cc src/melodic/melreport.cc
--- src.orig/melodic/melreport.cc 2015-03-30 11:54:10.502550183 +1300
+++ src/melodic/melreport.cc 2015-03-30 11:54:18.412569892 +1300
@@ -84,8 +84,8 @@
IChtml.setDir(report.getDir(),mmodel.get_prefix()+".html");
{//start IC page
- IChtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl
+ IChtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl
<< "<style type=\"text/css\">OBJECT { width: 100% }</style>"
<< "<TITLE>FSL</TITLE></HEAD>" << endl
<< "<IFRAME height=" << int(melodat.get_numfiles()/30 + 1)*50
@@ -487,8 +487,8 @@
{//start IC2 page
IChtml2.setDir(report.getDir(),mmodel.get_prefix()+"_MM.html");
- IChtml2 << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl
+ IChtml2 << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl
<< "<style type=\"text/css\">OBJECT { width: 100% }</style>"
<< "<TITLE>FSL</TITLE></HEAD>" << endl
<< "<IFRAME height="<< int(melodat.get_numfiles()/30 + 1)*50
@@ -666,8 +666,8 @@
IChtml << "<HTML> " << endl
<< "<TITLE>MELODIC Component " << num2str(cnum)
<< "</TITLE>" << endl
- << "<BODY BACKGROUND=\"file:" << getenv("FSLDIR")
- << "/doc/images/fsl-bg.jpg\">" << endl
+ << "<BODY BACKGROUND=\"file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">" << endl
<< "<hr><CENTER><H1>MELODIC Component " << num2str(cnum)
<< "</H1>"<< endl;
diff -Naur src.orig/melodic/melreport.h src/melodic/melreport.h
--- src.orig/melodic/melreport.h 2015-03-30 11:54:10.502550183 +1300
+++ src/melodic/melreport.h 2015-03-30 12:11:17.995116883 +1300
@@ -104,21 +104,21 @@
const time_t tmptime = time(NULL);
system(("mkdir "+ logger.appendDir("report") + " 2>/dev/null").c_str());
report.setDir(logger.appendDir("report"),"00index.html",true,false,ios::out);
- report << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>"
+ report << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>"
<< "<TITLE>MELODIC report</TITLE></HEAD><BODY>"
<< endl <<endl;
loghtml.setDir(report.getDir(),"log.html");
- loghtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>"
+ loghtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>"
<< "<TITLE>MELODIC report</TITLE></HEAD><BODY>"
<< endl <<endl;
navigator.setDir(report.getDir(),"nav.html");
head.setDir(report.getDir(),"head.html");
- navigator << "<link REL=stylesheet TYPE=text/css href=file:"+
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl;
- head << "<link REL=stylesheet TYPE=text/css href=file:"+
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl;
+ navigator << "<link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl;
+ head << "<link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl;
head <<"<TABLE BORDER=0><TR>" << endl
<<" <TD ALIGN=CENTER WIDTH=100%>"<< endl
<<"<TABLE BORDER=0>"<< endl
@@ -130,8 +130,8 @@
<< "</tr></table>" << endl
<< "<TD ALIGN=RIGHT>" << endl
<< "<a href=http://www.fmrib.ox.ac.uk/fsl target=_top>" << endl
- << "<IMG BORDER=0 SRC=file:"<< getenv("FSLDIR")
- << "/doc/images/fsl-logo-big.jpg WIDTH=165></a>" << endl
+ << "<IMG BORDER=0 SRC=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-logo-big.jpg WIDTH=165></a>" << endl
<< "</TD>"<<endl<<"</TR></TABLE> <hr>"<<endl;
if(opts.guireport.value()==""){
report <<"<OBJECT data=head.html></OBJECT>" << endl;
diff -Naur src.orig/mm/mixture_model.cc src/mm/mixture_model.cc
--- src.orig/mm/mixture_model.cc 2015-03-30 11:54:10.522550233 +1300
+++ src/mm/mixture_model.cc 2015-03-30 11:54:18.412569892 +1300
@@ -2224,8 +2224,8 @@
htmllog << "<HTML> " << endl
<< "<TITLE>Mixture Model fit for" << data_name << "</TITLE>" << endl
- << "<BODY BACKGROUND=\"file:" << getenv("FSLDIR")
- << "/doc/images/fsl-bg.jpg\">" << endl
+ << "<BODY BACKGROUND=\"file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">" << endl
<< "<hr><CENTER><H1>Mixture Model fit for<br>" << data_name << " </H1>"<< endl;
htmllog << "<hr><p>" << endl;
diff -Naur src.orig/siena/siena_diff.cc src/siena/siena_diff.cc
--- src.orig/siena/siena_diff.cc 2015-03-30 11:54:10.482550135 +1300
+++ src/siena/siena_diff.cc 2015-03-30 11:54:18.412569892 +1300
@@ -107,7 +107,7 @@
{
// {{{ vars
-char thestring[10000], segoptions[10000], fsldir[10000];
+char thestring[10000], segoptions[10000];
int x_size, y_size, z_size, size, x, y, z, i, count,
seg2=0, ignore_z=0, ignore_top_slices=0, //erode_mask=0,
ignore_bottom_slices=0, debug=0, flow_output=1, edge_masking=0;
@@ -124,8 +124,6 @@
string argv1(argv[1]), argv2(argv[2]);
-sprintf(fsldir,"%s",getenv("FSLDIR"));
-
for (i = 3; i < argc; i++) {
if (!strcmp(argv[i], "-i"))
ignore_z=1;
@@ -209,26 +207,26 @@
// }}}
// {{{ transform images and masks
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
- fsldir,argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
+ argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
- fsldir,argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
+ argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
if (edge_masking)
{
- sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_valid_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_valid_mask_with_%s",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+ sprintf(thestring,"flirt -o %s_halfwayto_%s_valid_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_valid_mask_with_%s",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
}
@@ -287,8 +285,8 @@
cout << "saving image 1 to disk prior to segmentation" << endl;
save_volume(in1,argv1+"_halfwayto_"+argv2+"_brain");
in1.destroy();
- sprintf(thestring,"%s/bin/fast %s %s %s_halfwayto_%s_brain > %s_halfwayto_%s_brain.vol 2>&1",
- fsldir,segtype,segoptions,argv[1],argv[2],argv[1],argv[2]);
+ sprintf(thestring,"fast %s %s %s_halfwayto_%s_brain > %s_halfwayto_%s_brain.vol 2>&1",
+ segtype,segoptions,argv[1],argv[2],argv[1],argv[2]);
cout << thestring << endl;
system(thestring);
}
diff -Naur src.orig/topup/topupfns.cpp src/topup/topupfns.cpp
--- src.orig/topup/topupfns.cpp 2015-03-30 11:54:10.522550233 +1300
+++ src/topup/topupfns.cpp 2015-03-30 11:54:18.412569892 +1300
@@ -463,8 +463,7 @@
if (TOPUP::check_exist(ecfname)) return(ecfname);
}
if (!TOPUP::path(cfname).length()) { // If no path explicitly given
- const char *fsldir_ptr = getenv("FSLDIR");
- ecfname = string(fsldir_ptr) + string("/etc/flirtsch/") + cfname;
+ ecfname = string("@GENTOO_PORTAGE_EPREFIX@/etc/flirtsch/") + cfname;
if (TOPUP::check_exist(ecfname)) return(ecfname);
else if (!TOPUP::extension(ecfname).length()) { // If no path _and_ no extension given
ecfname += string(".cnf");

View File

@ -0,0 +1,21 @@
--- src/miscvis/writepng.c.orig 2013-10-19 00:18:32.415203592 +1300
+++ src/miscvis/writepng.c 2013-10-19 00:19:05.414255132 +1300
@@ -32,6 +32,7 @@
#include <stdlib.h> /* for exit() prototype */
+#include "zlib.h"
#include "png.h" /* libpng header; includes zlib.h and setjmp.h */
#include "writepng.h" /* typedefs, common macros, public prototypes */
--- src/ptx2/surfmaths.cc.orig 2013-10-19 00:19:51.595327317 +1300
+++ src/ptx2/surfmaths.cc 2013-10-19 00:20:09.284354805 +1300
@@ -72,7 +72,7 @@
#include "csv_mesh.h"
#include "miscmaths/miscmaths.h"
#include "utils/fsl_isfinite.h"
-#include "libprob/libprob.h"
+#include "libprob.h"
using namespace MISCMATHS;

View File

@ -0,0 +1,113 @@
diff -Naur fsl.orig/build fsl/build
--- fsl.orig/build 2015-03-29 00:10:39.845936000 +1300
+++ fsl/build 2015-03-29 00:12:37.160487000 +1300
@@ -11,8 +11,7 @@
ifit load_varian load_dicom misc_scripts fdt first possum sgeutils flameo oxford_asl relax qboot topup ptx2 lesions eddy dwssfp";
fi
-echo "Building projects - see build.log file for progress..."
-./config/common/buildproj $PROJECTS > ./build.log 2>&1
-echo "Finished build : end of log file shows ..."
-tail -10 build.log
+echo "Building projects"
+./config/common/buildproj $PROJECTS
+echo "Finished build"
diff -Naur fsl.orig/config/common/buildproj fsl/config/common/buildproj
--- fsl.orig/config/common/buildproj 2015-03-29 00:11:47.130998000 +1300
+++ fsl/config/common/buildproj 2015-03-29 00:12:37.164319000 +1300
@@ -11,10 +11,10 @@
fi
PROJECTS="$@" ; export PROJECTS ;
-FSLDIR=`pwd`
+#FSLDIR=`pwd`
FSLDEVDIR=${FSLDIR}
FSLCONFDIR=${FSLDIR}/config
-FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
+#FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
export FSLDIR FSLDEVDIR FSLCONFDIR FSLMACHTYPE
buildmessages="" ; export buildmessages ;
@@ -66,7 +66,7 @@
if [ -x fslconfig ] ; then
./fslconfig ;
fi
- if ${MAKE} -k ${MAKEOPTIONS} ; then
+ if ${MAKE} ${MAKEOPTIONS} ${MAKEOPTS} ; then
if ${MAKE} install ; then
installok=true;
# Clean up after ourselves
diff -Naur fsl.orig/config/common/vars.mk fsl/config/common/vars.mk
--- fsl.orig/config/common/vars.mk 2015-03-29 00:11:47.183520000 +1300
+++ fsl/config/common/vars.mk 2015-03-29 00:18:53.151222000 +1300
@@ -24,15 +24,15 @@
USRCFLAGS =
USRCXXFLAGS =
-LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR}
+LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR} ${USERLDFLAGS}
-AccumulatedIncFlags = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR}
+AccumulatedIncFlags = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR} ${CPPFLAGS}
CFLAGS = ${ANSI_FLAGS} ${ANSI_CFLAGS} ${DBGFLAGS} ${USEDCSTATICFLAGS} ${USRCFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
- ${AccumulatedIncFlags}
+ ${AccumulatedIncFlags} ${USERCFLAGS}
CXXFLAGS = ${ANSI_FLAGS} ${ANSI_CXXFLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
- ${AccumulatedIncFlags}
+ ${AccumulatedIncFlags} ${USERCXXFLAGS}
HFILES = *.h
AFILES = *.a
diff -Naur fsl.orig/config/generic/systemvars.mk fsl/config/generic/systemvars.mk
--- fsl.orig/config/generic/systemvars.mk 2015-03-29 00:11:47.534246000 +1300
+++ fsl/config/generic/systemvars.mk 2015-03-29 00:12:37.162129000 +1300
@@ -4,20 +4,20 @@
# System dependent commands (NB: the first two are the most platform dependent)
-INSTALL = ginstall -p
-RANLIB = ranlib
+INSTALL = install -p
+RANLIB = @@GENTOO_RANLIB@@
RM = /bin/rm
CP = /bin/cp
MV = /bin/mv
CHMOD = /bin/chmod
MKDIR = /bin/mkdir
-TCLSH = ${FSLDIR}/bin/fsltclsh
+TCLSH = tclsh
# Compiler dependent variables
-CC = gcc
-CXX = c++
+CC = @@GENTOO_CC@@
+CXX = @@GENTOO_CXX@@
CSTATICFLAGS = -static
CXXSTATICFLAGS = -static
@@ -25,7 +25,7 @@
DEPENDFLAGS = -MM
-OPTFLAGS = -O3 -fexpensive-optimizations ${ARCHFLAGS}
+OPTFLAGS =
MACHDBGFLAGS =
GNU_ANSI_FLAGS = -Wall -ansi -pedantic
SGI_ANSI_FLAGS = -ansi -fullwarn
diff -Naur fsl.orig/extras/build fsl/extras/build
--- fsl.orig/extras/build 2015-03-29 00:11:15.080236000 +1300
+++ fsl/extras/build 2015-03-29 00:15:53.170496000 +1300
@@ -60,7 +60,7 @@
if [ ${BUILDICONV} -eq 1 ]; then
PROJECTS="${PROJECTS} libiconv"
fi
-PROJECTS="${PROJECTS} libgd libgdc libprob libcprob newmat cprob newran fftw"
+PROJECTS="libgdc libprob libcprob newmat cprob newran"
for projname in $PROJECTS; do
if [ -d $FSLESRCDIR/$projname ] ; then

View File

@ -0,0 +1,456 @@
# Adapt hard-coded paths to the directory structure of Gentoo (including Prefix)
# From: Francois Bissey <frp.bissey@gmail.com>
# Signed-off-by: Horea Christian <horea.christ@gmail.com>
diff -Naur fsl.orig/src/fast4/fast_two.cc fsl/src/fast4/fast_two.cc
--- fsl.orig/src/fast4/fast_two.cc 2015-03-30 11:54:10.522550233 +1300
+++ fsl/src/fast4/fast_two.cc 2015-03-30 11:54:18.412569892 +1300
@@ -166,7 +166,7 @@
string csfPriorName, grayPriorName, whitePriorName;
if(alternatePriors.unset())
{
- string priorRootName=string(getenv("FSLDIR")) + "/data/standard/tissuepriors/avg152T1_";
+ string priorRootName="@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/tissuepriors/avg152T1_";
csfPriorName = priorRootName+"csf";
grayPriorName = priorRootName+"gray";
whitePriorName = priorRootName+"white";
@@ -215,15 +215,15 @@
if(bapused>0)
{
char reg[1024];
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), csfPriorName.c_str(), (main_prior_vol+"_csf_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), csfPriorName.c_str(), (main_prior_vol+"_csf_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout<<reg<<endl;
system(reg);
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), grayPriorName.c_str(), (main_prior_vol+"_gm_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), grayPriorName.c_str(), (main_prior_vol+"_gm_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout<<reg<<endl;
system(reg);
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), whitePriorName.c_str(), (main_prior_vol+"_wm_stdspace").c_str(), bapriori.value().c_str());
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), whitePriorName.c_str(), (main_prior_vol+"_wm_stdspace").c_str(), bapriori.value().c_str());
if(verbose.value())
cout << reg << endl;
system(reg);
diff -Naur fsl.orig/src/feat5/feat_model.cc fsl/src/feat5/feat_model.cc
--- fsl.orig/src/feat5/feat_model.cc 2015-03-30 11:54:10.502550183 +1300
+++ fsl/src/feat5/feat_model.cc 2015-03-30 11:54:18.412569892 +1300
@@ -741,7 +741,7 @@
vector<int> G;
vector<string> titles;
float tr, mult, trmult, nltffwhm=0, maxconvwin=0;
- char fl[10000], *FSLDIR;
+ char fl[10000];
string fn, filename;
FONT_DATA *font_data = new FONT_DATA[1];
@@ -760,8 +760,6 @@
if (argc==3)
motionparams=remmean(read_ascii_matrix(argv[2]));
- FSLDIR=getenv("FSLDIR");
-
fn = string(argv[1])+".fsf";
level = atoi(find_line(fn, "fmri(level)", fl));
@@ -1491,7 +1489,7 @@
writeCovarianceImage(string(argv[1])+"_cov.ppm", contrasts, F, nftests, realDesign, level, evs.eigenvals, font_data, contrasts.RE);
writeImagePreview(string(argv[1])+".ppm", contrasts, F, nftests, realDesign, level, evs, font_data, titles, tr, nltffwhm, nTimepoints, G);
- filename=string(getenv("FSLDIR"))+"/bin/wpng -q -overwrite "+string(argv[1])+".ppm ";
+ filename="wpng -q -overwrite "+string(argv[1])+".ppm ";
system(filename.c_str());
return(0);
@@ -2134,6 +2132,6 @@
fclose(outputfile);
- filename=string(getenv("FSLDIR")) + "/bin/wpng -q -overwrite " + filename;
+ filename="wpng -q -overwrite " + filename;
system(filename.c_str());
}
diff -Naur fsl.orig/src/feat5/tsplot.cc fsl/src/feat5/tsplot.cc
--- fsl.orig/src/feat5/tsplot.cc 2015-03-30 11:54:10.502550183 +1300
+++ fsl/src/feat5/tsplot.cc 2015-03-30 11:54:18.412569892 +1300
@@ -293,7 +293,7 @@
ofstream outputFile;
int numEVs, npts, numContrasts=1, nftests=0, GRPHSIZE(600), PSSIZE(600);
vector<double> normalisedContrasts, model, triggers;
- string fmriFileName, fslPath, featdir, vType, indexText;
+ string fmriFileName, featdir, vType, indexText;
ColumnVector NewimageVoxCoord(4),NiftiVoxCoord(4);
bool outputText(true), useCoordinate(false), prewhiten(false), useTriggers(false), customMask(false), modelFree(false), isHigherLevel(false), outputDataOnly(false);
bool zWeightClusters(true);
@@ -307,7 +307,6 @@
if (argc<2) usage("");
featdir=string(argv[1]);
fmriFileName=featdir+"/filtered_func_data";
- fslPath=string(getenv("FSLDIR"));
string outputName(featdir);
@@ -725,7 +724,7 @@
cerr << "Can't open output report file " << outputName << endl;
exit(1);
}
- outputFile << "<HTML>\n<TITLE>"<< statType << num2str(i) <<"</TITLE>\n<BODY BACKGROUND=\"file:"<< fslPath <<"/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report - "<< statType << num2str(i) <<"</H1>\n</CENTER>\n<hr><b>Full plots</b><p>\n"<< graphText;
+ outputFile << "<HTML>\n<TITLE>"<< statType << num2str(i) <<"</TITLE>\n<BODY BACKGROUND=\"file:"<< "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report - "<< statType << num2str(i) <<"</H1>\n</CENTER>\n<hr><b>Full plots</b><p>\n"<< graphText;
if (useTriggers) outputFile << "\n<hr><b>Peristimulus plots</b><p>\n"<< peristimulusText <<"\n<HR></BODY></HTML>\n\n";
else outputFile << "\n</BODY></HTML>\n\n";
outputFile.close();
@@ -740,7 +739,7 @@
cerr << "Can't open output report file " << outputName << endl;
exit(1);
}
- outputFile << "<HTML>\n<TITLE>FEAT Time Series Report</TITLE>\n<BODY BACKGROUND=\"file:" << fslPath << "/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report</H1>\n</CENTER>\n<hr>" << indexText << "<HR></BODY></HTML>" << endl << endl;
+ outputFile << "<HTML>\n<TITLE>FEAT Time Series Report</TITLE>\n<BODY BACKGROUND=\"file:" << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report</H1>\n</CENTER>\n<hr>" << indexText << "<HR></BODY></HTML>" << endl << endl;
outputFile.close();
/* now output same thing without start and end, for inclusion in feat report */
diff -Naur fsl.orig/src/first/first_utils.cc fsl/src/first/first_utils.cc
--- fsl.orig/src/first/first_utils.cc 2015-03-30 11:54:10.482550135 +1300
+++ fsl/src/first/first_utils.cc 2015-03-30 11:54:18.412569892 +1300
@@ -1954,8 +1954,8 @@
if (!surfaceVAout.value()) {
// do not output on the surface, instead do the new default of outputting a volume with the scalar normal dot product values (for use with randomise)
volume<float> refim;
- if (useReconMNI.value()) { read_volume(refim,string(getenv("FSLDIR")) + "/data/standard/MNI152_T1_1mm"); }
- else { read_volume(refim,string(getenv("FSLDIR")) + "/data/standard/MNI152_T1_1mm"); }
+ if (useReconMNI.value()) { read_volume(refim,"@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); }
+ else { read_volume(refim,"@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); }
volume<float> maskvol(refim);
maskvol=0.0f;
volume4D<float> volnormals;
diff -Naur fsl.orig/src/fnirt/fnirtfns.cpp fsl/src/fnirt/fnirtfns.cpp
--- fsl.orig/src/fnirt/fnirtfns.cpp 2015-03-30 11:54:10.522550233 +1300
+++ fsl/src/fnirt/fnirtfns.cpp 2015-03-30 11:54:18.412569892 +1300
@@ -1203,8 +1203,7 @@
return(string(ref_fname));
}
else {
- const char *fsldir_ptr = getenv("FSLDIR");
- string eref_fname = string(fsldir_ptr) + string("/data/standard/") + ref_fname;
+ string eref_fname = string("@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/") + ref_fname;
if (NEWIMAGE::fsl_imageexists(eref_fname)) return(eref_fname);
else return(string(""));
}
@@ -1230,9 +1229,8 @@
NEWIMAGE::read_volume_hdr_only(vref,ref_fname); // Throws if file dont exist
eref_fname = ref_fname;
}
- catch(...) { // Didn't exist in current directory, try in ${FSLDIR}/data/standard
- const char *fsldir_ptr = getenv("FSLDIR");
- eref_fname = string(fsldir_ptr) + string("/data/standard/") + ref_fname;
+ catch(...) { // Didn't exist in current directory, try in .../data/standard
+ eref_fname = string("@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/") + ref_fname;
try {
cout << "Could not find " << ref_fname << ", now checking " << eref_fname << endl;
NEWIMAGE::read_volume_hdr_only(vref,eref_fname); // Throws if file dont exist
@@ -1267,8 +1265,7 @@
if (check_exist(ecfname)) return(ecfname);
}
if (!FNIRT::path(cfname).length()) { // If no path explicitly given
- const char *fsldir_ptr = getenv("FSLDIR");
- ecfname = string(fsldir_ptr) + string("/etc/flirtsch/") + cfname;
+ ecfname = string("@GENTOO_PORTAGE_EPREFIX@/etc/flirtsch/") + cfname;
if (check_exist(ecfname)) return(ecfname);
else if (!FNIRT::extension(ecfname).length()) { // If no path _and_ no extension given
ecfname += string(".cnf");
diff -Naur fsl.orig/src/fslsurface/fslsurface_first.cc fsl/src/fslsurface/fslsurface_first.cc
--- fsl.orig/src/fslsurface/fslsurface_first.cc 2015-03-30 11:54:10.522550233 +1300
+++ fsl/src/fslsurface/fslsurface_first.cc 2015-03-30 11:54:18.412569892 +1300
@@ -500,8 +500,7 @@
volume<float>* immni = new volume<float>();
- char* fsldir = getenv("FSLDIR");
- read_volume_hdr_only(*immni, string(fsldir) + "/data/standard/MNI152_T1_1mm");
+ read_volume_hdr_only(*immni, "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm");
//read_volume_hdr_only(*immni, template_name);
@@ -699,8 +698,7 @@
volume<float>* immni = new volume<float>();
- char* fsldir = getenv("FSLDIR");
- read_volume_hdr_only(*immni, string(fsldir) + "/data/standard/MNI152_T1_1mm");
+ read_volume_hdr_only(*immni, "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm");
//read_volume_hdr_only(*immni, template_name);
diff -Naur fsl.orig/src/fslsurface/fslsurfacemaths.cpp fsl/src/fslsurface/fslsurfacemaths.cpp
--- fsl.orig/src/fslsurface/fslsurfacemaths.cpp 2015-03-30 11:54:10.522550233 +1300
+++ fsl/src/fslsurface/fslsurfacemaths.cpp 2015-03-30 11:54:18.412569892 +1300
@@ -598,12 +598,6 @@
}else if (command == "-reconFromBvars"){
cout<<"do recon "<<endl;
- char* fsldir = getenv("FSLDIR");
- if (fsldir == NULL)
- {
- cerr<<"FSLDIR has not been set. "<<endl;
- exit(EXIT_FAILURE);
- }
//file.bvars,mni_template.nii.gz
// string mni = string(fsldir)+"/data/standard/MNI152_T1_1mm";
reconSurface_from_bvars( surf, string(argv[i_arg+1]));
@@ -612,12 +606,6 @@
}else if (command == "-reconAllFromBvarsAndSave"){
cout<<"do recon+save "<<argc<<" "<<i_arg<<endl;
- char* fsldir = getenv("FSLDIR");
- if (fsldir == NULL)
- {
- cerr<<"FSLDIR has not been set. "<<endl;
- exit(EXIT_FAILURE);
- }
//file.bvars,mni_template.nii.gz
// string mni = string(fsldir)+"/data/standard/MNI152_T1_1mm";
cout<<"recon "<< string(argv[i_arg+1])<<endl;
diff -Naur fsl.orig/src/libvis/miscpic.h fsl/src/libvis/miscpic.h
--- fsl.orig/src/libvis/miscpic.h 2015-03-30 11:54:10.482550135 +1300
+++ fsl/src/libvis/miscpic.h 2015-03-30 11:54:18.412569892 +1300
@@ -89,12 +89,7 @@
LR_label_flag = true;
trans= -10;
edgethresh = 0.0;
- if(getenv("FSLDIR")!=0){
- lutbase = string(getenv("FSLDIR")) + "/etc/luts/";
- }
- else{
- lutbase = string("/");
- }
+ lutbase = "@GENTOO_PORTAGE_EPREFIX@/etc/luts/";
title = string("");
cbartype = string("");
cbarptr = NULL;
diff -Naur fsl.orig/src/melodic/meldata.cc fsl/src/melodic/meldata.cc
--- fsl.orig/src/melodic/meldata.cc 2015-03-30 11:54:10.502550183 +1300
+++ fsl/src/melodic/meldata.cc 2015-03-30 11:54:18.412569892 +1300
@@ -971,7 +971,7 @@
void MelodicData::est_smoothness()
{
if(Resels == 0){
- string SM_path = opts.binpath + "smoothest";
+ string SM_path = "smoothest";
string Mask_fname = logger.appendDir("mask");
if(opts.segment.value().length()>0){
@@ -1136,7 +1136,7 @@
// set up all strings
string BET_outputfname = string(Mean_fname)+"_brain";
- string BET_path = opts.binpath + "bet";
+ string BET_path = "bet";
string BET_optarg = "-m -f 0.4"; // see man bet
string Mask_fname = BET_outputfname+"_mask";
diff -Naur fsl.orig/src/melodic/meloptions.cc fsl/src/melodic/meloptions.cc
--- fsl.orig/src/melodic/meloptions.cc 2015-03-30 11:54:10.502550183 +1300
+++ fsl/src/melodic/meloptions.cc 2015-03-30 11:54:18.412569892 +1300
@@ -93,14 +93,6 @@
explicitnums = false;
logfname = string("log.txt");
- // work out the path to the $FSLDIR/bin directory
- if(getenv("FSLDIR")!=0){
- binpath = (string) getenv("FSLDIR") + "/bin/";
- } else{
- binpath = argv[0];
- binpath = binpath.substr(0,binpath.length()-7);
- }
-
// parse once to establish log directory name
for(int a = options.parse_command_line(argc, argv); a < argc; a++);
diff -Naur fsl.orig/src/melodic/meloptions.h fsl/src/melodic/meloptions.h
--- fsl.orig/src/melodic/meloptions.h 2015-03-30 11:54:10.502550183 +1300
+++ fsl/src/melodic/meloptions.h 2015-03-30 11:54:18.412569892 +1300
@@ -93,7 +93,6 @@
~MelodicOptions() { delete gopt; }
string version;
- string binpath;
string logfname;
bool filtermode;
bool explicitnums;
diff -Naur fsl.orig/src/melodic/melreport.cc fsl/src/melodic/melreport.cc
--- fsl.orig/src/melodic/melreport.cc 2015-03-30 11:54:10.502550183 +1300
+++ fsl/src/melodic/melreport.cc 2015-03-30 11:54:18.412569892 +1300
@@ -84,8 +84,8 @@
IChtml.setDir(report.getDir(),mmodel.get_prefix()+".html");
{//start IC page
- IChtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl
+ IChtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl
<< "<style type=\"text/css\">OBJECT { width: 100% }</style>"
<< "<TITLE>FSL</TITLE></HEAD>" << endl
<< "<IFRAME height=" << int(melodat.get_numfiles()/30 + 1)*50
@@ -487,8 +487,8 @@
{//start IC2 page
IChtml2.setDir(report.getDir(),mmodel.get_prefix()+"_MM.html");
- IChtml2 << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl
+ IChtml2 << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl
<< "<style type=\"text/css\">OBJECT { width: 100% }</style>"
<< "<TITLE>FSL</TITLE></HEAD>" << endl
<< "<IFRAME height="<< int(melodat.get_numfiles()/30 + 1)*50
@@ -666,8 +666,8 @@
IChtml << "<HTML> " << endl
<< "<TITLE>MELODIC Component " << num2str(cnum)
<< "</TITLE>" << endl
- << "<BODY BACKGROUND=\"file:" << getenv("FSLDIR")
- << "/doc/images/fsl-bg.jpg\">" << endl
+ << "<BODY BACKGROUND=\"file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">" << endl
<< "<hr><CENTER><H1>MELODIC Component " << num2str(cnum)
<< "</H1>"<< endl;
diff -Naur fsl.orig/src/melodic/melreport.h fsl/src/melodic/melreport.h
--- fsl.orig/src/melodic/melreport.h 2015-03-30 11:54:10.502550183 +1300
+++ fsl/src/melodic/melreport.h 2015-03-30 12:11:17.995116883 +1300
@@ -104,21 +104,21 @@
const time_t tmptime = time(NULL);
system(("mkdir "+ logger.appendDir("report") + " 2>/dev/null").c_str());
report.setDir(logger.appendDir("report"),"00index.html",true,false,ios::out);
- report << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>"
+ report << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>"
<< "<TITLE>MELODIC report</TITLE></HEAD><BODY>"
<< endl <<endl;
loghtml.setDir(report.getDir(),"log.html");
- loghtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:" +
- (string) getenv("FSLDIR") +"/doc/fsl.css>"
+ loghtml << "<HTML><HEAD><link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>"
<< "<TITLE>MELODIC report</TITLE></HEAD><BODY>"
<< endl <<endl;
navigator.setDir(report.getDir(),"nav.html");
head.setDir(report.getDir(),"head.html");
- navigator << "<link REL=stylesheet TYPE=text/css href=file:"+
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl;
- head << "<link REL=stylesheet TYPE=text/css href=file:"+
- (string) getenv("FSLDIR") +"/doc/fsl.css>" << endl;
+ navigator << "<link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl;
+ head << "<link REL=stylesheet TYPE=text/css href=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/fsl.css>" << endl;
head <<"<TABLE BORDER=0><TR>" << endl
<<" <TD ALIGN=CENTER WIDTH=100%>"<< endl
<<"<TABLE BORDER=0>"<< endl
@@ -130,8 +130,8 @@
<< "</tr></table>" << endl
<< "<TD ALIGN=RIGHT>" << endl
<< "<a href=http://www.fmrib.ox.ac.uk/fsl target=_top>" << endl
- << "<IMG BORDER=0 SRC=file:"<< getenv("FSLDIR")
- << "/doc/images/fsl-logo-big.jpg WIDTH=165></a>" << endl
+ << "<IMG BORDER=0 SRC=file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-logo-big.jpg WIDTH=165></a>" << endl
<< "</TD>"<<endl<<"</TR></TABLE> <hr>"<<endl;
if(opts.guireport.value()==""){
report <<"<OBJECT data=head.html></OBJECT>" << endl;
diff -Naur fsl.orig/src/mm/mixture_model.cc fsl/src/mm/mixture_model.cc
--- fsl.orig/src/mm/mixture_model.cc 2015-03-30 11:54:10.522550233 +1300
+++ fsl/src/mm/mixture_model.cc 2015-03-30 11:54:18.412569892 +1300
@@ -2224,8 +2224,8 @@
htmllog << "<HTML> " << endl
<< "<TITLE>Mixture Model fit for" << data_name << "</TITLE>" << endl
- << "<BODY BACKGROUND=\"file:" << getenv("FSLDIR")
- << "/doc/images/fsl-bg.jpg\">" << endl
+ << "<BODY BACKGROUND=\"file:"
+ << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">" << endl
<< "<hr><CENTER><H1>Mixture Model fit for<br>" << data_name << " </H1>"<< endl;
htmllog << "<hr><p>" << endl;
diff -Naur fsl.orig/src/siena/siena_diff.cc fsl/src/siena/siena_diff.cc
--- fsl.orig/src/siena/siena_diff.cc 2015-03-30 11:54:10.482550135 +1300
+++ fsl/src/siena/siena_diff.cc 2015-03-30 11:54:18.412569892 +1300
@@ -107,7 +107,7 @@
{
// {{{ vars
-char thestring[10000], segoptions[10000], fsldir[10000];
+char thestring[10000], segoptions[10000];
int x_size, y_size, z_size, size, x, y, z, i, count,
seg2=0, ignore_z=0, ignore_top_slices=0, //erode_mask=0,
ignore_bottom_slices=0, debug=0, flow_output=1, edge_masking=0;
@@ -124,8 +124,6 @@
string argv1(argv[1]), argv2(argv[2]);
-sprintf(fsldir,"%s",getenv("FSLDIR"));
-
for (i = 3; i < argc; i++) {
if (!strcmp(argv[i], "-i"))
ignore_z=1;
@@ -209,26 +207,26 @@
// }}}
// {{{ transform images and masks
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
- fsldir,argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s",
+ argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1]);
printf("%s\n",thestring); system(thestring);
-sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
- fsldir,argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+sprintf(thestring,"flirt -o %s_halfwayto_%s_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_brain_mask",
+ argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
if (edge_masking)
{
- sprintf(thestring,"%s/bin/flirt -o %s_halfwayto_%s_valid_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_valid_mask_with_%s",
- fsldir,argv[1],argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
+ sprintf(thestring,"flirt -o %s_halfwayto_%s_valid_mask -applyisoxfm 1 -paddingsize 0 -init %s_halfwayto_%s.mat -ref %s -in %s_valid_mask_with_%s",
+ argv[1],argv[2],argv[1],argv[2],argv[1],argv[1],argv[2]);
printf("%s\n",thestring); system(thestring);
}
@@ -287,8 +285,8 @@
cout << "saving image 1 to disk prior to segmentation" << endl;
save_volume(in1,argv1+"_halfwayto_"+argv2+"_brain");
in1.destroy();
- sprintf(thestring,"%s/bin/fast %s %s %s_halfwayto_%s_brain > %s_halfwayto_%s_brain.vol 2>&1",
- fsldir,segtype,segoptions,argv[1],argv[2],argv[1],argv[2]);
+ sprintf(thestring,"fast %s %s %s_halfwayto_%s_brain > %s_halfwayto_%s_brain.vol 2>&1",
+ segtype,segoptions,argv[1],argv[2],argv[1],argv[2]);
cout << thestring << endl;
system(thestring);
}
diff -Naur fsl.orig/src/topup/topupfns.cpp fsl/src/topup/topupfns.cpp
--- fsl.orig/src/topup/topupfns.cpp 2015-03-30 11:54:10.522550233 +1300
+++ fsl/src/topup/topupfns.cpp 2015-03-30 11:54:18.412569892 +1300
@@ -463,8 +463,7 @@
if (TOPUP::check_exist(ecfname)) return(ecfname);
}
if (!TOPUP::path(cfname).length()) { // If no path explicitly given
- const char *fsldir_ptr = getenv("FSLDIR");
- ecfname = string(fsldir_ptr) + string("/etc/flirtsch/") + cfname;
+ ecfname = string("@GENTOO_PORTAGE_EPREFIX@/etc/flirtsch/") + cfname;
if (TOPUP::check_exist(ecfname)) return(ecfname);
else if (!TOPUP::extension(ecfname).length()) { // If no path _and_ no extension given
ecfname += string(".cnf");

View File

@ -0,0 +1,15 @@
# Include zlib header directly.
# From: Francois Bissey <frp.bissey@gmail.com>
# Signed-off-by: Horea Christian <horea.christ@gmail.com>
# Submitted upstream: https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind1709&L=FSL&F=&S=&X=95C10F0B7D62EAAE7A&P=169254
--- fsl/src/miscvis/writepng.c.orig 2013-10-19 00:18:32.415203592 +1300
+++ fsl/src/miscvis/writepng.c 2013-10-19 00:19:05.414255132 +1300
@@ -32,6 +32,7 @@
#include <stdlib.h> /* for exit() prototype */
+#include "zlib.h"
#include "png.h" /* libpng header; includes zlib.h and setjmp.h */
#include "writepng.h" /* typedefs, common macros, public prototypes */

View File

@ -0,0 +1,115 @@
diff -Naur fsl.orig/build fsl/build
--- fsl.orig/build 2015-03-29 00:10:39.845936000 +1300
+++ fsl/build 2015-03-29 00:12:37.160487000 +1300
@@ -11,9 +11,8 @@
ifit load_varian load_dicom misc_scripts fdt first possum sgeutils \
flameo oxford_asl relax qboot topup ptx2 lesions eddy dwssfp verbena";
fi
-echo "Building projects - see build.log file for progress..."
-./config/common/buildproj $PROJECTS > ./build.log 2>&1
-echo "Finished build : end of log file shows ..."
-tail -10 build.log
+echo "Building projects"
+./config/common/buildproj $PROJECTS
+echo "Finished build"
diff -Naur fsl.orig/config/common/buildproj fsl/config/common/buildproj
--- fsl.orig/config/common/buildproj 2015-03-29 00:11:47.130998000 +1300
+++ fsl/config/common/buildproj 2015-03-29 00:12:37.164319000 +1300
@@ -11,10 +11,10 @@
fi
PROJECTS="$@" ; export PROJECTS ;
-FSLDIR=`pwd`
+#FSLDIR=`pwd`
FSLDEVDIR=${FSLDIR}
FSLCONFDIR=${FSLDIR}/config
-FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
+#FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
export FSLDIR FSLDEVDIR FSLCONFDIR FSLMACHTYPE
buildmessages="" ; export buildmessages ;
@@ -66,7 +66,7 @@
if [ -x fslconfig ] ; then
./fslconfig ;
fi
- if ${MAKE} -k ${MAKEOPTIONS} ; then
+ if ${MAKE} ${MAKEOPTIONS} ${MAKEOPTS} ; then
if ${MAKE} install ; then
installok=true;
# Clean up after ourselves
diff -Naur fsl.orig/config/common/vars.mk fsl/config/common/vars.mk
--- fsl.orig/config/common/vars.mk 2015-03-29 00:11:47.183520000 +1300
+++ fsl/config/common/vars.mk 2015-03-29 00:18:53.151222000 +1300
@@ -24,15 +24,15 @@
USRCFLAGS =
USRCXXFLAGS =
-LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR}
+LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR} ${USERLDFLAGS}
-AccumulatedIncFlags = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR}
+AccumulatedIncFlags = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR} ${CPPFLAGS}
CFLAGS = ${ANSI_FLAGS} ${ANSI_CFLAGS} ${DBGFLAGS} ${USEDCSTATICFLAGS} ${USRCFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
- ${AccumulatedIncFlags}
+ ${AccumulatedIncFlags} ${USERCFLAGS}
CXXFLAGS = ${ANSI_FLAGS} ${ANSI_CXXFLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \
- ${AccumulatedIncFlags}
+ ${AccumulatedIncFlags} ${USERCXXFLAGS}
HFILES = *.h
AFILES = *.a
diff -Naur fsl.orig/config/generic/systemvars.mk fsl/config/generic/systemvars.mk
--- fsl.orig/config/generic/systemvars.mk 2015-03-29 00:11:47.534246000 +1300
+++ fsl/config/generic/systemvars.mk 2015-03-29 00:12:37.162129000 +1300
@@ -4,20 +4,20 @@
# System dependent commands (NB: the first two are the most platform dependent)
-INSTALL = ginstall -p
-RANLIB = ranlib
+INSTALL = install -p
+RANLIB = @@GENTOO_RANLIB@@
RM = /bin/rm
CP = /bin/cp
MV = /bin/mv
CHMOD = /bin/chmod
MKDIR = /bin/mkdir
-TCLSH = ${FSLDIR}/bin/fsltclsh
+TCLSH = tclsh
# Compiler dependent variables
-CC = gcc
-CXX = c++
+CC = @@GENTOO_CC@@
+CXX = @@GENTOO_CXX@@
CSTATICFLAGS = -static
CXXSTATICFLAGS = -static
@@ -25,7 +25,7 @@
DEPENDFLAGS = -MM
-OPTFLAGS = -O3 -fexpensive-optimizations ${ARCHFLAGS}
+OPTFLAGS =
MACHDBGFLAGS =
GNU_ANSI_FLAGS = -Wall -ansi -pedantic
SGI_ANSI_FLAGS = -ansi -fullwarn
diff -Naur fsl.orig/extras/build fsl/extras/build
--- fsl.orig/extras/build 2015-03-29 00:11:15.080236000 +1300
+++ fsl/extras/build 2015-03-29 00:15:53.170496000 +1300
@@ -104,8 +104,8 @@
if [ ${BUILDICONV} -eq 1 ]; then
PROJECTS="${PROJECTS} libiconv"
fi
-PROJECTS="${PROJECTS} libgd libgdc libprob libcprob newmat cprob newran fftw"
+PROJECTS="libgdc libprob libcprob newmat cprob newran"
PROJECTS="${PROJECTS} boost libxml2-2.9.2 libxml++-2.34.0"
for projname in $PROJECTS; do
if [ -d $FSLESRCDIR/$projname ] ; then

View File

@ -0,0 +1,157 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic toolchain-funcs prefix
DESCRIPTION="Analysis of functional, structural, and diffusion MRI brain imaging data"
HOMEPAGE="http://www.fmrib.ox.ac.uk/fsl"
SRC_URI="https://fsl.fmrib.ox.ac.uk/fsldownloads/${P}-sources.tar.gz -> ${P}.tar.gz"
LICENSE="FSL BSD-2 newmat"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
COMMON_DEPEND="
dev-libs/boost
media-gfx/graphviz
media-libs/gd
media-libs/glu
media-libs/libpng:0=
sci-libs/ciftilib
sci-libs/nlopt
sys-libs/zlib
"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}
dev-lang/tcl:0=
dev-lang/tk:0=
"
S=${WORKDIR}/${PN}
UPSTREAM_FSLDIR="/usr/share/fsl"
PATCHES=(
#"${FILESDIR}/${PN}"-5.0.11-setup.patch
#"${FILESDIR}/${PN}"-5.0.11-no_xmlpp.patch
"${FILESDIR}/${PN}"-5.0.11-niftiio_var_fix.patch
"${FILESDIR}/${PN}"-5.0.11-ifstream_use.patch
"${FILESDIR}/${PN}"-5.0.11-fslsurface_parallel_make.patch
#"${FILESDIR}/${PN}"-5.0.11-qstring_compat.patch
"${FILESDIR}/${PN}"-5.0.9-headers.patch
#"${FILESDIR}/${PN}"-5.0.9-fsldir_redux.patch
)
src_prepare(){
default
sed -i \
-e "s:@@GENTOO_RANLIB@@:$(tc-getRANLIB):" \
-e "s:@@GENTOO_CC@@:$(tc-getCC):" \
-e "s:@@GENTOO_CXX@@:$(tc-getCXX):" \
config/generic/systemvars.mk || die
eprefixify $(grep -rl GENTOO_PORTAGE_EPREFIX src/*) \
etc/js/label-div.html
makefilelist=$(find src/ -name Makefile)
sed -i \
-e "s:-I\${INC_BOOST}::" \
-e "s:-I\${INC_ZLIB}::" \
-e "s:-I\${INC_GD}::" \
-e "s:-I\${INC_PNG}::" \
-e "s:-L\${LIB_GD}::" \
-e "s:-L\${LIB_PNG}::" \
-e "s:-L\${LIB_ZLIB}::" \
${makefilelist} || die
sed -e "s:\${FSLDIR}/bin/::g" \
-e "s:\$FSLDIR/bin/::g" \
-i $(grep -rl "\${FSLDIR}/bin" src/*) \
$(grep -rl "\${FSLDIR}/bin" etc/matlab/*) || die
sed -e "s:\$FSLDIR/data:${EPREFIX}/usr/share/fsl/data:g" \
-e "s:\${FSLDIR}/data:${EPREFIX}/usr/share/fsl/data:g" \
-i $(grep -rl "\$FSLDIR/data" src/*) \
$(grep -rl "\${FSLDIR}/data" src/*) || die
sed -e "s:\$FSLDIR/doc:${EPREFIX}/usr/share/fsl/doc:g" \
-e "s:\${FSLDIR}/doc:${EPREFIX}/usr/share/fsl/doc:g" \
-i $(grep -rl "\$FSLDIR/doc" src/*) \
$(grep -rl "\${FSLDIR}/doc" src/*) || die
sed -e "s:/usr/share/fsl/doc:${EPREFIX}/usr/share/fsl/doc:g" \
-i $(grep -rl "/usr/share/fsl/doc" src/*) || die
sed -e "s:\$FSLDIR/etc:${EPREFIX}/etc:g" \
-e "s:\${FSLDIR}/etc:${EPREFIX}/etc:g" \
-i $(grep -rlI "\$FSLDIR/etc" *) \
-i $(grep -rlI "\${FSLDIR}/etc" *) || die
# script wanting to have access to flsversion at buildtime
sed -e "s:/etc/fslversion:${S}/etc/fslversion:g" \
-i ${makefilelist} || die
}
src_compile() {
export FSLDIR=${WORKDIR}/${PN}
export FSLCONDIR=${WORKDIR}/${PN}/config
export FSLMACHTYPE=generic
export USERLDFLAGS="${LDFLAGS}"
export USERCFLAGS="${CFLAGS}"
export USERCXXFLAGS="${CXXFLAGS}"
export CIFTICFLAGS="$($(tc-getPKG_CONFIG) --cflags CiftiLib)"
export CIFTILIBS="$($(tc-getPKG_CONFIG) --libs-only-l CiftiLib)"
./build || die
}
src_install() {
sed -i "s:\${FSLDIR}/tcl:/usr/libexec/fsl:g" \
$(grep -lI "\${FSLDIR}/tcl" bin/*) \
$(grep -l "\${FSLDIR}/tcl" tcl/*) || die
sed -i "s:\$FSLDIR/tcl:/usr/libexec/fsl:g" \
$(grep -l "\$FSLDIR/tcl" tcl/*) || die
dobin bin/*
insinto /usr/share/${PN}
doins -r data
dodoc -r doc/. refdoc
insinto /usr/libexec/fsl
doins -r tcl/*
insinto /etc/fslconf
doins etc/fslconf/fsl.sh
insinto /etc
doins etc/fslversion
doins -r etc/default_flobs.flobs etc/flirtsch etc/js etc/luts
#if use matlab; then
# doins etc/matlab
#fi
#the following is needed for FSL and depending programs to be able
#to find its files, since FSL uses an uncommon installation path:
#https://github.com/gentoo-science/sci/pull/612#r60289295
dosym ../../../etc ${UPSTREAM_FSLDIR}/etc
dosym ../doc/${PF} ${UPSTREAM_FSLDIR}/doc
dosym ../../bin ${UPSTREAM_FSLDIR}/bin
doenvd "$(prefixify_ro "${FILESDIR}"/99fsl)"
mv "${ED}"/usr/bin/{,fsl_}cluster || die
}
pkg_postinst() {
echo
einfo "Please run the following commands if you"
einfo "intend to use fsl from an existing shell:"
einfo "env-update && source /etc/profile"
echo
}

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-biology@gentoo.org</email>
<name>Gentoo Biology Project</name>
</maintainer>
<longdescription>
FSL is a comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data.
</longdescription>
</pkgmetadata>