diff options
author | 2018-10-21 14:04:05 +1300 | |
---|---|---|
committer | 2018-10-21 16:29:38 +0200 | |
commit | c7f45b539af87c6ba4fe535181d5d4afa25baa66 (patch) | |
tree | 3c447e8f93af54e04d8221fea2aa982564fc4812 /sci-biology/fsl | |
parent | sci-libs/ciftilib: compatibility with nifti_io (diff) | |
download | sci-c7f45b539af87c6ba4fe535181d5d4afa25baa66.tar.gz sci-c7f45b539af87c6ba4fe535181d5d4afa25baa66.tar.bz2 sci-c7f45b539af87c6ba4fe535181d5d4afa25baa66.zip |
sci-biology/fsl: upstream bump
Package-Manager: Portage-2.3.49, Repoman-2.3.11
Signed-off-by: Horea Christian <horea.christ@yandex.com>
Diffstat (limited to 'sci-biology/fsl')
-rw-r--r-- | sci-biology/fsl/Manifest | 1 | ||||
-rw-r--r-- | sci-biology/fsl/files/fsl-5.0.11-fslsurface_parallel_make.patch | 14 | ||||
-rw-r--r-- | sci-biology/fsl/files/fsl-5.0.11-ifstream_use.patch | 13 | ||||
-rw-r--r-- | sci-biology/fsl/files/fsl-5.0.11-niftiio_var_fix.patch | 24 | ||||
-rw-r--r-- | sci-biology/fsl/files/fsl-5.0.11-no_xmlpp.patch | 44 | ||||
-rw-r--r-- | sci-biology/fsl/files/fsl-5.0.11-qstring_compat.patch | 63 | ||||
-rw-r--r-- | sci-biology/fsl/files/fsl-5.0.11-setup.patch | 158 | ||||
-rw-r--r-- | sci-biology/fsl/fsl-5.0.11.ebuild | 157 |
8 files changed, 474 insertions, 0 deletions
diff --git a/sci-biology/fsl/Manifest b/sci-biology/fsl/Manifest index 09d736ed3..4ba77f1e7 100644 --- a/sci-biology/fsl/Manifest +++ b/sci-biology/fsl/Manifest @@ -1,2 +1,3 @@ +DIST fsl-5.0.11.tar.gz 1507525689 BLAKE2B 212941aa6fb74c1c42f8b11d8e6803f1dfba50f1cdcb4092bfdf98d6832c552fcad59843a8db9e8887b98f86ce255fd9e80e3219a48286d7defe4544f0344225 SHA512 6f859723f8e4bd7e381761983f6423364180f5d3300cb165a3e57f3535d5301624ecb30c1796dae9579da5dd16e80a8a62d9994fec1caebf0835c2f6795ca055 DIST fsl-5.0.8-sources.tar.gz 1420879532 BLAKE2B fab46d286b9c083f31408e885235a72a195f14a1e863264e8cbff2b6cfb8c70ef335cafe58dff38141b1d027aef301e94212da4c9b6d3f4306ba60c81e19cec7 SHA512 8dedf13d633d71fa28c5dd6591fab4adda4893b76467affa6f58aee917ee3fdc83da07d8f505feb61ac2733de1bfb84f7f9ff74589756946be21cdb9f057f0f0 DIST fsl-5.0.9-sources.tar.gz 1491426239 BLAKE2B 310c4eb131856120f803d67f18e4d4e97df1ff22143bffa45be5f8abe31a01ce3df5a64abf5d065670b95394249a2f569a66a9cc22cd004b03e868e823d4555d SHA512 86a33084cf880ea1341ff8622eb13a364a462018a0fac55ee291dd8917e8453701db57f35529e144d419ea744397906b586b88acaf9a2dea0291fa3101ebb27d 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 +} |