summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rwxr-xr-xPKGBUILD113
1 files changed, 17 insertions, 96 deletions
diff --git a/PKGBUILD b/PKGBUILD
index fbaa3af33a87..eccdf3a74f22 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,114 +2,35 @@
# Contributor: fishburn <frankthefishburn@gmail.com>
pkgname=fsl
-pkgver=6.0.1
+pkgver=6.0.7.7
pkgrel=1
pkgdesc="A comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data"
arch=("x86_64")
url="http://www.fmrib.ox.ac.uk/fsl/"
-license=(custom)
-depends=(gd libxml2 libxml++2.6 gsl libpng nlopt newmat tcl tk zlib python glu boost-libs vtk sqlite python3 fslpy bc)
-makedepends=(boost fftw)
-optdepends=(cuda)
-source=("http://www.fmrib.ox.ac.uk/fsldownloads/fsl-${pkgver}-sources.tar.gz"
- "http://www.fmrib.ox.ac.uk/fsldownloads/fsl-${pkgver}-feeds.tar.gz"
- "externallibs.mk"
- "systemvars.mk"
- "imcp"
- "imglob"
- "immv"
- "001-use_distribution_environment.patch"
- "002-fix_meldata_usage_of_ifstream.patch"
- "003-fix_fsl_exec_empty_errorCode.patch")
+license=('custom')
+depends=('python')
+source=("fslinstaller.py")
+options=('!strip') # Added as it took hours to do this without substantial benefit
-sha256sums=('ccab9709239340299b0ca034cb00d6ce0170b9e0d075b3adb55c556feacfb2da'
- '91aa756d5a052702cc68e41bcc9a64ba7c7f8853feb215d5a44eeb710c4a0fd0'
- 'e3345af9d3a1bca157c3a5700c63c4d0e01da3cec525f8ffb8f1a04b048aeff1'
- '326c73cf0fb07ef9436ec31dda00f1e77488949152aa908b50aa4059701b2984'
- 'c61f185fbe7e297c4518e96377aa5ff4852f90eda0dbb9ae8edc5e24735e14ad'
- '7a1039cdc38b4d728f14efce3b0fda0cadc7bfcd3432556c3f3113985bf2720a'
- 'b6f61a6d5672b6684f19150f6e21ded1bd04ec6415dcf07a32291e4002bfa5d8'
- 'b59921d9b76c07da6c775d63d5fe99ca5069a15827aa7a3d44c2e5eb6f3638d6'
- '13d4cf35343e7a73bc2534c94b1b0d4db41c338d374e6982091e4cf7a421d420'
- '64b4ccefa63a3cf920b185dd52e94b918c24f2cedaebcec8efb767bd80a6418a')
-
-prepare() {
- cd "${srcdir}"
- export FSLDIR="${srcdir}/fsl"
- . "${FSLDIR}/etc/fslconf/fsl.sh"
- export FSLMACHTYPE=$(${FSLDIR}/etc/fslconf/fslmachtype.sh)
- mkdir "${FSLDIR}/config/${FSLMACHTYPE}"
- # Use config linux_64-gcc4.8 as template
- cp "${srcdir}"/{externallibs.mk,systemvars.mk} "${FSLDIR}/config/${FSLMACHTYPE}"
-
- # Apply patches
- patch -Np1 -i "${srcdir}/001-use_distribution_environment.patch"
- patch -Np1 -i "${srcdir}/002-fix_meldata_usage_of_ifstream.patch"
- # From https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=fsl;e8fa48c1.1501
- patch -Np1 -i "${srcdir}/003-fix_fsl_exec_empty_errorCode.patch"
-
- # Insert makepkg build flags into configuration
- sed -i '0,/${AccumulatedIncFlags}/{s^${AccumulatedIncFlags}^& '"${CFLAGS}"'^}' "${srcdir}/fsl/config/common/vars.mk"
- sed -i '0,/${AccumulatedIncFlags}/{s^${AccumulatedIncFlags}^& '"${CPPFLAGS}"'^}' "${srcdir}/fsl/config/common/vars.mk"
- sed -i '1,/${AccumulatedIncFlags}/!{s^${AccumulatedIncFlags}^& '"${CXXFLAGS}"'^}' "${srcdir}/fsl/config/common/vars.mk"
- sed -i '1,/${AccumulatedIncFlags}/!{s^${AccumulatedIncFlags}^& '"${CPPFLAGS}"'^}' "${srcdir}/fsl/config/common/vars.mk"
- sed -i 's^LDFLAGS = .*$^& '"${LDFLAGS}"'^g' "${srcdir}/fsl/config/common/vars.mk"
-}
+sha256sums=('3db63c9f53edc909b2264bd364c241d72945862726c305025694aae44e544b0c')
build() {
- export FSLDIR="${srcdir}/fsl"
- cd "${FSLDIR}"
- ./build
-
- # Install missing binaries, which are no longer shipped (depends on fslpy)
- /usr/bin/install -m 755 "${srcdir}"/{imcp,imglob,immv} "${srcdir}/fsl/bin"
-}
-
-check() {
- export FSLDIR="${srcdir}/fsl"
- export FEEDSDIR="${srcdir}/feeds"
- . "${FSLDIR}/etc/fslconf/fsl.sh"
- cd "${FEEDSDIR}"
- time ./RUN all
+ export TMPFSLDIR="${srcdir}/fsl"
+ mkdir -p "${TMPFSLDIR}"
+ /usr/bin/python3 "${srcdir}"/fslinstaller.py -n -o -d "${TMPFSLDIR}" -V "${pkgver}"
}
package() {
- rm -rf "${srcdir}/fsl/src"
- rm -rf "${srcdir}/fsl/extras/src"
- rm -rf "${srcdir}/fsl/extras/include"
- mkdir -p "${pkgdir}/opt/fsl"
-
- cp -r "${srcdir}/fsl/bin" "${pkgdir}/opt/fsl/"
- cp -r "${srcdir}/fsl/data" "${pkgdir}/opt/fsl/"
- cp -r "${srcdir}/fsl/doc" "${pkgdir}/opt/fsl/"
- cp -r "${srcdir}/fsl/etc" "${pkgdir}/opt/fsl/"
- cp -r "${srcdir}/fsl/extras" "${pkgdir}/opt/fsl/"
- cp -r "${srcdir}/fsl/lib" "${pkgdir}/opt/fsl/"
- cp -r "${srcdir}/fsl/refdoc" "${pkgdir}/opt/fsl/"
- cp -r "${srcdir}/fsl/tcl" "${pkgdir}/opt/fsl/"
- cp -r "${srcdir}/feeds" "${pkgdir}/opt/fsl/"
-
+ # Replace paths and move files in place
+ find "${TMPFSLDIR}" -type f -exec grep -Iq . {} \; -exec sed -i "s|${srcdir}|/opt|g" {} +
+ mkdir "${pkgdir}"/opt
+ mv "${TMPFSLDIR}" "${pkgdir}"/opt
+ # Copy license
+ mkdir -p "${pkgdir}"/usr/share/licenses/fsl
+ cp "${pkgdir}"/opt/fsl/LICENCE.FSL "${pkgdir}"/usr/share/licenses/fsl/LICENSE
+ # Setup shell environment
mkdir -p "${pkgdir}/etc/profile.d"
echo 'FSLDIR=/opt/fsl' > "${pkgdir}/etc/profile.d/fsl.sh"
echo '. ${FSLDIR}/etc/fslconf/fsl.sh' >> "${pkgdir}/etc/profile.d/fsl.sh"
echo 'export FSLDIR' >> "${pkgdir}/etc/profile.d/fsl.sh"
- echo 'export PATH=$PATH:${FSLDIR}/bin' >> "${pkgdir}/etc/profile.d/fsl.sh"
-
- mkdir -p "${pkgdir}/usr/share/licenses/fsl"
- grep -v \< "${srcdir}/fsl/doc/fsl/licence.html" | cat -s > "${pkgdir}/usr/share/licenses/fsl/LICENSE"
-
- # Fix permissions
- find "${pkgdir}" -type f -exec chmod 644 {} \;
- find "${pkgdir}" -type d -exec chmod 755 {} \;
- find "${pkgdir}/opt/fsl/bin" -exec chmod 755 {} \;
- find "${pkgdir}/opt/fsl/etc/fslconf" -exec chmod 755 {} \;
- chmod 755 "${pkgdir}/etc/profile.d/fsl.sh"
-
- mkdir -p "${pkgdir}/opt/fsl/feeds/results"
- chmod -R 777 "${pkgdir}/opt/fsl/feeds/results"
- chmod 755 "${pkgdir}/opt/fsl/feeds/RUN"
-
- # Clean up
- find "${pkgdir}" -empty -delete
- find "${pkgdir}" -type f -exec sed -i 's^/usr/local/fsl^/opt/fsl^g' "{}" \;
}