aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2022-01-14 21:36:21 +0100
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2022-01-14 21:36:21 +0100
commitea391932cb773a0305bcb60273dca6b59dfc331f (patch)
tree89187bb1d1f5beac59f175d150486b4e8c14c880 /sci-biology
parentdev-python/fslpy: add version 3.8.1 (diff)
downloadsci-ea391932cb773a0305bcb60273dca6b59dfc331f.tar.gz
sci-ea391932cb773a0305bcb60273dca6b59dfc331f.tar.bz2
sci-ea391932cb773a0305bcb60273dca6b59dfc331f.zip
sci-biology/fsl: add version 6.0.5
No keywords, compile fails, need patches Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/fsl/Manifest1
-rw-r--r--sci-biology/fsl/fsl-6.0.5.ebuild220
2 files changed, 221 insertions, 0 deletions
diff --git a/sci-biology/fsl/Manifest b/sci-biology/fsl/Manifest
index 868861b84..80c5aa7b8 100644
--- a/sci-biology/fsl/Manifest
+++ b/sci-biology/fsl/Manifest
@@ -1,2 +1,3 @@
DIST fsl-6.0.2.tar.gz 2505331864 BLAKE2B 0fbc23c788e0960e41a895f8eddd346e8facfae448c637eca18d39b142f8aabd9531427ce4ff97c634fdc5d16a74163947c7bade219a8900722815321144b41e SHA512 fe308393076c51c50b086f9bf7ff5ddebcf8b1284128e734b9d9e501019917ceba7c0ee5cd5aa1ed44452bcd042ad72653c1a8693f94eab9b83a80fe508a56ca
DIST fsl-6.0.4.tar.gz 2507673220 BLAKE2B 21e7437f8a3fde03ec6711b8022ee203ae159c07b5a3b998f37db768205d3335ffe9b28ad05b859e6bde4916933ea58e4e188012f147648f00fd6e6253ce1a12 SHA512 c65edcf5728920752e6dceea440dc2b528d007b7e4f56390a3d7eed91b1014457544563f699cae77f62c44cdfbdfcc5031265a5fd619fe0ecb99cad5653080d3
+DIST fsl-6.0.5.tar.gz 2509109593 BLAKE2B d1e5efbb6b73e2b40e7147dc4958584e057311084d2064335aae1c0a36cfab5e12061f3fac4f54118d840e66620b7e64a5dc4c32c0e0e3e6233c25cc3b48e6fd SHA512 e5124ae640f51002692de6ad9fdc3aec0e3caffc94dd18c16fadba686fa2a9bf37c7752e67affca53d9859cbab3e2e62ca28ef43c754c464bab5e182e55b02a1
diff --git a/sci-biology/fsl/fsl-6.0.5.ebuild b/sci-biology/fsl/fsl-6.0.5.ebuild
new file mode 100644
index 000000000..c51a9d30e
--- /dev/null
+++ b/sci-biology/fsl/fsl-6.0.5.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cuda toolchain-funcs prefix
+
+DESCRIPTION="Analysis of functional, structural, and diffusion MRI brain imaging data"
+HOMEPAGE="https://www.fmrib.ox.ac.uk/fsl"
+SRC_URI="https://fsl.fmrib.ox.ac.uk/fsldownloads/${P}-sources.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="FSL BSD-2 newmat"
+SLOT="0"
+KEYWORDS=""
+IUSE="cuda"
+
+DEPEND="
+ dev-cpp/libxmlpp:=
+ dev-cpp/tbb
+ dev-db/sqlite
+ dev-libs/boost
+ dev-libs/libfmt
+ dev-libs/libxml2
+ dev-libs/pugixml
+ >=dev-python/fslpy-3.7.0
+ media-gfx/graphviz
+ media-libs/gd
+ media-libs/glu
+ media-libs/libpng:0=
+ sci-libs/gsl
+ sci-libs/ciftilib
+ sci-libs/fftw
+ sci-libs/nlopt
+ sci-libs/vtk
+ sys-libs/zlib
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ >=virtual/lapack-3.8
+ >=virtual/blas-3.8
+ cuda? (
+ || (
+ ( =dev-util/nvidia-cuda-toolkit-11* =sys-devel/gcc-9*:* )
+ )
+ )
+ "
+RDEPEND="${DEPEND}"
+
+UPSTREAM_FSLDIR="/usr/share/fsl"
+
+PATCHES=(
+# "${FILESDIR}/${PN}"-6.0.4-gcc10_include.patch
+ "${FILESDIR}/${PN}"-6.0.4-setup.patch
+# "${FILESDIR}/${PN}"-6.0.2-no_xmlpp.patch
+# "${FILESDIR}/${PN}"-5.0.11-niftiio_var_fix.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.4-flameo_std.patch
+ "${FILESDIR}/${PN}"-6.0.4-melodic_std.patch
+ "${FILESDIR}/${PN}"-6.0.4-remove_fslpy_collisions-p1.patch
+ "${FILESDIR}/${PN}"-6.0.4-remove_fslpy_collisions-p2.patch
+# "${FILESDIR}/${PN}"-6.0.4-fdt_cuda.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 the hard way for now.
+# rm -r src/mist || die
+#
+# # Disable ptx2 for now
+# rm -r src/ptx2 || die
+#
+ 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 fslversion at buildtime
+ sed -e "s:/etc/fslversion:${S}/etc/fslversion:g" \
+ -i ${makefilelist} || die
+
+ if use cuda; then
+ einfo
+
+ gcc_ver=`gcc-fullversion`
+ einfo "GCC version: ${gcc_ver}"
+
+ cuda_gcc=`cuda_gccdir`
+ cuda_NVCC_flags=`cuda_gccdir -f`
+ einfo "CUDA GCC path: ${cuda_gcc}"
+ einfo " ${cuda_NVCC_flags}"
+
+ CUDA_INSTALLATION="/opt/cuda"
+ CUDAVER=`cuda_toolkit_version`
+
+ eapply "${FILESDIR}/${PN}-6.0.4-eddy_cuda.patch"
+ eapply "${FILESDIR}/${PN}-6.0.4-cuda_buildsettings.patch"
+
+ sed -i \
+ -e "s:@@GENTOO_NVCC_FLAGS@@:${cuda_NVCC_flags}:" \
+ src/eddy/Makefile || die
+
+ cuda_sanitize
+ fi
+}
+
+src_compile() {
+ export FSLDIR=${WORKDIR}/${PN}
+ 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)"
+ export CIFTILIBS="$($(tc-getPKG_CONFIG) --libs-only-l CiftiLib)"
+
+ if use cuda; then
+ einfo "CUDA_INSTALLATION: ${CUDA_INSTALLATION}"
+ einfo "CUDAVER: ${CUDAVER}"
+ fi
+
+ ./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
+}