commit:     0d75b7b6bc3b549e4d3fbe95c65ebce4ef1d92cc
Author:     Horea Christian <horea.christ <AT> yandex <DOT> com>
AuthorDate: Tue Aug  8 13:37:56 2017 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Thu Sep 21 02:39:21 2017 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=0d75b7b6

sci-biology/fsl: version bump.

  made env.dfile prefix-compatible

Closes: https://github.com/gentoo/sci/pull/804
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 sci-biology/fsl/files/fsl-5.0.9-fsldir_redux.patch | 456 +++++++++++++++++++++
 sci-biology/fsl/files/fsl-5.0.9-headers.patch      |  15 +
 sci-biology/fsl/files/fsl-5.0.9-setup.patch        | 115 ++++++
 sci-biology/fsl/fsl-5.0.8.ebuild                   |   4 +-
 .../fsl/{fsl-5.0.8.ebuild => fsl-5.0.9.ebuild}     |  68 ++-
 5 files changed, 621 insertions(+), 37 deletions(-)

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

diff --git a/sci-biology/fsl/files/fsl-5.0.9-headers.patch 
b/sci-biology/fsl/files/fsl-5.0.9-headers.patch
new file mode 100644
index 000000000..663dc565c
--- /dev/null
+++ b/sci-biology/fsl/files/fsl-5.0.9-headers.patch
@@ -0,0 +1,15 @@
+# Include zlib header directly.
+# From: Francois Bissey <[email protected]>
+# Signed-off-by: Horea Christian <[email protected]>
+# Submitted upstream: 
https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind1709&L=FSL&F=&S=&X=95C10F0B7D62EAAE7A&P=169254
+
+--- fsl/src/miscvis/writepng.c.orig    2013-10-19 00:18:32.415203592 +1300
++++ fsl/src/miscvis/writepng.c 2013-10-19 00:19:05.414255132 +1300
+@@ -32,6 +32,7 @@
+ 
+ #include <stdlib.h>     /* for exit() prototype */
+ 
++#include "zlib.h"
+ #include "png.h"        /* libpng header; includes zlib.h and setjmp.h */
+ #include "writepng.h"   /* typedefs, common macros, public prototypes */
+ 

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

diff --git a/sci-biology/fsl/fsl-5.0.8.ebuild b/sci-biology/fsl/fsl-5.0.8.ebuild
index 467255c5f..7916c0811 100644
--- a/sci-biology/fsl/fsl-5.0.8.ebuild
+++ b/sci-biology/fsl/fsl-5.0.8.ebuild
@@ -133,7 +133,9 @@ src_install() {
        dosym /etc /usr/share/fsl/etc
        dosym /usr/share/doc/${P} /usr/share/fsl/doc
 
-       doenvd "${FILESDIR}"/99fsl
+       cp "${FILESDIR}"/99fsl "${TMPDIR}"/99fsl || die
+       eprefixify "${TMPDIR}"/99fsl
+       doenvd "${TMPDIR}"/99fsl
        mv "${ED}"/usr/bin/{,fsl_}cluster || die
 }
 

diff --git a/sci-biology/fsl/fsl-5.0.8.ebuild b/sci-biology/fsl/fsl-5.0.9.ebuild
similarity index 64%
copy from sci-biology/fsl/fsl-5.0.8.ebuild
copy to sci-biology/fsl/fsl-5.0.9.ebuild
index 467255c5f..bc96cec06 100644
--- a/sci-biology/fsl/fsl-5.0.8.ebuild
+++ b/sci-biology/fsl/fsl-5.0.9.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=6
 
-inherit eutils toolchain-funcs prefix
+inherit toolchain-funcs prefix
 
 DESCRIPTION="Analysis of functional, structural, and diffusion MRI brain 
imaging data"
 HOMEPAGE="http://www.fmrib.ox.ac.uk/fsl";
@@ -29,13 +29,16 @@ RDEPEND="${COMMON_DEPEND}
        "
 
 S=${WORKDIR}/${PN}
+UPSTREAM_FSLDIR="/usr/share/fsl"
 
-src_prepare(){
-       epatch \
-               "${FILESDIR}/${PN}"-5.0.8-setup.patch \
-               "${FILESDIR}/${PN}"-5.0.8-headers.patch \
-               "${FILESDIR}/${PN}"-5.0.8-fsldir_redux.patch
+PATCHES=(
+       "${FILESDIR}/${PN}"-5.0.9-setup.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):" \
@@ -57,36 +60,28 @@ src_prepare(){
                -e "s:-L\${LIB_ZLIB}::" \
                ${makefilelist} || die
 
-       sed -i "s:\${FSLDIR}/bin/::g" \
-               $(grep -rl "\${FSLDIR}/bin" src/*) \
-               $(grep -rl "\${FSLDIR}/bin" etc/matlab/*)
-       sed -i "s:\$FSLDIR/bin/::g" \
-               $(grep -rl "\$FSLDIR/bin" src/*) \
-               $(grep -rl "\$FSLDIR/bin" etc/matlab/*)
-
-       sed -i "s:\$FSLDIR/data:${EPREFIX}/usr/share/fsl/data:g" \
-               $(grep -rl "\$FSLDIR/data" src/*)
+       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 -i "s:\${FSLDIR}/data:${EPREFIX}/usr/share/fsl/data:g" \
-               $(grep -rl "\${FSLDIR}/data" src/*)
+       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 -i "s:\$FSLDIR/etc:${EPREFIX}/etc:g" \
-               $(grep -rl "\$FSLDIR/etc" src/*)
+       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 -i "s:\${FSLDIR}/etc:${EPREFIX}/etc:g" \
-               $(grep -rl "\${FSLDIR}/etc" src/*)
+       sed -e "s:/usr/share/fsl/doc:${EPREFIX}/usr/share/fsl/doc:g" \
+               $(grep -rl "/usr/share/fsl/doc" src/*) || die
 
-       sed -i "s:\$FSLDIR/doc:${EPREFIX}/usr/share/fsl/doc:g" \
-               $(grep -rl "\$FSLDIR/doc" src/*)
-
-       sed -i "s:\${FSLDIR}/doc:${EPREFIX}/usr/share/fsl/doc:g" \
-               $(grep -rl "\${FSLDIR}/doc" src/*)
-
-       sed -i "s:\'\${FSLDIR}\'/doc:${EPREFIX}/usr/share/fsl/doc:g" \
-               $(grep -rl "\'\${FSLDIR}\'/doc" src/*)
-
-       sed -i -e "s:\$FSLDIR/etc:/etc:g" `grep -rlI \$FSLDIR/etc *`
-       default
+       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
 }
 
 src_compile() {
@@ -128,12 +123,13 @@ src_install() {
        #fi
 
        #the following is needed for FSL and depending programs to be able
-       #to find its files, since FSL uses an uncommon:
+       #to find its files, since FSL uses an uncommon installation path:
        #https://github.com/gentoo-science/sci/pull/612#r60289295
-       dosym /etc /usr/share/fsl/etc
-       dosym /usr/share/doc/${P} /usr/share/fsl/doc
+       dosym /etc ${UPSTREAM_FSLDIR}/etc
+       dosym /usr/share/doc/${PF} ${UPSTREAM_FSLDIR}/doc
+       dosym /usr/bin ${UPSTREAM_FSLDIR}/bin
 
-       doenvd "${FILESDIR}"/99fsl
+       doenvd "$(prefixify_ro "${FILESDIR}"/99fsl)"
        mv "${ED}"/usr/bin/{,fsl_}cluster || die
 }
 

Reply via email to