* [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/
@ 2015-04-20 1:11 Francois Bissey
0 siblings, 0 replies; 8+ messages in thread
From: Francois Bissey @ 2015-04-20 1:11 UTC (permalink / raw
To: gentoo-commits
commit: bdd5cc6f1d8eb2a7a07574df2632cc2381a7b9bc
Author: Horea Christian <h.chr <AT> mail <DOT> ru>
AuthorDate: Wed Mar 4 12:45:42 2015 +0000
Commit: Francois Bissey <f.r.bissey <AT> massey <DOT> ac <DOT> nz>
CommitDate: Wed Mar 4 12:45:42 2015 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=bdd5cc6f
added FSLPATH
Package-Manager: portage-2.2.17
sci-biology/fsl/ChangeLog | 3 +++
sci-biology/fsl/files/99fsl | 1 +
2 files changed, 4 insertions(+)
diff --git a/sci-biology/fsl/ChangeLog b/sci-biology/fsl/ChangeLog
index 979ce44..fac3cce 100644
--- a/sci-biology/fsl/ChangeLog
+++ b/sci-biology/fsl/ChangeLog
@@ -2,6 +2,9 @@
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 04 Mar 2015; <chymera@gentoo.org> files/99fsl:
+ added FSLPATH
+
*fsl-5.0.8 (20 Feb 2015)
20 Feb 2015; <chymera@gentoo.org> +fsl-5.0.8.ebuild:
diff --git a/sci-biology/fsl/files/99fsl b/sci-biology/fsl/files/99fsl
index b86b4cf..ca37941 100644
--- a/sci-biology/fsl/files/99fsl
+++ b/sci-biology/fsl/files/99fsl
@@ -2,3 +2,4 @@ FSLOUTPUTTYPE=NIFTI_GZ
FSLMULTIFILEQUIT=TRUE
FSLTCLSH=tclsh
FSLWISH=wish
+FSLDIR=/usr
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/
@ 2015-04-20 1:11 Francois Bissey
0 siblings, 0 replies; 8+ messages in thread
From: Francois Bissey @ 2015-04-20 1:11 UTC (permalink / raw
To: gentoo-commits
commit: c9252c4925cba26273c9aa67193d9dc1ffad7806
Author: Horea Christian <h.chr <AT> mail <DOT> ru>
AuthorDate: Sat Mar 28 21:07:35 2015 +0000
Commit: Francois Bissey <f.r.bissey <AT> massey <DOT> ac <DOT> nz>
CommitDate: Sat Mar 28 21:07:35 2015 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=c9252c49
hunk implemented by upstream
Package-Manager: portage-2.2.18
sci-biology/fsl/ChangeLog | 3 +++
| 11 -----------
2 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/sci-biology/fsl/ChangeLog b/sci-biology/fsl/ChangeLog
index ea0bd2a..19478e2 100644
--- a/sci-biology/fsl/ChangeLog
+++ b/sci-biology/fsl/ChangeLog
@@ -2,6 +2,9 @@
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 28 Mar 2015; <chymera@gentoo.org> files/fsl-5.0.4-headers.patch:
+ hunk implemented by upstream
+
28 Mar 2015; <h.chr@mail.ru> fsl-5.0.8.ebuild:
using new setup patch file for new ebuild
--git a/sci-biology/fsl/files/fsl-5.0.4-headers.patch b/sci-biology/fsl/files/fsl-5.0.4-headers.patch
index 803151b..ab2ab3d 100644
--- a/sci-biology/fsl/files/fsl-5.0.4-headers.patch
+++ b/sci-biology/fsl/files/fsl-5.0.4-headers.patch
@@ -1,14 +1,3 @@
---- 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 @@
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/
@ 2015-04-20 1:11 Francois Bissey
0 siblings, 0 replies; 8+ messages in thread
From: Francois Bissey @ 2015-04-20 1:11 UTC (permalink / raw
To: gentoo-commits
commit: 98eb215e0d2c9c3e42a9aac7e39a0f5d983f0cde
Author: Horea Christian <h.chr <AT> mail <DOT> ru>
AuthorDate: Sat Mar 28 17:55:57 2015 +0000
Commit: Francois Bissey <f.r.bissey <AT> massey <DOT> ac <DOT> nz>
CommitDate: Sat Mar 28 17:55:57 2015 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=98eb215e
new pathc by François Bissey
Package-Manager: portage-2.2.18
sci-biology/fsl/ChangeLog | 3 +
sci-biology/fsl/files/fsl-5.0.8-setup.patch | 113 ++++++++++++++++++++++++++++
2 files changed, 116 insertions(+)
diff --git a/sci-biology/fsl/ChangeLog b/sci-biology/fsl/ChangeLog
index 2b12763..3ac363f 100644
--- a/sci-biology/fsl/ChangeLog
+++ b/sci-biology/fsl/ChangeLog
@@ -2,6 +2,9 @@
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 28 Mar 2015; <chymera@gentoo.org> +files/fsl-5.0.8-setup.patch:
+ new pathc by François Bissey
+
25 Mar 2015; <chymera@gentoo.org> fsl-5.0.4.ebuild, fsl-5.0.5.ebuild,
fsl-5.0.8.ebuild:
added licences to all versions
diff --git a/sci-biology/fsl/files/fsl-5.0.8-setup.patch b/sci-biology/fsl/files/fsl-5.0.8-setup.patch
new file mode 100644
index 0000000..0cbda5d
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-5.0.8-setup.patch
@@ -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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/
@ 2015-04-20 1:11 Francois Bissey
0 siblings, 0 replies; 8+ messages in thread
From: Francois Bissey @ 2015-04-20 1:11 UTC (permalink / raw
To: gentoo-commits
commit: c936a53ac9ac5f4e923326f9dfbfac3739b2dde2
Author: Horea Christian <h.chr <AT> mail <DOT> ru>
AuthorDate: Thu Apr 9 02:07:29 2015 +0000
Commit: Francois Bissey <f.r.bissey <AT> massey <DOT> ac <DOT> nz>
CommitDate: Thu Apr 9 02:07:29 2015 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=c936a53a
removed 5.0.4 redux patch
Package-Manager: portage-2.2.18
sci-biology/fsl/ChangeLog | 3 +
sci-biology/fsl/files/fsl-5.0.4-fsldir_redux.patch | 467 ---------------------
2 files changed, 3 insertions(+), 467 deletions(-)
diff --git a/sci-biology/fsl/ChangeLog b/sci-biology/fsl/ChangeLog
index e509710..f97b5da 100644
--- a/sci-biology/fsl/ChangeLog
+++ b/sci-biology/fsl/ChangeLog
@@ -2,6 +2,9 @@
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 09 Apr 2015; <chymera@gentoo.org> -files/fsl-5.0.4-fsldir_redux.patch:
+ removed 5.0.4 redux patch
+
07 Apr 2015; <chymera@gentoo.org> -fsl-5.0.4.ebuild, -fsl-5.0.5.ebuild:
removed ebuilds with unavailable sources
diff --git a/sci-biology/fsl/files/fsl-5.0.4-fsldir_redux.patch b/sci-biology/fsl/files/fsl-5.0.4-fsldir_redux.patch
deleted file mode 100644
index 06f6445..0000000
--- a/sci-biology/fsl/files/fsl-5.0.4-fsldir_redux.patch
+++ /dev/null
@@ -1,467 +0,0 @@
---- 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');
-@@ -23,8 +23,8 @@
- % setenv('LD_LIBRARY_PATH',fsllibdir);
- end
-
--command = sprintf('/bin/sh -c ". ${FSLDIR}/etc/fslconf/fsl.sh; %s"\n', cmd);
--[status,output] = system(command);
-+%command = sprintf('/bin/sh -c ". ${FSLDIR}/etc/fslconf/fsl.sh; %s"\n', cmd);
-+%[status,output] = system(command);
-
- if ismac
- setenv('DYLD_LIBRARY_PATH', dylibpath);
---- 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>
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/
@ 2017-01-05 19:28 Justin Lecher
0 siblings, 0 replies; 8+ messages in thread
From: Justin Lecher @ 2017-01-05 19:28 UTC (permalink / raw
To: gentoo-commits
commit: eda8f3c599b7c146c971ba0295235a99604062b8
Author: Horea Christian <horea.christ <AT> yandex <DOT> com>
AuthorDate: Wed Jan 4 11:13:11 2017 +0000
Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Wed Jan 4 11:13:11 2017 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=eda8f3c5
sci-biology/fsl: fixed outstanding FSLDIR and GUI issues (#716)
* sci-biology/fsl: addressing FSLDIR via symlinks
* sci-biology/fsl: fixed FSL GUI
Package-Manager: Portage-2.3.3, Repoman-2.3.1
* sci-biology/fsl: EAPI update
Package-Manager: Portage-2.3.3, Repoman-2.3.1
sci-biology/fsl/files/99fsl | 2 +-
sci-biology/fsl/fsl-5.0.8.ebuild | 11 +++++++++--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/sci-biology/fsl/files/99fsl b/sci-biology/fsl/files/99fsl
index ca37941..41db5c5 100644
--- a/sci-biology/fsl/files/99fsl
+++ b/sci-biology/fsl/files/99fsl
@@ -2,4 +2,4 @@ FSLOUTPUTTYPE=NIFTI_GZ
FSLMULTIFILEQUIT=TRUE
FSLTCLSH=tclsh
FSLWISH=wish
-FSLDIR=/usr
+FSLDIR=/usr/share/fsl
diff --git a/sci-biology/fsl/fsl-5.0.8.ebuild b/sci-biology/fsl/fsl-5.0.8.ebuild
index 3e9dc99..f6e57d1 100644
--- a/sci-biology/fsl/fsl-5.0.8.ebuild
+++ b/sci-biology/fsl/fsl-5.0.8.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
inherit eutils toolchain-funcs prefix
@@ -87,6 +87,7 @@ src_prepare(){
$(grep -rl "\'\${FSLDIR}\'/doc" src/*)
sed -i -e "s:\$FSLDIR/etc:/etc:g" `grep -rlI \$FSLDIR/etc *`
+ default
}
src_compile() {
@@ -127,6 +128,12 @@ src_install() {
# 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:
+ #https://github.com/gentoo-science/sci/pull/612#r60289295
+ dosym /etc /usr/share/fsl/etc
+ dosym /usr/share/doc/${P} /usr/share/fsl/doc
+
doenvd "${FILESDIR}"/99fsl
mv "${ED}"/usr/bin/{,fsl_}cluster || die
}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/
@ 2018-10-21 14:30 Horea Christian
0 siblings, 0 replies; 8+ messages in thread
From: Horea Christian @ 2018-10-21 14:30 UTC (permalink / raw
To: gentoo-commits
commit: c7f45b539af87c6ba4fe535181d5d4afa25baa66
Author: François Bissey <frp.bissey <AT> gmail <DOT> com>
AuthorDate: Sun Oct 21 01:04:05 2018 +0000
Commit: Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Sun Oct 21 14:29:38 2018 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=c7f45b53
sci-biology/fsl: upstream bump
Package-Manager: Portage-2.3.49, Repoman-2.3.11
Signed-off-by: Horea Christian <horea.christ <AT> yandex.com>
.../fsl-5.0.11-fslsurface_parallel_make.patch | 14 ++
.../fsl/files/fsl-5.0.11-ifstream_use.patch | 13 ++
.../fsl/files/fsl-5.0.11-niftiio_var_fix.patch | 24 ++++
sci-biology/fsl/files/fsl-5.0.11-no_xmlpp.patch | 44 ++++++
.../fsl/files/fsl-5.0.11-qstring_compat.patch | 63 ++++++++
sci-biology/fsl/files/fsl-5.0.11-setup.patch | 158 +++++++++++++++++++++
sci-biology/fsl/fsl-5.0.11.ebuild | 157 ++++++++++++++++++++
7 files changed, 473 insertions(+)
diff --git a/sci-biology/fsl/files/fsl-5.0.11-fslsurface_parallel_make.patch b/sci-biology/fsl/files/fsl-5.0.11-fslsurface_parallel_make.patch
new file mode 100644
index 000000000..026543d4f
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-5.0.11-fslsurface_parallel_make.patch
@@ -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}
diff --git a/sci-biology/fsl/files/fsl-5.0.11-ifstream_use.patch b/sci-biology/fsl/files/fsl-5.0.11-ifstream_use.patch
new file mode 100644
index 000000000..c4ba003b7
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-5.0.11-ifstream_use.patch
@@ -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();
diff --git a/sci-biology/fsl/files/fsl-5.0.11-niftiio_var_fix.patch b/sci-biology/fsl/files/fsl-5.0.11-niftiio_var_fix.patch
new file mode 100644
index 000000000..f1a833b75
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-5.0.11-niftiio_var_fix.patch
@@ -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
+ {
diff --git a/sci-biology/fsl/files/fsl-5.0.11-no_xmlpp.patch b/sci-biology/fsl/files/fsl-5.0.11-no_xmlpp.patch
new file mode 100644
index 000000000..bccf0e238
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-5.0.11-no_xmlpp.patch
@@ -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
+
diff --git a/sci-biology/fsl/files/fsl-5.0.11-qstring_compat.patch b/sci-biology/fsl/files/fsl-5.0.11-qstring_compat.patch
new file mode 100644
index 000000000..78aa020c6
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-5.0.11-qstring_compat.patch
@@ -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
+
diff --git a/sci-biology/fsl/files/fsl-5.0.11-setup.patch b/sci-biology/fsl/files/fsl-5.0.11-setup.patch
new file mode 100644
index 000000000..cf9cb785d
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-5.0.11-setup.patch
@@ -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
+
diff --git a/sci-biology/fsl/fsl-5.0.11.ebuild b/sci-biology/fsl/fsl-5.0.11.ebuild
new file mode 100644
index 000000000..d3985072d
--- /dev/null
+++ b/sci-biology/fsl/fsl-5.0.11.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2018 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
+}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/
@ 2020-01-30 15:22 Horea Christian
0 siblings, 0 replies; 8+ messages in thread
From: Horea Christian @ 2020-01-30 15:22 UTC (permalink / raw
To: gentoo-commits
commit: f672571c8517da492b59e914aaa25e8786a6af61
Author: Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Thu Jan 30 15:22:28 2020 +0000
Commit: Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Thu Jan 30 15:22:28 2020 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=f672571c
sci-biology/fsl: version bump 6.0.2
Thanks to François Bissey <frp.bissey <AT> gmail.com>
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Horea Christian <chr <AT> chymera.eu>
sci-biology/fsl/files/fsl-6.0.2-fsldir_redux.patch | 495 +++++++++++++++++++++
sci-biology/fsl/files/fsl-6.0.2-no_xmlpp.patch | 58 +++
.../fsl/files/fsl-6.0.2-qstring_compat.patch | 63 +++
sci-biology/fsl/files/fsl-6.0.2-setup.patch | 198 +++++++++
sci-biology/fsl/fsl-6.0.2.ebuild | 164 +++++++
5 files changed, 978 insertions(+)
diff --git a/sci-biology/fsl/files/fsl-6.0.2-fsldir_redux.patch b/sci-biology/fsl/files/fsl-6.0.2-fsldir_redux.patch
new file mode 100644
index 000000000..dc1babd48
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.2-fsldir_redux.patch
@@ -0,0 +1,495 @@
+From 2bc4be1f55b27a733e1e624b34bc570187ba95e1 Mon Sep 17 00:00:00 2001
+From: François Bissey <frp.bissey@gmail.com>
+Date: Mon, 20 Jan 2020 11:40:53 +1300
+Subject: [PATCH] Making sure fsl code and executable can find other executable
+ and data in standard location.
+
+---
+ src/fast4/fast_two.cc | 8 ++++----
+ src/feat5/feat_model.cc | 8 +++-----
+ src/feat5/tsplot.cc | 7 +++----
+ src/first/first_utils.cc | 4 ++--
+ src/fnirt/fnirtfns.cpp | 11 ++++-------
+ src/fslsurface/fslsurface_first.cc | 6 ++----
+ src/fslsurface/fslsurfacemaths.cpp | 12 ------------
+ src/libvis/miscpic.h | 7 +------
+ src/melodic/meldata.cc | 4 ++--
+ src/melodic/meloptions.cc | 8 --------
+ src/melodic/meloptions.h | 1 -
+ src/melodic/melreport.cc | 12 ++++++------
+ src/melodic/melreport.h | 20 ++++++++++----------
+ src/mm/mixture_model.cc | 4 ++--
+ src/siena/siena_diff.cc | 28 +++++++++++++---------------
+ src/topup/topupfns.cpp | 3 +--
+ 16 files changed, 53 insertions(+), 90 deletions(-)
+
+diff --git a/src/fast4/fast_two.cc b/src/fast4/fast_two.cc
+index 592b5df..b525444 100644
+--- a/src/fast4/fast_two.cc
++++ b/src/fast4/fast_two.cc
+@@ -166,7 +166,7 @@ int prior_registration(string inname, string main_prior_vol, NEWIMAGE::volume<fl
+ 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 @@ string csfPriorName, grayPriorName, whitePriorName;
+ 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 --git a/src/feat5/feat_model.cc b/src/feat5/feat_model.cc
+index 399a13e..e15e43c 100644
+--- a/src/feat5/feat_model.cc
++++ b/src/feat5/feat_model.cc
+@@ -744,7 +744,7 @@ int main(int argc, char **argv)
+ 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];
+
+@@ -763,8 +763,6 @@ int main(int argc, char **argv)
+ 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));
+@@ -1510,7 +1508,7 @@ int main(int argc, char **argv)
+ 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);
+@@ -2161,6 +2159,6 @@ char the_string[10000];
+
+ fclose(outputfile);
+
+- filename=string(getenv("FSLDIR")) + "/bin/wpng -q -overwrite " + filename;
++ filename="wpng -q -overwrite " + filename;
+ system(filename.c_str());
+ }
+diff --git a/src/feat5/tsplot.cc b/src/feat5/tsplot.cc
+index ae191fd..3a02b55 100644
+--- a/src/feat5/tsplot.cc
++++ b/src/feat5/tsplot.cc
+@@ -293,7 +293,7 @@ int main(int argc, char **argv)
+ 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 @@ volume<float> immask;
+ if (argc<2) usage("");
+ featdir=string(argv[1]);
+ fmriFileName=featdir+"/filtered_func_data";
+- fslPath=string(getenv("FSLDIR"));
+
+ string outputName(featdir);
+
+@@ -753,7 +752,7 @@ volume4D<float> acs;
+ 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();
+@@ -768,7 +767,7 @@ volume4D<float> acs;
+ 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 --git a/src/first/first_utils.cc b/src/first/first_utils.cc
+index 68be44b..85960f4 100644
+--- a/src/first/first_utils.cc
++++ b/src/first/first_utils.cc
+@@ -1954,8 +1954,8 @@ void do_work_bvars(){
+ 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 --git a/src/fnirt/fnirtfns.cpp b/src/fnirt/fnirtfns.cpp
+index 24e26fd..77899e7 100644
+--- a/src/fnirt/fnirtfns.cpp
++++ b/src/fnirt/fnirtfns.cpp
+@@ -1203,8 +1203,7 @@ string existing_ref_fname(const string& ref_fname)
+ 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::FslFileExists(eref_fname)) return(eref_fname);
+ else return(string(""));
+ }
+@@ -1230,9 +1229,8 @@ string existing_ref_fname(const string& ref_fname)
+ 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 @@ string existing_conf_file(const string& cfname)
+ 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 --git a/src/fslsurface/fslsurface_first.cc b/src/fslsurface/fslsurface_first.cc
+index faec642..b2ef794 100644
+--- a/src/fslsurface/fslsurface_first.cc
++++ b/src/fslsurface/fslsurface_first.cc
+@@ -500,8 +500,7 @@ namespace fslsurface_name {
+
+ 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 @@ namespace fslsurface_name {
+
+ 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 --git a/src/fslsurface/fslsurfacemaths.cpp b/src/fslsurface/fslsurfacemaths.cpp
+index eaf55eb..3dc184d 100644
+--- a/src/fslsurface/fslsurfacemaths.cpp
++++ b/src/fslsurface/fslsurfacemaths.cpp
+@@ -598,12 +598,6 @@ int main (int argc, char * argv[])
+
+ }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 @@ int main (int argc, char * argv[])
+
+ }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 --git a/src/libvis/miscpic.h b/src/libvis/miscpic.h
+index a2f3855..5f440f2 100644
+--- a/src/libvis/miscpic.h
++++ b/src/libvis/miscpic.h
+@@ -90,12 +90,7 @@ namespace MISCPIC{
+ markRight=false;
+ 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 --git a/src/melodic/meldata.cc b/src/melodic/meldata.cc
+index 1749a45..c4ad234 100644
+--- a/src/melodic/meldata.cc
++++ b/src/melodic/meldata.cc
+@@ -992,7 +992,7 @@ namespace Melodic{
+ 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){
+@@ -1157,7 +1157,7 @@ namespace Melodic{
+ // 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 --git a/src/melodic/meloptions.cc b/src/melodic/meloptions.cc
+index 08170c7..252e72b 100644
+--- a/src/melodic/meloptions.cc
++++ b/src/melodic/meloptions.cc
+@@ -93,14 +93,6 @@ MelodicOptions* MelodicOptions::gopt = NULL;
+ 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 --git a/src/melodic/meloptions.h b/src/melodic/meloptions.h
+index f546125..b964b7d 100644
+--- a/src/melodic/meloptions.h
++++ b/src/melodic/meloptions.h
+@@ -93,7 +93,6 @@ class MelodicOptions {
+ ~MelodicOptions() { delete gopt; }
+
+ string version;
+- string binpath;
+ string logfname;
+ bool filtermode;
+ bool explicitnums;
+diff --git a/src/melodic/melreport.cc b/src/melodic/melreport.cc
+index 141b6c2..2625059 100644
+--- a/src/melodic/melreport.cc
++++ b/src/melodic/melreport.cc
+@@ -84,8 +84,8 @@ namespace Melodic{
+ 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
+@@ -486,8 +486,8 @@ namespace Melodic{
+
+ {//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
+@@ -665,8 +665,8 @@ namespace Melodic{
+ 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 --git a/src/melodic/melreport.h b/src/melodic/melreport.h
+index 574fc4c..e444681 100644
+--- a/src/melodic/melreport.h
++++ b/src/melodic/melreport.h
+@@ -104,21 +104,21 @@ namespace Melodic{
+ 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 @@ namespace Melodic{
+ << "</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 --git a/src/mm/mixture_model.cc b/src/mm/mixture_model.cc
+index b8e6167..5f00693 100644
+--- a/src/mm/mixture_model.cc
++++ b/src/mm/mixture_model.cc
+@@ -2224,8 +2224,8 @@ namespace Mm {
+
+ 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 --git a/src/siena/siena_diff.cc b/src/siena/siena_diff.cc
+index e19193a..17d8701 100644
+--- a/src/siena/siena_diff.cc
++++ b/src/siena/siena_diff.cc
+@@ -107,7 +107,7 @@ int main(int argc,char *argv[])
+ {
+ // {{{ 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 @@ if (argc<3)
+
+ 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 @@ for (i = 3; i < argc; i++) {
+ // }}}
+ // {{{ 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 @@ if(1) // always done unless the above uncommented and used instead of this test
+ 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 --git a/src/topup/topupfns.cpp b/src/topup/topupfns.cpp
+index 6873758..9e8b956 100644
+--- a/src/topup/topupfns.cpp
++++ b/src/topup/topupfns.cpp
+@@ -463,8 +463,7 @@ string existing_conf_file(const string& cfname)
+ 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");
+--
+2.24.1
+
diff --git a/sci-biology/fsl/files/fsl-6.0.2-no_xmlpp.patch b/sci-biology/fsl/files/fsl-6.0.2-no_xmlpp.patch
new file mode 100644
index 000000000..6eccc4370
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.2-no_xmlpp.patch
@@ -0,0 +1,58 @@
+From 9de29e5141afa43c06f347ca158b67168fbb0031 Mon Sep 17 00:00:00 2001
+From: François Bissey <frp.bissey@gmail.com>
+Date: Mon, 20 Jan 2020 11:46:52 +1300
+Subject: [PATCH] Build without xmlpp since we use an external ciftilib that
+ doesnt require it. Replace it and other ciftilib flags with CIFTICFLAGS.
+
+---
+ src/flameo/Makefile | 4 ++--
+ src/melodic/Makefile | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/flameo/Makefile b/src/flameo/Makefile
+index d22eb965..e967e682 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 -lNewNifti -lcifti -lxml++-2.6 -lxml2 -lboost_filesystem -lboost_system -lznz -lprob -lz
++LIBS += -lutils -lnewimage -lmiscmaths -lm -lnewmat -lNewNifti ${CIFTILIBS} -lboost_filesystem -lboost_system -lznz -lprob -lz
+
+ XFILES = flameo
+
+diff --git a/src/melodic/Makefile b/src/melodic/Makefile
+index 50666517..0c356a2d 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 -lNewNifti -lcifti -lxml++-2.6 -lxml2 -lboost_filesystem -lboost_system -lznz -lnewmat -lprob -lm -lgdc -lgd -lpng -lz
++LIBS += -lutils -lnewimage -lmiscplot -lmiscpic -lmiscmaths -lNewNifti ${CIFTILIBS} -lboost_filesystem -lboost_system -lznz -lnewmat -lprob -lm -lgdc -lgd -lpng -lz
+
+ TEST_OBJS = test.o
+
+--
+2.24.1
+
diff --git a/sci-biology/fsl/files/fsl-6.0.2-qstring_compat.patch b/sci-biology/fsl/files/fsl-6.0.2-qstring_compat.patch
new file mode 100644
index 000000000..9e6682a48
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.2-qstring_compat.patch
@@ -0,0 +1,63 @@
+From 5a5ab3c80eaaea1fe9a43659e2ea5b773b587bb0 Mon Sep 17 00:00:00 2001
+From: François Bissey <frp.bissey@gmail.com>
+Date: Mon, 20 Jan 2020 11:51:52 +1300
+Subject: [PATCH] Because we use qstrings in ciftilib, calls to ciftilib file
+ function have to be made into compatible c strings.
+
+---
+ 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 70f8f385..16167abe 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(make_basename(filename)+".nii");
++ inputCifti.openFile((make_basename(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(make_basename(filename)+extension+".nii");//sets up on-disk writing with default writing version
++ outputFile.setWritingFile((make_basename(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 c4ad2349..1515e702 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 49774003..f5326bdd 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.24.1
+
diff --git a/sci-biology/fsl/files/fsl-6.0.2-setup.patch b/sci-biology/fsl/files/fsl-6.0.2-setup.patch
new file mode 100644
index 000000000..39737fd85
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.2-setup.patch
@@ -0,0 +1,198 @@
+From baae97cc3c8d0cadcabb7ed16559f4e4de26ddbe Mon Sep 17 00:00:00 2001
+From: François Bissey <frp.bissey@gmail.com>
+Date: Mon, 20 Jan 2020 11:54:37 +1300
+Subject: [PATCH] Adjust the build system so it doesnt build packages
+ externally provided by portage. Make the compilation flags more generic and
+ easily adjustable. Make the build system stop at the first fault.
+
+---
+ build | 6 +++---
+ config/buildSettings.mk | 20 ++++++++++----------
+ config/common/buildproj | 8 +++++---
+ config/common/vars.mk | 10 +++++-----
+ extras/build | 8 ++++----
+ src/mist-clean/Makefile | 2 +-
+ 6 files changed, 28 insertions(+), 26 deletions(-)
+
+diff --git a/build b/build
+index 05dac06c..d90e407b 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 dpm topup \
+ asl_mfree \
+@@ -80,8 +80,8 @@ xtract";
+ 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/buildSettings.mk b/config/buildSettings.mk
+index b2e1f150..04532fc2 100644
+--- a/config/buildSettings.mk
++++ b/config/buildSettings.mk
+@@ -18,7 +18,7 @@ MV = /bin/mv
+ CHMOD = /bin/chmod
+ MKDIR = /bin/mkdir
+ INSTALL = install -p
+-TCLSH = ${FSLDIR}/bin/fsltclsh
++TCLSH = tclsh
+ DEPENDFLAGS = -MM
+ MACHDBGFLAGS = -g
+ #####################################################################
+@@ -124,19 +124,19 @@ endif # if Darwin
+ #####################################################################
+ ifeq ($(SYSTYPE), Linux)
+ ############### System Vars #####################################
+-CC = gcc
+-CXX = c++
+-CXX11 = c++
++CC = @@GENTOO_CC@@
++CXX = @@GENTOO_CXX@@
++CXX11 = @@GENTOO_CXX@@
+ CSTATICFLAGS = -static
+ CXXSTATICFLAGS = -static
+-ARCHFLAGS = -m64
+-ARCHLDFLAGS = -Wl,-rpath,'$$ORIGIN/../lib'
++ARCHFLAGS =
++ARCHLDFLAGS =
+ PARALLELFLAGS = -fopenmp
+-OPTFLAGS = -g -O3 -fexpensive-optimizations ${ARCHFLAGS}
++OPTFLAGS =
+ GNU_ANSI_FLAGS = -Wall -ansi -pedantic -Wno-long-long
+ SGI_ANSI_FLAGS = -ansi -fullwarn
+ ANSI_FLAGS = ${GNU_ANSI_FLAGS}
+-RANLIB = echo
++RANLIB = @@GENTOO_RANLIB@@
+ FSLML = ${FSLDIR}/bin/fslml
+ # CUDA development environment
+ CUDAVER := $(or $(CUDAVER),9.1)
+@@ -148,8 +148,8 @@ INC_CUDA = ${CUDA_INSTALLATION}/include
+ NVCC = ${CUDA_INSTALLATION}/bin/nvcc
+ ############### External Libs #####################################
+ # ZLIB library
+-LIB_ZLIB = /lib64
+-INC_ZLIB = /usr/include
++#LIB_ZLIB = /lib64
++#INC_ZLIB = /usr/include
+ # QT library
+ QTDIR = /usr/lib/qt3
+ LIB_QT = ${QTDIR}/lib
+diff --git a/config/common/buildproj b/config/common/buildproj
+index 2f0f2b8f..48624a1f 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`
+ FSLMASTERBUILD=1
+ export FSLDIR FSLDEVDIR FSLCONFDIR FSLMACHTYPE FSLMASTERBUILD
+
+@@ -67,7 +67,7 @@ for projname in $PROJECTS; do
+ if [ -x ./fslconfig ] ; then
+ . ./fslconfig ;
+ fi
+- if ${MAKE} -k ${MAKEOPTIONS} ; then
++ if ${MAKE} ${MAKEOPTIONS} ; then
+ if ${MAKE} ${MAKEOPTIONS} install ; then
+ installok=true;
+ # Clean up after ourselves
+@@ -82,6 +82,7 @@ for projname in $PROJECTS; do
+ if [ $installok = false ] ; then
+ echo " "
+ echo "ERROR::Could not install $projname successfully" ;
++ exit 1
+ fi
+ else
+ echo " "
+@@ -90,6 +91,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 b027b010..aeeae67c 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/extras/build b/extras/build
+index 59e7a2ed..0d68232e 100755
+--- a/extras/build
++++ b/extras/build
+@@ -96,16 +96,16 @@ if [ X"${OS}" = "XDarwin" ]; then
+ BUILDICONV=1
+ fi
+ fi
+-PROJECTS="tcl tk"
++#PROJECTS="tcl tk"
+ if [ ${BUILDZLIB} -eq 1 ]; then
+ PROJECTS="${PROJECTS} zlib"
+ fi
+-PROJECTS="${PROJECTS} libpng"
++#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 libxmlpp libsqlite libnlopt ../include/armawrap/dummy_newmat"
++PROJECTS="${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 20402cca..6918bee4 100755
+--- a/src/mist-clean/Makefile
++++ b/src/mist-clean/Makefile
+@@ -52,6 +52,6 @@ installpython:
+ cp -r python/* ${DESTDIR}/python/mist
+
+ clean:
+- rm -f ${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
+--
+2.24.1
+
diff --git a/sci-biology/fsl/fsl-6.0.2.ebuild b/sci-biology/fsl/fsl-6.0.2.ebuild
new file mode 100644
index 000000000..cde479421
--- /dev/null
+++ b/sci-biology/fsl/fsl-6.0.2.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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=""
+
+DEPEND="
+ dev-libs/boost
+ dev-python/fslpy
+ media-gfx/graphviz
+ media-libs/gd
+ media-libs/glu
+ media-libs/libpng:0=
+ sci-libs/ciftilib
+ sci-libs/nlopt
+ sys-libs/zlib
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ >=virtual/lapack-3.8
+ >=virtual/blas-3.8
+ "
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${PN}
+UPSTREAM_FSLDIR="/usr/share/fsl"
+
+PATCHES=(
+ "${FILESDIR}/${PN}"-6.0.2-setup.patch
+ "${FILESDIR}/${PN}"-6.0.2-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}"-6.0.2-qstring_compat.patch
+ "${FILESDIR}/${PN}"-5.0.9-headers.patch
+ "${FILESDIR}/${PN}"-6.0.2-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/buildSettings.mk || die
+
+ eprefixify $(grep -rl GENTOO_PORTAGE_EPREFIX src/*) \
+ etc/js/label-div.html
+
+ # Disable mist-clean the hard way for now.
+ rm -rf src/mist-clean
+
+ 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/*) \
+ -i $(grep -rl "\$FSLDIR/bin" src/*) \
+ $(grep -rl "\${FSLDIR}/bin" etc/matlab/*)\
+ $(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
+
+ # Use generic blas/lapack rather than openblas
+ sed -e "s:-lopenblas:-llapack -lblas:g" \
+ -i $(grep -rlI lopenblas *) || 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
+
+ #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
+}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/
@ 2021-07-18 10:48 Andrew Ammerlaan
0 siblings, 0 replies; 8+ messages in thread
From: Andrew Ammerlaan @ 2021-07-18 10:48 UTC (permalink / raw
To: gentoo-commits
commit: 1c4f022505e83357adc3fbab929ea55396aee27d
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 18 10:47:25 2021 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jul 18 10:47:25 2021 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=1c4f0225
sci-biology/fsl: add version 6.0.4
Closes: https://github.com/gentoo/sci/pull/1074
Co-authored-by: Paul Polak <paul.polak <AT> med-image.info>
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
.../fsl/files/fsl-6.0.4-cuda_buildsettings.patch | 12 +
sci-biology/fsl/files/fsl-6.0.4-eddy_cuda.patch | 21 ++
sci-biology/fsl/files/fsl-6.0.4-fdt_cuda.patch | 14 +
sci-biology/fsl/files/fsl-6.0.4-flameo_std.patch | 11 +
.../fsl/files/fsl-6.0.4-fsldir_redux-p1.patch | 240 ++++++++++++++
.../fsl/files/fsl-6.0.4-fsldir_redux-p2.patch | 254 +++++++++++++++
.../fsl/files/fsl-6.0.4-gcc10_include.patch | 11 +
sci-biology/fsl/files/fsl-6.0.4-melodic_std.patch | 11 +
.../fsl-6.0.4-remove_fslpy_collisions-p1.patch | 303 ++++++++++++++++++
.../fsl-6.0.4-remove_fslpy_collisions-p2.patch | 348 +++++++++++++++++++++
sci-biology/fsl/files/fsl-6.0.4-setup.patch | 174 +++++++++++
sci-biology/fsl/fsl-6.0.2-r1.ebuild | 4 +-
sci-biology/fsl/fsl-6.0.2.ebuild | 6 +-
.../fsl/{fsl-6.0.2-r1.ebuild => fsl-6.0.4.ebuild} | 36 ++-
14 files changed, 1429 insertions(+), 16 deletions(-)
diff --git a/sci-biology/fsl/files/fsl-6.0.4-cuda_buildsettings.patch b/sci-biology/fsl/files/fsl-6.0.4-cuda_buildsettings.patch
new file mode 100644
index 000000000..749e80623
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-cuda_buildsettings.patch
@@ -0,0 +1,12 @@
+diff -Naur fsl.orig/config/buildSettings.mk fsl/config/buildSettings.mk
+--- fsl.orig/config/buildSettings.mk 2020-12-02 16:22:57.999912865 -0500
++++ fsl/config/buildSettings.mk 2020-12-02 16:24:15.332915270 -0500
+@@ -144,7 +144,7 @@
+ # CUDA development environment
+ CUDAVER := $(or $(CUDAVER),9.1)
+ #$(info $$CUDAVER is [${CUDAVER}])
+-CUDA_INSTALLATION = /opt/cuda-${CUDAVER}
++CUDA_INSTALLATION = /opt/cuda
+ ifdef SINGULARITY_NAME
+ CUDA_INSTALLATION = /usr/local/cuda-${CUDAVER}
+ endif
diff --git a/sci-biology/fsl/files/fsl-6.0.4-eddy_cuda.patch b/sci-biology/fsl/files/fsl-6.0.4-eddy_cuda.patch
new file mode 100644
index 000000000..ad118c39a
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-eddy_cuda.patch
@@ -0,0 +1,21 @@
+diff -Naur fsl.orig/src/eddy/Makefile fsl/src/eddy/Makefile
+--- fsl.orig/src/eddy/Makefile 2020-12-02 16:07:47.327884548 -0500
++++ fsl/src/eddy/Makefile 2020-12-02 16:11:21.149891196 -0500
+@@ -29,6 +29,8 @@
+ TMPCXXFLAGS_2=
+ TMPNAME_1=
+ TMPNAME_2=
++cuda=1
++cpu=1
+ TOPUP_DIR=../topup
+
+ ifndef cuda
+@@ -74,7 +75,7 @@
+ ifdef NVCC11
+ NVCC=${NVCC11}
+ endif
+-NVCCFLAGS=-c -DCOMPILE_GPU -O3 -m 64 -std=c++11
++NVCCFLAGS=-c -DCOMPILE_GPU -O3 -m 64 -std=c++11 @@GENTOO_NVCC_FLAGS@@
+ ifeq ($(CLOBBER_CLANG),1)
+ NVCCFLAGS+= -DCLOBBER_CLANG
+ endif
diff --git a/sci-biology/fsl/files/fsl-6.0.4-fdt_cuda.patch b/sci-biology/fsl/files/fsl-6.0.4-fdt_cuda.patch
new file mode 100644
index 000000000..7f322027b
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-fdt_cuda.patch
@@ -0,0 +1,14 @@
+diff -Naur fsl.orig/src/fdt/Makefile fsl/src/fdt/Makefile
+--- fsl.orig/src/fdt/Makefile 2020-12-02 19:06:55.826218772 -0500
++++ fsl/src/fdt/Makefile 2020-12-02 19:08:02.883220858 -0500
+@@ -6,7 +6,9 @@
+ $(eval $($(PROJNAME)_MASTERBUILD))
+ endif
+
+-ifeq ($(COMPILE_GPU), 1)
++# disable CUDA support for fdt
++#ifeq ($(COMPILE_GPU), 1)
++ifeq (0, 1)
+ COMPILE_WITH_GPU=libbedpostx_cuda.so merge_parts_gpu xfibres_gpu CUDA/split_parts_gpu
+ SCRIPTS_GPU=CUDA/bedpostx_gpu CUDA/bedpostx_postproc_gpu.sh
+ endif
diff --git a/sci-biology/fsl/files/fsl-6.0.4-flameo_std.patch b/sci-biology/fsl/files/fsl-6.0.4-flameo_std.patch
new file mode 100644
index 000000000..a991f1ed3
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-flameo_std.patch
@@ -0,0 +1,11 @@
+diff -Naur fsl.orig/src/flameo/Makefile fsl/src/flameo/Makefile
+--- fsl.orig/src/flameo/Makefile 2021-01-06 14:04:35.728274475 -0500
++++ fsl/src/flameo/Makefile 2021-01-06 14:08:18.204269285 -0500
+@@ -4,6 +4,7 @@
+
+ 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
+ USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_ZLIB}
++USRCXXFLAGS = -std=c++11
+
+ UNAME := $(shell uname)
+ ifeq (${UNAME},Darwin)
diff --git a/sci-biology/fsl/files/fsl-6.0.4-fsldir_redux-p1.patch b/sci-biology/fsl/files/fsl-6.0.4-fsldir_redux-p1.patch
new file mode 100644
index 000000000..ca3945442
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-fsldir_redux-p1.patch
@@ -0,0 +1,240 @@
+From 2bc4be1f55b27a733e1e624b34bc570187ba95e1 Mon Sep 17 00:00:00 2001
+From: François Bissey <frp.bissey@gmail.com>
+Date: Mon, 20 Jan 2020 11:40:53 +1300
+Subject: [PATCH] Making sure fsl code and executable can find other executable
+ and data in standard location.
+
+---
+ src/fast4/fast_two.cc | 8 ++++----
+ src/feat5/feat_model.cc | 8 +++-----
+ src/feat5/tsplot.cc | 7 +++----
+ src/first/first_utils.cc | 4 ++--
+ src/fnirt/fnirtfns.cpp | 11 ++++-------
+ src/fslsurface/fslsurface_first.cc | 6 ++----
+ src/fslsurface/fslsurfacemaths.cpp | 12 ------------
+ src/libvis/miscpic.h | 7 +------
+ src/melodic/meldata.cc | 4 ++--
+ src/melodic/meloptions.cc | 8 --------
+ src/melodic/meloptions.h | 1 -
+ src/melodic/melreport.cc | 12 ++++++------
+ src/melodic/melreport.h | 20 ++++++++++----------
+ src/mm/mixture_model.cc | 4 ++--
+ src/siena/siena_diff.cc | 28 +++++++++++++---------------
+ src/topup/topupfns.cpp | 3 +--
+ 16 files changed, 53 insertions(+), 90 deletions(-)
+
+diff --git a/src/fast4/fast_two.cc b/src/fast4/fast_two.cc
+index 592b5df..b525444 100644
+--- a/src/fast4/fast_two.cc
++++ b/src/fast4/fast_two.cc
+@@ -166,7 +166,7 @@ int prior_registration(string inname, string main_prior_vol, NEWIMAGE::volume<fl
+ 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 @@ string csfPriorName, grayPriorName, whitePriorName;
+ 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 --git a/src/feat5/feat_model.cc b/src/feat5/feat_model.cc
+index 399a13e..e15e43c 100644
+--- a/src/feat5/feat_model.cc
++++ b/src/feat5/feat_model.cc
+@@ -744,7 +744,7 @@ int main(int argc, char **argv)
+ 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];
+
+@@ -763,8 +763,6 @@ int main(int argc, char **argv)
+ 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));
+@@ -1510,7 +1508,7 @@ int main(int argc, char **argv)
+ 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);
+@@ -2161,6 +2159,6 @@ char the_string[10000];
+
+ fclose(outputfile);
+
+- filename=string(getenv("FSLDIR")) + "/bin/wpng -q -overwrite " + filename;
++ filename="wpng -q -overwrite " + filename;
+ system(filename.c_str());
+ }
+diff --git a/src/feat5/tsplot.cc b/src/feat5/tsplot.cc
+index ae191fd..3a02b55 100644
+--- a/src/feat5/tsplot.cc
++++ b/src/feat5/tsplot.cc
+@@ -293,7 +293,7 @@ int main(int argc, char **argv)
+ 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 @@ volume<float> immask;
+ if (argc<2) usage("");
+ featdir=string(argv[1]);
+ fmriFileName=featdir+"/filtered_func_data";
+- fslPath=string(getenv("FSLDIR"));
+
+ string outputName(featdir);
+
+@@ -753,7 +752,7 @@ volume4D<float> acs;
+ 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();
+@@ -768,7 +767,7 @@ volume4D<float> acs;
+ 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 --git a/src/first/first_utils.cc b/src/first/first_utils.cc
+index 68be44b..85960f4 100644
+--- a/src/first/first_utils.cc
++++ b/src/first/first_utils.cc
+@@ -1954,8 +1954,8 @@ void do_work_bvars(){
+ 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 --git a/src/fnirt/fnirtfns.cpp b/src/fnirt/fnirtfns.cpp
+index 24e26fd..77899e7 100644
+--- a/src/fnirt/fnirtfns.cpp
++++ b/src/fnirt/fnirtfns.cpp
+@@ -1203,8 +1203,7 @@ string existing_ref_fname(const string& ref_fname)
+ 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::FslFileExists(eref_fname)) return(eref_fname);
+ else return(string(""));
+ }
+@@ -1230,9 +1229,8 @@ string existing_ref_fname(const string& ref_fname)
+ 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 @@ string existing_conf_file(const string& cfname)
+ 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 --git a/src/fslsurface/fslsurface_first.cc b/src/fslsurface/fslsurface_first.cc
+index faec642..b2ef794 100644
+--- a/src/fslsurface/fslsurface_first.cc
++++ b/src/fslsurface/fslsurface_first.cc
+@@ -500,8 +500,7 @@ namespace fslsurface_name {
+
+ 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 @@ namespace fslsurface_name {
+
+ 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 --git a/src/fslsurface/fslsurfacemaths.cpp b/src/fslsurface/fslsurfacemaths.cpp
+index eaf55eb..3dc184d 100644
+--- a/src/fslsurface/fslsurfacemaths.cpp
++++ b/src/fslsurface/fslsurfacemaths.cpp
+@@ -598,12 +598,6 @@ int main (int argc, char * argv[])
+
+ }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 @@ int main (int argc, char * argv[])
+
+ }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 --git a/sci-biology/fsl/files/fsl-6.0.4-fsldir_redux-p2.patch b/sci-biology/fsl/files/fsl-6.0.4-fsldir_redux-p2.patch
new file mode 100644
index 000000000..af498b400
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-fsldir_redux-p2.patch
@@ -0,0 +1,254 @@
+diff --git a/src/libvis/miscpic.h b/src/libvis/miscpic.h
+index a2f3855..5f440f2 100644
+--- a/src/libvis/miscpic.h
++++ b/src/libvis/miscpic.h
+@@ -90,12 +90,7 @@ namespace MISCPIC{
+ markRight=false;
+ 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 --git a/src/melodic/meldata.cc b/src/melodic/meldata.cc
+index 1749a45..c4ad234 100644
+--- a/src/melodic/meldata.cc
++++ b/src/melodic/meldata.cc
+@@ -992,7 +992,7 @@ namespace Melodic{
+ 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){
+@@ -1157,7 +1157,7 @@ namespace Melodic{
+ // 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 --git a/src/melodic/meloptions.cc b/src/melodic/meloptions.cc
+index 08170c7..252e72b 100644
+--- a/src/melodic/meloptions.cc
++++ b/src/melodic/meloptions.cc
+@@ -93,14 +93,6 @@ MelodicOptions* MelodicOptions::gopt = NULL;
+ 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 --git a/src/melodic/meloptions.h b/src/melodic/meloptions.h
+index f546125..b964b7d 100644
+--- a/src/melodic/meloptions.h
++++ b/src/melodic/meloptions.h
+@@ -93,7 +93,6 @@ class MelodicOptions {
+ ~MelodicOptions() { delete gopt; }
+
+ string version;
+- string binpath;
+ string logfname;
+ bool filtermode;
+ bool explicitnums;
+diff --git a/src/melodic/melreport.cc b/src/melodic/melreport.cc
+index 141b6c2..2625059 100644
+--- a/src/melodic/melreport.cc
++++ b/src/melodic/melreport.cc
+@@ -84,8 +84,8 @@ namespace Melodic{
+ 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
+@@ -486,8 +486,8 @@ namespace Melodic{
+
+ {//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
+@@ -665,8 +665,8 @@ namespace Melodic{
+ 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 --git a/src/melodic/melreport.h b/src/melodic/melreport.h
+index 574fc4c..e444681 100644
+--- a/src/melodic/melreport.h
++++ b/src/melodic/melreport.h
+@@ -104,21 +104,21 @@ namespace Melodic{
+ 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 @@ namespace Melodic{
+ << "</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 --git a/src/mm/mixture_model.cc b/src/mm/mixture_model.cc
+index b8e6167..5f00693 100644
+--- a/src/mm/mixture_model.cc
++++ b/src/mm/mixture_model.cc
+@@ -2224,8 +2224,8 @@ namespace Mm {
+
+ 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 2020-12-02 15:52:50.359856656 -0500
++++ fsl/src/siena/siena_diff.cc 2020-12-02 16:03:25.699876412 -0500
+@@ -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"))
+@@ -206,26 +204,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);
+ }
+
+@@ -284,8 +282,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 --git a/src/topup/topupfns.cpp b/src/topup/topupfns.cpp
+index 6873758..9e8b956 100644
+--- a/src/topup/topupfns.cpp
++++ b/src/topup/topupfns.cpp
+@@ -463,8 +463,7 @@ string existing_conf_file(const string& cfname)
+ 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");
+--
+2.24.1
+
diff --git a/sci-biology/fsl/files/fsl-6.0.4-gcc10_include.patch b/sci-biology/fsl/files/fsl-6.0.4-gcc10_include.patch
new file mode 100644
index 000000000..ae836c065
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-gcc10_include.patch
@@ -0,0 +1,11 @@
+diff -Naur fsl.orig/src/newimage/newimageio.h fsl/src/newimage/newimageio.h
+--- fsl.orig/src/newimage/newimageio.h 2020-12-02 15:15:27.012786899 -0500
++++ fsl/src/newimage/newimageio.h 2020-12-02 15:19:51.046795110 -0500
+@@ -75,6 +75,7 @@
+ #include <iostream>
+ #include <fstream>
+ #include <sstream>
++#include <stdexcept>
+ #include "NewNifti/NewNifti.h"
+ #include "newmatio.h"
+ #include "newimage.h"
diff --git a/sci-biology/fsl/files/fsl-6.0.4-melodic_std.patch b/sci-biology/fsl/files/fsl-6.0.4-melodic_std.patch
new file mode 100644
index 000000000..83b5b9932
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-melodic_std.patch
@@ -0,0 +1,11 @@
+diff -Naur fsl.orig/src/melodic/Makefile fsl/src/melodic/Makefile
+--- fsl.orig/src/melodic/Makefile 2021-01-06 14:04:35.743274475 -0500
++++ fsl/src/melodic/Makefile 2021-01-06 14:11:27.924264859 -0500
+@@ -9,6 +9,7 @@
+
+ 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
+ USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB}
++USRCXXFLAGS = -std=c++11
+
+ UNAME := $(shell uname)
+ ifeq (${UNAME},Darwin)
diff --git a/sci-biology/fsl/files/fsl-6.0.4-remove_fslpy_collisions-p1.patch b/sci-biology/fsl/files/fsl-6.0.4-remove_fslpy_collisions-p1.patch
new file mode 100644
index 000000000..434dc9cf6
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-remove_fslpy_collisions-p1.patch
@@ -0,0 +1,303 @@
+diff -Naur fsl.orig/src/fslio/imln fsl/src/fslio/imln
+--- fsl.orig/src/fslio/imln 2021-02-01 15:29:34.842752994 -0500
++++ fsl/src/fslio/imln 1969-12-31 19:00:00.000000000 -0500
+@@ -1,90 +0,0 @@
+-#!/bin/sh
+-
+-# imln - make symbolic link(s) to image file(s)
+-#
+-# Stephen Smith and Mark Jenkinson, FMRIB Image Analysis Group
+-#
+-# Copyright (C) 1999-2004 University of Oxford
+-#
+-# Part of FSL - FMRIB's Software Library
+-# http://www.fmrib.ox.ac.uk/fsl
+-# fsl@fmrib.ox.ac.uk
+-#
+-# Developed at FMRIB (Oxford Centre for Functional Magnetic Resonance
+-# Imaging of the Brain), Department of Clinical Neurology, Oxford
+-# University, Oxford, UK
+-#
+-#
+-# LICENCE
+-#
+-# FMRIB Software Library, Release 6.0 (c) 2018, The University of
+-# Oxford (the "Software")
+-#
+-# The Software remains the property of the Oxford University Innovation
+-# ("the University").
+-#
+-# The Software is distributed "AS IS" under this Licence solely for
+-# non-commercial use in the hope that it will be useful, but in order
+-# that the University as a charitable foundation protects its assets for
+-# the benefit of its educational and research purposes, the University
+-# makes clear that no condition is made or to be implied, nor is any
+-# warranty given or to be implied, as to the accuracy of the Software,
+-# or that it will be suitable for any particular purpose or for use
+-# under any specific conditions. Furthermore, the University disclaims
+-# all responsibility for the use which is made of the Software. It
+-# further disclaims any liability for the outcomes arising from using
+-# the Software.
+-#
+-# The Licensee agrees to indemnify the University and hold the
+-# University harmless from and against any and all claims, damages and
+-# liabilities asserted by third parties (including claims for
+-# negligence) which arise directly or indirectly from the use of the
+-# Software or the sale of any products based on the Software.
+-#
+-# No part of the Software may be reproduced, modified, transmitted or
+-# transferred in any form or by any means, electronic or mechanical,
+-# without the express permission of the University. The permission of
+-# the University is not required if the said reproduction, modification,
+-# transmission or transference is done without financial return, the
+-# conditions of this Licence are imposed upon the receiver of the
+-# product, and all original and amended source code is included in any
+-# transmitted product. You may be held legally responsible for any
+-# copyright infringement that is caused or encouraged by your failure to
+-# abide by these terms and conditions.
+-#
+-# You are not permitted under this Licence to use this Software
+-# commercially. Use for which any financial return is received shall be
+-# defined as commercial use, and includes (1) integration of all or part
+-# of the source code or the Software into a product for sale or license
+-# by or on behalf of Licensee to third parties or (2) use of the
+-# Software or any derivative of it for research with the final aim of
+-# developing software products for sale or license to a third party or
+-# (3) use of the Software or any derivative of it for research with the
+-# final aim of developing non-software products for sale or license to a
+-# third party, or (4) use of the Software to provide any service to an
+-# external organisation for which payment is received. If you are
+-# interested in using the Software commercially, please contact Oxford
+-# University Innovation ("OUI"), the technology transfer company of the
+-# University, to negotiate a licence. Contact details are:
+-# fsl@innovation.ox.ac.uk quoting Reference Project 9564, FSL.
+-export LC_ALL=C
+-
+-if [ $# -lt 2 ] ; then
+- echo "Usage: $0 <file1> <file2>"
+- echo " Makes a link (called file2) to file1"
+- echo " NB: filenames can be basenames or include an extension"
+- exit 1;
+-fi
+-
+-f1=`${FSLDIR}/bin/remove_ext $1`;
+-f2=`${FSLDIR}/bin/remove_ext $2`;
+-
+-if [ -f ${f1}.hdr ] ; then ln -fs ${f1}.hdr ${f2}.hdr ; fi
+-if [ -f ${f1}.hdr.gz ] ; then ln -fs ${f1}.hdr.gz ${f2}.hdr.gz ; fi
+-if [ -f ${f1}.img ] ; then ln -fs ${f1}.img ${f2}.img ; fi
+-if [ -f ${f1}.img.gz ] ; then ln -fs ${f1}.img.gz ${f2}.img.gz ; fi
+-if [ -f ${f1}.nii ] ; then ln -fs ${f1}.nii ${f2}.nii ; fi
+-if [ -f ${f1}.nii.gz ] ; then ln -fs ${f1}.nii.gz ${f2}.nii.gz ; fi
+-if [ -f ${f1}.mnc ] ; then ln -fs ${f1}.mnc ${f2}.mnc ; fi
+-if [ -f ${f1}.mnc.gz ] ; then ln -fs ${f1}.mnc.gz ${f2}.mnc.gz ; fi
+-
+diff -Naur fsl.orig/src/fslio/imrm fsl/src/fslio/imrm
+--- fsl.orig/src/fslio/imrm 2021-02-01 15:29:34.842752994 -0500
++++ fsl/src/fslio/imrm 1969-12-31 19:00:00.000000000 -0500
+@@ -1,83 +0,0 @@
+-#!/bin/sh
+-
+-# imrm - remove image files
+-#
+-# Stephen Smith and Mark Jenkinson, FMRIB Image Analysis Group
+-#
+-# Copyright (C) 1999-2004 University of Oxford
+-#
+-# Part of FSL - FMRIB's Software Library
+-# http://www.fmrib.ox.ac.uk/fsl
+-# fsl@fmrib.ox.ac.uk
+-#
+-# Developed at FMRIB (Oxford Centre for Functional Magnetic Resonance
+-# Imaging of the Brain), Department of Clinical Neurology, Oxford
+-# University, Oxford, UK
+-#
+-#
+-# LICENCE
+-#
+-# FMRIB Software Library, Release 6.0 (c) 2018, The University of
+-# Oxford (the "Software")
+-#
+-# The Software remains the property of the Oxford University Innovation
+-# ("the University").
+-#
+-# The Software is distributed "AS IS" under this Licence solely for
+-# non-commercial use in the hope that it will be useful, but in order
+-# that the University as a charitable foundation protects its assets for
+-# the benefit of its educational and research purposes, the University
+-# makes clear that no condition is made or to be implied, nor is any
+-# warranty given or to be implied, as to the accuracy of the Software,
+-# or that it will be suitable for any particular purpose or for use
+-# under any specific conditions. Furthermore, the University disclaims
+-# all responsibility for the use which is made of the Software. It
+-# further disclaims any liability for the outcomes arising from using
+-# the Software.
+-#
+-# The Licensee agrees to indemnify the University and hold the
+-# University harmless from and against any and all claims, damages and
+-# liabilities asserted by third parties (including claims for
+-# negligence) which arise directly or indirectly from the use of the
+-# Software or the sale of any products based on the Software.
+-#
+-# No part of the Software may be reproduced, modified, transmitted or
+-# transferred in any form or by any means, electronic or mechanical,
+-# without the express permission of the University. The permission of
+-# the University is not required if the said reproduction, modification,
+-# transmission or transference is done without financial return, the
+-# conditions of this Licence are imposed upon the receiver of the
+-# product, and all original and amended source code is included in any
+-# transmitted product. You may be held legally responsible for any
+-# copyright infringement that is caused or encouraged by your failure to
+-# abide by these terms and conditions.
+-#
+-# You are not permitted under this Licence to use this Software
+-# commercially. Use for which any financial return is received shall be
+-# defined as commercial use, and includes (1) integration of all or part
+-# of the source code or the Software into a product for sale or license
+-# by or on behalf of Licensee to third parties or (2) use of the
+-# Software or any derivative of it for research with the final aim of
+-# developing software products for sale or license to a third party or
+-# (3) use of the Software or any derivative of it for research with the
+-# final aim of developing non-software products for sale or license to a
+-# third party, or (4) use of the Software to provide any service to an
+-# external organisation for which payment is received. If you are
+-# interested in using the Software commercially, please contact Oxford
+-# University Innovation ("OUI"), the technology transfer company of the
+-# University, to negotiate a licence. Contact details are:
+-# fsl@innovation.ox.ac.uk quoting Reference Project 9564, FSL.
+-export LC_ALL=C
+-
+-if [ $# -lt 1 ] ; then
+- echo "Usage: $0 <list of image names to remove>"
+- echo "NB: filenames can be basenames or not"
+- exit 1;
+-fi
+-
+-for f in $@ ; do
+- fn=`${FSLDIR}/bin/remove_ext $f`;
+- # do the rm silently
+- /bin/rm -f ${fn}.img ${fn}.hdr ${fn}.hdr.gz ${fn}.img.gz ${fn}.nii ${fn}.nii.gz ${fn}.mnc ${fn}.mnc.gz
+-done
+-
+diff -Naur fsl.orig/src/fslio/imtest fsl/src/fslio/imtest
+--- fsl.orig/src/fslio/imtest 2021-02-01 15:29:34.842752994 -0500
++++ fsl/src/fslio/imtest 1969-12-31 19:00:00.000000000 -0500
+@@ -1,118 +0,0 @@
+-#!/bin/sh
+-
+-# imtest - test to see if a valid image file exists with this name (root)
+-#
+-# Stephen Smith and Mark Jenkinson, FMRIB Image Analysis Group
+-#
+-# Copyright (C) 1999-2004 University of Oxford
+-#
+-# Part of FSL - FMRIB's Software Library
+-# http://www.fmrib.ox.ac.uk/fsl
+-# fsl@fmrib.ox.ac.uk
+-#
+-# Developed at FMRIB (Oxford Centre for Functional Magnetic Resonance
+-# Imaging of the Brain), Department of Clinical Neurology, Oxford
+-# University, Oxford, UK
+-#
+-#
+-# LICENCE
+-#
+-# FMRIB Software Library, Release 6.0 (c) 2018, The University of
+-# Oxford (the "Software")
+-#
+-# The Software remains the property of the Oxford University Innovation
+-# ("the University").
+-#
+-# The Software is distributed "AS IS" under this Licence solely for
+-# non-commercial use in the hope that it will be useful, but in order
+-# that the University as a charitable foundation protects its assets for
+-# the benefit of its educational and research purposes, the University
+-# makes clear that no condition is made or to be implied, nor is any
+-# warranty given or to be implied, as to the accuracy of the Software,
+-# or that it will be suitable for any particular purpose or for use
+-# under any specific conditions. Furthermore, the University disclaims
+-# all responsibility for the use which is made of the Software. It
+-# further disclaims any liability for the outcomes arising from using
+-# the Software.
+-#
+-# The Licensee agrees to indemnify the University and hold the
+-# University harmless from and against any and all claims, damages and
+-# liabilities asserted by third parties (including claims for
+-# negligence) which arise directly or indirectly from the use of the
+-# Software or the sale of any products based on the Software.
+-#
+-# No part of the Software may be reproduced, modified, transmitted or
+-# transferred in any form or by any means, electronic or mechanical,
+-# without the express permission of the University. The permission of
+-# the University is not required if the said reproduction, modification,
+-# transmission or transference is done without financial return, the
+-# conditions of this Licence are imposed upon the receiver of the
+-# product, and all original and amended source code is included in any
+-# transmitted product. You may be held legally responsible for any
+-# copyright infringement that is caused or encouraged by your failure to
+-# abide by these terms and conditions.
+-#
+-# You are not permitted under this Licence to use this Software
+-# commercially. Use for which any financial return is received shall be
+-# defined as commercial use, and includes (1) integration of all or part
+-# of the source code or the Software into a product for sale or license
+-# by or on behalf of Licensee to third parties or (2) use of the
+-# Software or any derivative of it for research with the final aim of
+-# developing software products for sale or license to a third party or
+-# (3) use of the Software or any derivative of it for research with the
+-# final aim of developing non-software products for sale or license to a
+-# third party, or (4) use of the Software to provide any service to an
+-# external organisation for which payment is received. If you are
+-# interested in using the Software commercially, please contact Oxford
+-# University Innovation ("OUI"), the technology transfer company of the
+-# University, to negotiate a licence. Contact details are:
+-# fsl@innovation.ox.ac.uk quoting Reference Project 9564, FSL.
+-export LC_ALL=C
+-
+-# return 0 if no image exists or 1 if the image exists
+-
+-if [ $# -lt 1 ] ; then
+- echo "0";
+- exit;
+-fi
+-
+-inputfile=$1
+-
+-
+-
+-for i in 1 2 3 4 5 6 7 8 9 10 11 12
+-do
+-if [ -h $inputfile ] ; then
+-inputfile=`readlink $inputfile`;
+-fi
+-done
+-
+-filename=`${FSLDIR}/bin/remove_ext $inputfile`;
+-
+-if [ -r ${filename}.nii ] || [ -r ${filename}.nii.gz ] ; then
+- echo "1";
+- exit;
+-fi
+-
+-if [ -r ${filename}.mnc ] || [ -r ${filename}.mnc.gz ] ; then
+- echo "1";
+- exit;
+-fi
+-
+-if [ ! -r ${filename}.hdr ] && [ ! -r ${filename}.hdr.gz ] ; then
+- # return 0 here as no header exists and no single image means no image!
+- echo "0";
+- exit;
+-fi
+-
+-if [ ! -r ${filename}.img ] && [ ! -r ${filename}.img.gz ] ; then
+- # return 0 here as no img file exists and no single image means no image!
+- echo "0";
+- exit;
+-fi
+-
+-# only gets to here if there was a hdr and an img file
+-
+-echo "1";
+-exit;
+-
diff --git a/sci-biology/fsl/files/fsl-6.0.4-remove_fslpy_collisions-p2.patch b/sci-biology/fsl/files/fsl-6.0.4-remove_fslpy_collisions-p2.patch
new file mode 100644
index 000000000..ddb7cfb67
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-remove_fslpy_collisions-p2.patch
@@ -0,0 +1,348 @@
+diff -Naur fsl.orig/src/fslio/Makefile fsl/src/fslio/Makefile
+--- fsl.orig/src/fslio/Makefile 2021-02-01 15:29:34.842752994 -0500
++++ fsl/src/fslio/Makefile 2021-02-01 15:32:19.723761859 -0500
+@@ -6,7 +6,7 @@
+
+ OBJS=fslio.o
+
+-SCRIPTS = remove_ext fsloutputtype imtest imglob imcp imln imrm immv
++SCRIPTS = fsloutputtype imglob imcp immv
+
+ all:
+
+diff -Naur fsl.orig/src/fslio/remove_ext fsl/src/fslio/remove_ext
+--- fsl.orig/src/fslio/remove_ext 2021-02-01 15:29:34.842752994 -0500
++++ fsl/src/fslio/remove_ext 1969-12-31 19:00:00.000000000 -0500
+@@ -1,87 +0,0 @@
+-#!/bin/sh
+-
+-# remove_ext - remove extension from image filename
+-#
+-# Stephen Smith and Mark Jenkinson, FMRIB Image Analysis Group
+-#
+-# Copyright (C) 1999-2004 University of Oxford
+-#
+-# Part of FSL - FMRIB's Software Library
+-# http://www.fmrib.ox.ac.uk/fsl
+-# fsl@fmrib.ox.ac.uk
+-#
+-# Developed at FMRIB (Oxford Centre for Functional Magnetic Resonance
+-# Imaging of the Brain), Department of Clinical Neurology, Oxford
+-# University, Oxford, UK
+-#
+-#
+-# LICENCE
+-#
+-# FMRIB Software Library, Release 6.0 (c) 2018, The University of
+-# Oxford (the "Software")
+-#
+-# The Software remains the property of the Oxford University Innovation
+-# ("the University").
+-#
+-# The Software is distributed "AS IS" under this Licence solely for
+-# non-commercial use in the hope that it will be useful, but in order
+-# that the University as a charitable foundation protects its assets for
+-# the benefit of its educational and research purposes, the University
+-# makes clear that no condition is made or to be implied, nor is any
+-# warranty given or to be implied, as to the accuracy of the Software,
+-# or that it will be suitable for any particular purpose or for use
+-# under any specific conditions. Furthermore, the University disclaims
+-# all responsibility for the use which is made of the Software. It
+-# further disclaims any liability for the outcomes arising from using
+-# the Software.
+-#
+-# The Licensee agrees to indemnify the University and hold the
+-# University harmless from and against any and all claims, damages and
+-# liabilities asserted by third parties (including claims for
+-# negligence) which arise directly or indirectly from the use of the
+-# Software or the sale of any products based on the Software.
+-#
+-# No part of the Software may be reproduced, modified, transmitted or
+-# transferred in any form or by any means, electronic or mechanical,
+-# without the express permission of the University. The permission of
+-# the University is not required if the said reproduction, modification,
+-# transmission or transference is done without financial return, the
+-# conditions of this Licence are imposed upon the receiver of the
+-# product, and all original and amended source code is included in any
+-# transmitted product. You may be held legally responsible for any
+-# copyright infringement that is caused or encouraged by your failure to
+-# abide by these terms and conditions.
+-#
+-# You are not permitted under this Licence to use this Software
+-# commercially. Use for which any financial return is received shall be
+-# defined as commercial use, and includes (1) integration of all or part
+-# of the source code or the Software into a product for sale or license
+-# by or on behalf of Licensee to third parties or (2) use of the
+-# Software or any derivative of it for research with the final aim of
+-# developing software products for sale or license to a third party or
+-# (3) use of the Software or any derivative of it for research with the
+-# final aim of developing non-software products for sale or license to a
+-# third party, or (4) use of the Software to provide any service to an
+-# external organisation for which payment is received. If you are
+-# interested in using the Software commercially, please contact Oxford
+-# University Innovation ("OUI"), the technology transfer company of the
+-# University, to negotiate a licence. Contact details are:
+-# fsl@innovation.ox.ac.uk quoting Reference Project 9564, FSL.
+-export LC_ALL=C
+-
+-
+-if [ $# -lt 1 ] ; then
+- exit 1
+-fi
+-
+-lst="";
+-for fn in $@ ; do
+- # for the ones at the end of the line
+- f=`echo "$fn" | sed 's/\.hdr\.gz$//' | sed 's/\.img\.gz$//' | sed 's/\.hdr$//' | sed 's/\.img$//' | sed 's/\.nii.gz$//' | sed 's/\.nii$//' | sed 's/\.mnc.gz$//' | sed 's/\.mnc$//' | sed 's/\.$//'`;
+- # for the ones in the middle of the line
+- f=`echo "$f" | sed 's/\.hdr\.gz[ ]/ /g' | sed 's/\.img\.gz[ ]/ /g' | sed 's/\.hdr[ ]/ /g' | sed 's/\.img[ ]/ /g' | sed 's/\.nii\.gz[ ]/ /g' | sed 's/\.nii[ ]/ /g' | sed 's/\.mnc\.gz[ ]/ /g' | sed 's/\.mnc[ ]/ /g' |sed 's/\.[ ]/ /g'`;
+- lst="$lst $f";
+-done
+-echo $lst;
+-
+-
+diff -Naur fsl.orig/src/misc_scripts/fsl_abspath fsl/src/misc_scripts/fsl_abspath
+--- fsl.orig/src/misc_scripts/fsl_abspath 2021-02-01 15:29:34.828752994 -0500
++++ fsl/src/misc_scripts/fsl_abspath 1969-12-31 19:00:00.000000000 -0500
+@@ -1,71 +0,0 @@
+-#!/usr/bin/env fslpython
+-# fsl_abspath - return true file path
+-# Matthew Webster FMRIB Image Analysis Group
+-# Copyright (C) 2009 University of Oxford
+-# Part of FSL - FMRIB's Software Library
+-# http://www.fmrib.ox.ac.uk/fsl
+-# fsl@fmrib.ox.ac.uk
+-#
+-# Developed at FMRIB (Oxford Centre for Functional Magnetic Resonance
+-# Imaging of the Brain), Department of Clinical Neurology, Oxford
+-# University, Oxford, UK
+-#
+-#
+-# LICENCE
+-#
+-# FMRIB Software Library, Release 6.0 (c) 2018, The University of
+-# Oxford (the "Software")
+-#
+-# The Software remains the property of the Oxford University Innovation
+-# ("the University").
+-#
+-# The Software is distributed "AS IS" under this Licence solely for
+-# non-commercial use in the hope that it will be useful, but in order
+-# that the University as a charitable foundation protects its assets for
+-# the benefit of its educational and research purposes, the University
+-# makes clear that no condition is made or to be implied, nor is any
+-# warranty given or to be implied, as to the accuracy of the Software,
+-# or that it will be suitable for any particular purpose or for use
+-# under any specific conditions. Furthermore, the University disclaims
+-# all responsibility for the use which is made of the Software. It
+-# further disclaims any liability for the outcomes arising from using
+-# the Software.
+-#
+-# The Licensee agrees to indemnify the University and hold the
+-# University harmless from and against any and all claims, damages and
+-# liabilities asserted by third parties (including claims for
+-# negligence) which arise directly or indirectly from the use of the
+-# Software or the sale of any products based on the Software.
+-#
+-# No part of the Software may be reproduced, modified, transmitted or
+-# transferred in any form or by any means, electronic or mechanical,
+-# without the express permission of the University. The permission of
+-# the University is not required if the said reproduction, modification,
+-# transmission or transference is done without financial return, the
+-# conditions of this Licence are imposed upon the receiver of the
+-# product, and all original and amended source code is included in any
+-# transmitted product. You may be held legally responsible for any
+-# copyright infringement that is caused or encouraged by your failure to
+-# abide by these terms and conditions.
+-#
+-# You are not permitted under this Licence to use this Software
+-# commercially. Use for which any financial return is received shall be
+-# defined as commercial use, and includes (1) integration of all or part
+-# of the source code or the Software into a product for sale or license
+-# by or on behalf of Licensee to third parties or (2) use of the
+-# Software or any derivative of it for research with the final aim of
+-# developing software products for sale or license to a third party or
+-# (3) use of the Software or any derivative of it for research with the
+-# final aim of developing non-software products for sale or license to a
+-# third party, or (4) use of the Software to provide any service to an
+-# external organisation for which payment is received. If you are
+-# interested in using the Software commercially, please contact Oxford
+-# University Innovation ("OUI"), the technology transfer company of the
+-# University, to negotiate a licence. Contact details are:
+-# fsl@innovation.ox.ac.uk quoting Reference Project 9564, FSL.
+-from __future__ import print_function
+-import sys
+-import os
+-
+-print (os.path.realpath(sys.argv[1]))
+-sys.exit(0)
+diff -Naur fsl.orig/src/misc_scripts/Makefile fsl/src/misc_scripts/Makefile
+--- fsl.orig/src/misc_scripts/Makefile 2021-02-01 15:29:34.828752994 -0500
++++ fsl/src/misc_scripts/Makefile 2021-02-01 15:32:56.027763811 -0500
+@@ -2,6 +2,6 @@
+
+ PROJNAME = misc_scripts
+
+-SCRIPTS = fslecho regscript remove_vols replace_and_average_fmrib linkbedpost ocmr_preproc correct_and_average eddy_correct Text2Vest Vest2Text AnatomicalAverage fsl_abspath fsl_anat fslFixText
++SCRIPTS = fslecho regscript remove_vols replace_and_average_fmrib linkbedpost ocmr_preproc correct_and_average eddy_correct AnatomicalAverage fsl_anat fslFixText
+
+ all:
+diff -Naur fsl.orig/src/misc_scripts/Text2Vest fsl/src/misc_scripts/Text2Vest
+--- fsl.orig/src/misc_scripts/Text2Vest 2021-02-01 15:29:34.828752994 -0500
++++ fsl/src/misc_scripts/Text2Vest 1969-12-31 19:00:00.000000000 -0500
+@@ -1,80 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2012 University of Oxford
+-#
+-# Part of FSL - FMRIB's Software Library
+-# http://www.fmrib.ox.ac.uk/fsl
+-# fsl@fmrib.ox.ac.uk
+-#
+-# Developed at FMRIB (Oxford Centre for Functional Magnetic Resonance
+-# Imaging of the Brain), Department of Clinical Neurology, Oxford
+-# University, Oxford, UK
+-#
+-#
+-# LICENCE
+-#
+-# FMRIB Software Library, Release 6.0 (c) 2018, The University of
+-# Oxford (the "Software")
+-#
+-# The Software remains the property of the Oxford University Innovation
+-# ("the University").
+-#
+-# The Software is distributed "AS IS" under this Licence solely for
+-# non-commercial use in the hope that it will be useful, but in order
+-# that the University as a charitable foundation protects its assets for
+-# the benefit of its educational and research purposes, the University
+-# makes clear that no condition is made or to be implied, nor is any
+-# warranty given or to be implied, as to the accuracy of the Software,
+-# or that it will be suitable for any particular purpose or for use
+-# under any specific conditions. Furthermore, the University disclaims
+-# all responsibility for the use which is made of the Software. It
+-# further disclaims any liability for the outcomes arising from using
+-# the Software.
+-#
+-# The Licensee agrees to indemnify the University and hold the
+-# University harmless from and against any and all claims, damages and
+-# liabilities asserted by third parties (including claims for
+-# negligence) which arise directly or indirectly from the use of the
+-# Software or the sale of any products based on the Software.
+-#
+-# No part of the Software may be reproduced, modified, transmitted or
+-# transferred in any form or by any means, electronic or mechanical,
+-# without the express permission of the University. The permission of
+-# the University is not required if the said reproduction, modification,
+-# transmission or transference is done without financial return, the
+-# conditions of this Licence are imposed upon the receiver of the
+-# product, and all original and amended source code is included in any
+-# transmitted product. You may be held legally responsible for any
+-# copyright infringement that is caused or encouraged by your failure to
+-# abide by these terms and conditions.
+-#
+-# You are not permitted under this Licence to use this Software
+-# commercially. Use for which any financial return is received shall be
+-# defined as commercial use, and includes (1) integration of all or part
+-# of the source code or the Software into a product for sale or license
+-# by or on behalf of Licensee to third parties or (2) use of the
+-# Software or any derivative of it for research with the final aim of
+-# developing software products for sale or license to a third party or
+-# (3) use of the Software or any derivative of it for research with the
+-# final aim of developing non-software products for sale or license to a
+-# third party, or (4) use of the Software to provide any service to an
+-# external organisation for which payment is received. If you are
+-# interested in using the Software commercially, please contact Oxford
+-# University Innovation ("OUI"), the technology transfer company of the
+-# University, to negotiate a licence. Contact details are:
+-# fsl@innovation.ox.ac.uk quoting Reference Project 9564, FSL.
+-export LC_ALL=C
+-if [ $# -lt 2 ] ; then
+- echo "`basename $0` <text file> <vest file>"
+- exit 0
+-fi
+-
+-NumPoints=`grep -cve '^\s*$' $1`
+-NumWaves=`wc $1 | awk '{ print $2 }'`
+-NumWaves=`expr $NumWaves / $NumPoints`
+-
+-echo /NumWaves $NumWaves > $2
+-echo /NumPoints $NumPoints >> $2
+-echo /Matrix >> $2
+-
+-cat $1 >> $2
+-
+diff -Naur fsl.orig/src/misc_scripts/Vest2Text fsl/src/misc_scripts/Vest2Text
+--- fsl.orig/src/misc_scripts/Vest2Text 2021-02-01 15:29:34.828752994 -0500
++++ fsl/src/misc_scripts/Vest2Text 1969-12-31 19:00:00.000000000 -0500
+@@ -1,71 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2012 University of Oxford
+-#
+-# Part of FSL - FMRIB's Software Library
+-# http://www.fmrib.ox.ac.uk/fsl
+-# fsl@fmrib.ox.ac.uk
+-#
+-# Developed at FMRIB (Oxford Centre for Functional Magnetic Resonance
+-# Imaging of the Brain), Department of Clinical Neurology, Oxford
+-# University, Oxford, UK
+-#
+-#
+-# LICENCE
+-#
+-# FMRIB Software Library, Release 6.0 (c) 2018, The University of
+-# Oxford (the "Software")
+-#
+-# The Software remains the property of the Oxford University Innovation
+-# ("the University").
+-#
+-# The Software is distributed "AS IS" under this Licence solely for
+-# non-commercial use in the hope that it will be useful, but in order
+-# that the University as a charitable foundation protects its assets for
+-# the benefit of its educational and research purposes, the University
+-# makes clear that no condition is made or to be implied, nor is any
+-# warranty given or to be implied, as to the accuracy of the Software,
+-# or that it will be suitable for any particular purpose or for use
+-# under any specific conditions. Furthermore, the University disclaims
+-# all responsibility for the use which is made of the Software. It
+-# further disclaims any liability for the outcomes arising from using
+-# the Software.
+-#
+-# The Licensee agrees to indemnify the University and hold the
+-# University harmless from and against any and all claims, damages and
+-# liabilities asserted by third parties (including claims for
+-# negligence) which arise directly or indirectly from the use of the
+-# Software or the sale of any products based on the Software.
+-#
+-# No part of the Software may be reproduced, modified, transmitted or
+-# transferred in any form or by any means, electronic or mechanical,
+-# without the express permission of the University. The permission of
+-# the University is not required if the said reproduction, modification,
+-# transmission or transference is done without financial return, the
+-# conditions of this Licence are imposed upon the receiver of the
+-# product, and all original and amended source code is included in any
+-# transmitted product. You may be held legally responsible for any
+-# copyright infringement that is caused or encouraged by your failure to
+-# abide by these terms and conditions.
+-#
+-# You are not permitted under this Licence to use this Software
+-# commercially. Use for which any financial return is received shall be
+-# defined as commercial use, and includes (1) integration of all or part
+-# of the source code or the Software into a product for sale or license
+-# by or on behalf of Licensee to third parties or (2) use of the
+-# Software or any derivative of it for research with the final aim of
+-# developing software products for sale or license to a third party or
+-# (3) use of the Software or any derivative of it for research with the
+-# final aim of developing non-software products for sale or license to a
+-# third party, or (4) use of the Software to provide any service to an
+-# external organisation for which payment is received. If you are
+-# interested in using the Software commercially, please contact Oxford
+-# University Innovation ("OUI"), the technology transfer company of the
+-# University, to negotiate a licence. Contact details are:
+-# fsl@innovation.ox.ac.uk quoting Reference Project 9564, FSL.
+-export LC_ALL=C
+-if [ $# -lt 2 ] ; then
+- echo "`basename $0` <vest file> <text file>"
+- exit 0
+-fi
+-sed -e "/\//d" $1 | sed '/^$/d' > $2
+-
diff --git a/sci-biology/fsl/files/fsl-6.0.4-setup.patch b/sci-biology/fsl/files/fsl-6.0.4-setup.patch
new file mode 100644
index 000000000..061e1a22a
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-6.0.4-setup.patch
@@ -0,0 +1,174 @@
+diff -Naur fsl.orig/build fsl/build
+--- fsl.orig/build 2020-12-02 15:29:12.180812558 -0500
++++ fsl/build 2020-12-02 15:34:03.854821628 -0500
+@@ -28,7 +28,6 @@
+ # The build order for MASTERLIBS is very important, and should not be modified unless you know what
+ # you are doing.
+ MASTERLIBS="
+- CiftiLib-master \
+ utils \
+ znzlib \
+ NewNifti \
+@@ -157,8 +156,8 @@
+ done #project (MASTERPROJECTS)
+ fi #full build
+
+-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 -Naur fsl.orig/config/buildSettings.mk fsl/config/buildSettings.mk
+--- fsl.orig/config/buildSettings.mk 2020-12-02 15:29:11.993812552 -0500
++++ fsl/config/buildSettings.mk 2020-12-02 15:39:37.269831995 -0500
+@@ -18,7 +18,7 @@
+ CHMOD = /bin/chmod
+ MKDIR = /bin/mkdir
+ INSTALL = install -p
+-TCLSH = ${FSLDIR}/bin/fsltclsh
++TCLSH = tclsh
+ DEPENDFLAGS = -MM
+ MACHDBGFLAGS = -g
+ #####################################################################
+@@ -127,19 +127,19 @@
+ #####################################################################
+ ifeq ($(SYSTYPE), Linux)
+ ############### System Vars #####################################
+-CC = gcc
+-CXX = c++
+-CXX11 = c++
++CC = @@GENTOO_CC@@
++CXX = @@GENTOO_CXX@@
++CXX11 = @@GENTOO_CXX@@
+ CSTATICFLAGS = -static
+ CXXSTATICFLAGS = -static
+-ARCHFLAGS = -m64
+-ARCHLDFLAGS = -Wl,-rpath,'$$ORIGIN/../lib'
++ARCHFLAGS =
++ARCHLDFLAGS =
+ PARALLELFLAGS = -fopenmp
+-OPTFLAGS = -g -O3 -fexpensive-optimizations ${ARCHFLAGS}
++OPTFLAGS =
+ GNU_ANSI_FLAGS = -Wall -ansi -pedantic -Wno-long-long
+ SGI_ANSI_FLAGS = -ansi -fullwarn
+ ANSI_FLAGS = ${GNU_ANSI_FLAGS}
+-RANLIB = echo
++RANLIB = @@GENTOO_RANLIB@@
+ FSLML = ${FSLDIR}/bin/fslml
+ # CUDA development environment
+ CUDAVER := $(or $(CUDAVER),9.1)
+@@ -158,8 +158,8 @@
+ NVCC = ${CUDA_INSTALLATION}/bin/nvcc
+ ############### External Libs #####################################
+ # ZLIB library
+-LIB_ZLIB = ${FSLEXTLIB}
+-INC_ZLIB = ${FSLEXTINC}
++#LIB_ZLIB = ${FSLEXTLIB}
++#INC_ZLIB = ${FSLEXTINC}
+ # QT library
+ QTDIR = /usr/lib/qt3
+ LIB_QT = ${QTDIR}/lib
+diff -Naur fsl.orig/config/common/buildproj fsl/config/common/buildproj
+--- fsl.orig/config/common/buildproj 2020-12-02 15:29:11.993812552 -0500
++++ fsl/config/common/buildproj 2020-12-02 15:41:25.579835363 -0500
+@@ -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`
+ FSLMASTERBUILD=1
+ export FSLDIR FSLDEVDIR FSLCONFDIR FSLMACHTYPE FSLMASTERBUILD
+
+@@ -67,7 +67,7 @@
+ if [ -x ./fslconfig ] ; then
+ . ./fslconfig ;
+ fi
+- if ${MAKE} -k ${MAKEOPTIONS} ; then
++ if ${MAKE} ${MAKEOPTIONS} ; then
+ if ${MAKE} ${MAKEOPTIONS} install ; then
+ installok=true;
+ # Clean up after ourselves
+@@ -82,6 +82,7 @@
+ if [ $installok = false ] ; then
+ echo " "
+ echo "ERROR::Could not install $projname successfully" ;
++ exit 1
+ fi
+ else
+ echo " "
+@@ -90,6 +91,7 @@
+ echo " "
+ echo " "
+ errorprojs="$errorprojs $projname" ; export errorprojs ;
++ exit 1
+ fi
+ fi
+ done
+diff -Naur fsl.orig/config/common/vars.mk fsl/config/common/vars.mk
+--- fsl.orig/config/common/vars.mk 2020-12-02 15:29:11.993812552 -0500
++++ fsl/config/common/vars.mk 2020-12-02 15:43:00.602838318 -0500
+@@ -24,15 +24,15 @@
+ 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 -Naur fsl.orig/extras/build fsl/extras/build
+--- fsl.orig/extras/build 2020-12-02 15:29:12.404812565 -0500
++++ fsl/extras/build 2020-12-02 15:44:06.906840380 -0500
+@@ -96,16 +96,16 @@
+ BUILDICONV=1
+ fi
+ fi
+-PROJECTS="tcl tk"
++#PROJECTS="tcl tk"
+ if [ ${BUILDZLIB} -eq 1 ]; then
+ PROJECTS="${PROJECTS} zlib"
+ fi
+-PROJECTS="${PROJECTS} libpng"
++#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 libxmlpp libsqlite libnlopt ../include/armawrap/dummy_newmat"
++PROJECTS="${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 -Naur fsl.orig/src/mist/Makefile fsl/src/mist/Makefile
+--- fsl.orig/src/mist/Makefile 2020-12-02 15:29:12.875812580 -0500
++++ fsl/src/mist/Makefile 2020-12-02 15:45:09.805842335 -0500
+@@ -52,6 +52,8 @@
+ cp -r python/* ${DESTDIR}/python/mist
+
+ clean:
+- rm -f ${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
diff --git a/sci-biology/fsl/fsl-6.0.2-r1.ebuild b/sci-biology/fsl/fsl-6.0.2-r1.ebuild
index 71314a8f8..ae12098ec 100644
--- a/sci-biology/fsl/fsl-6.0.2-r1.ebuild
+++ b/sci-biology/fsl/fsl-6.0.2-r1.ebuild
@@ -6,7 +6,7 @@ EAPI=7
inherit cuda 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"
+HOMEPAGE="https://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"
@@ -16,7 +16,7 @@ IUSE="cuda"
DEPEND="
dev-libs/boost
- dev-python/fslpy
+ <dev-python/fslpy-3
media-gfx/graphviz
media-libs/gd
media-libs/glu
diff --git a/sci-biology/fsl/fsl-6.0.2.ebuild b/sci-biology/fsl/fsl-6.0.2.ebuild
index 8a7e0eebb..f490b6e7c 100644
--- a/sci-biology/fsl/fsl-6.0.2.ebuild
+++ b/sci-biology/fsl/fsl-6.0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
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"
+HOMEPAGE="https://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"
@@ -16,7 +16,7 @@ IUSE=""
DEPEND="
dev-libs/boost
- dev-python/fslpy
+ <dev-python/fslpy-3
media-gfx/graphviz
media-libs/gd
media-libs/glu
diff --git a/sci-biology/fsl/fsl-6.0.2-r1.ebuild b/sci-biology/fsl/fsl-6.0.4.ebuild
similarity index 83%
copy from sci-biology/fsl/fsl-6.0.2-r1.ebuild
copy to sci-biology/fsl/fsl-6.0.4.ebuild
index 71314a8f8..e0feb82d9 100644
--- a/sci-biology/fsl/fsl-6.0.2-r1.ebuild
+++ b/sci-biology/fsl/fsl-6.0.4.ebuild
@@ -6,7 +6,7 @@ EAPI=7
inherit cuda 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"
+HOMEPAGE="https://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"
@@ -16,7 +16,7 @@ IUSE="cuda"
DEPEND="
dev-libs/boost
- dev-python/fslpy
+ >=dev-python/fslpy-3
media-gfx/graphviz
media-libs/gd
media-libs/glu
@@ -42,8 +42,8 @@ S=${WORKDIR}/${PN}
UPSTREAM_FSLDIR="/usr/share/fsl"
PATCHES=(
- "${FILESDIR}/${PN}"-6.0.2-gcc10_include.patch
- "${FILESDIR}/${PN}"-6.0.2-setup.patch
+ "${FILESDIR}/${P}"-gcc10_include.patch
+ "${FILESDIR}/${P}"-setup.patch
"${FILESDIR}/${PN}"-6.0.2-template.patch
"${FILESDIR}/${PN}"-6.0.2-no_xmlpp.patch
"${FILESDIR}/${PN}"-5.0.11-niftiio_var_fix.patch
@@ -51,8 +51,13 @@ PATCHES=(
"${FILESDIR}/${PN}"-5.0.11-fslsurface_parallel_make.patch
"${FILESDIR}/${PN}"-6.0.2-qstring_compat.patch
"${FILESDIR}/${PN}"-5.0.9-headers.patch
- "${FILESDIR}/${PN}"-6.0.2-fsldir_redux-p1.patch
- "${FILESDIR}/${PN}"-6.0.2-fsldir_redux-p2.patch
+ "${FILESDIR}/${P}"-fsldir_redux-p1.patch
+ "${FILESDIR}/${P}"-fsldir_redux-p2.patch
+ "${FILESDIR}/${P}"-flameo_std.patch
+ "${FILESDIR}/${P}"-melodic_std.patch
+ "${FILESDIR}/${P}"-remove_fslpy_collisions-p1.patch
+ "${FILESDIR}/${P}"-remove_fslpy_collisions-p2.patch
+ "${FILESDIR}/${P}"-fdt_cuda.patch
)
src_prepare() {
@@ -67,8 +72,11 @@ src_prepare() {
eprefixify $(grep -rl GENTOO_PORTAGE_EPREFIX src/*) \
etc/js/label-div.html
- # Disable mist-clean the hard way for now.
- rm -rf src/mist-clean
+ # Disable mist the hard way for now.
+ rm -r src/mist || die
+
+ # Disable ptx2 for now
+ rm -r src/ptx2 || die
makefilelist=$(find src/ -name Makefile)
@@ -111,7 +119,7 @@ src_prepare() {
sed -e "s:-lopenblas:-llapack -lblas:g" \
-i $(grep -rlI lopenblas *) || die
- # script wanting to have access to flsversion at buildtime
+ # script wanting to have access to fslversion at buildtime
sed -e "s:/etc/fslversion:${S}/etc/fslversion:g" \
-i ${makefilelist} || die
@@ -129,8 +137,8 @@ src_prepare() {
CUDA_INSTALLATION="/opt/cuda"
CUDAVER=`cuda_toolkit_version`
- eapply "${FILESDIR}/${PN}-6.0.2-eddy_cuda.patch"
- eapply "${FILESDIR}/${PN}-6.0.2-cuda_buildsettings.patch"
+ eapply "${FILESDIR}/${P}-eddy_cuda.patch"
+ eapply "${FILESDIR}/${P}-cuda_buildsettings.patch"
sed -i \
-e "s:@@GENTOO_NVCC_FLAGS@@:${cuda_NVCC_flags}:" \
@@ -145,8 +153,14 @@ src_compile() {
export FSLCONDIR=${WORKDIR}/${PN}/config
export FSLMACHTYPE=generic
+ # define the default build system to match upstream official standard
+ # -> individual projects may overwrite the '-std=' flag
+ export ANSI_CFLAGS="-std=c99"
+ export ANSI_CXXFLAGS="-std=c++98"
+
export USERLDFLAGS="${LDFLAGS}"
export USERCFLAGS="${CFLAGS}"
+ export USERCPPFLAGS="${CPPFLAGS}"
export USERCXXFLAGS="${CXXFLAGS}"
export CIFTICFLAGS="$($(tc-getPKG_CONFIG) --cflags CiftiLib)"
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-07-18 10:48 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-21 14:30 [gentoo-commits] proj/sci:master commit in: sci-biology/fsl/, sci-biology/fsl/files/ Horea Christian
-- strict thread matches above, loose matches on Subject: below --
2021-07-18 10:48 Andrew Ammerlaan
2020-01-30 15:22 Horea Christian
2017-01-05 19:28 Justin Lecher
2015-04-20 1:11 Francois Bissey
2015-04-20 1:11 Francois Bissey
2015-04-20 1:11 Francois Bissey
2015-04-20 1:11 Francois Bissey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox