From 0516106913f7ed118abec4bebd61fc0c81a3c80d Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Thu, 24 Nov 2022 13:56:49 +0100 Subject: [PATCH 01/14] Switch to universal binary and Qt6 --- build | 87 +++++++++++++++++++++++++---------------------------------- 1 file changed, 36 insertions(+), 51 deletions(-) diff --git a/build b/build index 346118a..3bd14c9 100755 --- a/build +++ b/build @@ -4,7 +4,7 @@ TAGNAME="$1" PATH=/bin:/sbin:/usr/bin:/usr/sbin export PATH -MACOSX_DEPLOYMENT_TARGET=10.13 +MACOSX_DEPLOYMENT_TARGET=10.14 export MACOSX_DEPLOYMENT_TARGET PLD=$(pwd) THREADS=$(sysctl -n hw.ncpu) @@ -14,38 +14,21 @@ if [ -f "${PREFIX}-build-deps.tar.gz" ]; then echo "Reusing previously built dependencies" tar xfz ${PREFIX}-build-deps.tar.gz else - # Grab latest versions from git EIGEN_VERSION=3.4.0 echo "Using eigen ${EIGEN_VERSION}" - TIFF_VERSION=$(git ls-remote --tags https://gitlab.com/libtiff/libtiff.git | awk '{print $2}' | grep -v '\^{}$' | grep -v alpha | grep -v beta | grep -v rc | grep v.* | sort -V | tail -1) - TIFF_VERSION=${TIFF_VERSION#*/*/v} + TIFF_VERSION=4.4.0 echo "Using tiff ${TIFF_VERSION}" - PNG_VERSION=$(git ls-remote --tags https://github.com/glennrp/libpng.git | awk '{print $2}' | grep -v '\^{}$' | grep -v alpha | grep -v beta | grep -v rc | grep v.* | sort -V | tail -1) - PNG_VERSION=${PNG_VERSION#*/*/v} + PNG_VERSION=1.6.38 echo "Using png ${PNG_VERSION}" - FFTW_VERSION=$(git ls-remote --tags https://github.com/FFTW/fftw3.git | awk '{print $2}' | grep -v '\^{}$' | grep -v alpha | grep -v beta | grep -v rc | grep 'fftw-3' | sort -V | tail -1) - FFTW_VERSION=${FFTW_VERSION#*/*/fftw-} + FFTW_VERSION=3.3.10 echo "Using fftw ${FFTW_VERSION}" - QT_VERSION=$(git ls-remote --tags https://code.qt.io/qt/qt5.git | awk '{print $2}' | grep -v '\^{}$' | grep -v alpha | grep -v beta | grep -v rc | grep -v '-' | grep '5.' | sort -V | tail -1) - QT_VERSION=${QT_VERSION#*/*/v} + QT_VERSION=6.4.1 echo "Using qt ${QT_VERSION}" - # EIGEN - SECONDS=0 - DNAME=eigen-${EIGEN_VERSION} - FNAME=eigen-${EIGEN_VERSION}.tar.bz2 - curl -s -O -L https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_VERSION}/${FNAME} - tar xf ${FNAME} - mkdir -p ${PREFIX}/include/ - cp -R ${DNAME}/Eigen ${PREFIX}/include - cp -R ${DNAME}/unsupported ${PREFIX}/include - rm -r ${FNAME} ${DNAME} - EIGEN_SECONDS=${SECONDS} - # TIFF SECONDS=0 DNAME=tiff-${TIFF_VERSION} @@ -53,7 +36,7 @@ else curl -s -O -L http://download.osgeo.org/libtiff/${FNAME} tar xf ${FNAME} cd ${DNAME} - ./configure -q -prefix ${PREFIX} --enable-shared=NO --without-x --disable-jpeg --disable-old-jpeg --disable-lzma --disable-zstd --disable-webp + CFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO --without-x --disable-jpeg --disable-old-jpeg --disable-lzma --disable-zstd --disable-webp make install > /dev/null cd .. rm -r ${FNAME} ${DNAME} @@ -66,7 +49,7 @@ else curl -s -O -L https://ftp.osuosl.org/pub/blfs/conglomeration/libpng/${FNAME} tar xf ${FNAME} cd ${DNAME} - ./configure -q -prefix ${PREFIX} --enable-shared=NO + CFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO make install > /dev/null cd .. rm -r ${FNAME} ${DNAME} @@ -79,43 +62,41 @@ else curl -s -O http://www.fftw.org/${FNAME} tar xf ${FNAME} cd ${DNAME} - if [ "$(arch)" != "arm64" ]; then - ./configure -q -prefix ${PREFIX} --disable-doc --disable-fortran --disable-debug --enable-threads --disable-dependency-tracking --enable-sse2 --enable-avx --enable-avx2 - else - ./configure -q -prefix ${PREFIX} --disable-doc --disable-fortran --disable-debug --enable-threads --disable-dependency-tracking - fi + CFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --disable-doc --disable-fortran --disable-debug --enable-threads --disable-dependency-tracking make install > /dev/null cd .. rm -r ${FNAME} ${DNAME} FFTW_SECONDS=${SECONDS} - # QT5 BASE + # EIGEN SECONDS=0 - DNAME=qtbase-everywhere-src-${QT_VERSION} - FNAME=${DNAME}.tar.xz - curl -s -O http://ftp1.nluug.nl/languages/qt/archive/qt/${QT_VERSION%.*}/${QT_VERSION}/submodules/${FNAME} + DNAME=eigen-${EIGEN_VERSION} + FNAME=eigen-${EIGEN_VERSION}.tar.bz2 + curl -s -O -L https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_VERSION}/${FNAME} tar xf ${FNAME} - cd ${DNAME} - curl -s -O https://raw.githubusercontent.com/wrobelda/vcpkg/99582d154236b0e7af70cadef8420c4f25829f61/ports/qt5-base/patches/cocoa.patch - patch -p1 < cocoa.patch - ./configure -opensource -confirm-license -release -no-dbus -no-openssl -no-harfbuzz -no-freetype -no-cups -no-framework -nomake examples -prefix ${PREFIX} - make -j ${THREADS} > /dev/null - make install > /dev/null - cd .. + mkdir -p ${PREFIX}/include/ + cp -R ${DNAME}/Eigen ${PREFIX}/include + cp -R ${DNAME}/unsupported ${PREFIX}/include + rm -r ${FNAME} ${DNAME} + EIGEN_SECONDS=${SECONDS} + + # QT5 BASE + SECONDS=0 + DNAME=${QT_VERSION} + FNAME=${QT_VERSION}-0-202211101256qtbase-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z + curl -s -O https://ftp1.nluug.nl/languages/qt/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/${FNAME} + /opt/homebrew/bin/7zz x ${FNAME} + cp -r 6.4.1/macos/* ${PREFIX}/ rm -r ${FNAME} ${DNAME} QTBASE_SECONDS=${SECONDS} # QT5 SVG SECONDS=0 - DNAME=qtsvg-everywhere-src-${QT_VERSION} - FNAME=${DNAME}.tar.xz - curl -s -O http://ftp1.nluug.nl/languages/qt/archive/qt/${QT_VERSION%.*}/${QT_VERSION}/submodules/${FNAME} - tar xf ${FNAME} - cd ${DNAME} - ${PREFIX}/bin/qmake - make -j ${THREADS} > /dev/null - make install > /dev/null - cd .. + DNAME=${QT_VERSION} + FNAME=${QT_VERSION}-0-202211101256qtsvg-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z + curl -s -O https://ftp1.nluug.nl/languages/qt/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/${FNAME} + /opt/homebrew/bin/7zz x ${FNAME} + cp -r 6.4.1/macos/* ${PREFIX}/ rm -r ${FNAME} ${DNAME} QTSVG_SECONDS=${SECONDS} @@ -127,7 +108,7 @@ SECONDS=0 git clone https://github.com/MRtrix3/mrtrix3.git mrtrix3-src -b ${TAGNAME} cd ${PREFIX}-src MRTRIX_VERSION=$(git describe --abbrev=8 | tr '-' '_') -CFLAGS="-I${PREFIX}/include" LINKFLAGS="-L${PREFIX}/lib" TIFF_LINKFLAGS="-ltiff" PATH=${PREFIX}/bin:${PATH} ./configure +CFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -I${PREFIX}/include" LINKFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -L${PREFIX}/lib" TIFF_LINKFLAGS="-ltiff" PATH=${PREFIX}/libexec:${PREFIX}/bin:${PATH} CXXSTD=c++17 ./configure NUMBER_OF_PROCESSORS=${THREADS} ./build cd .. MRTRIX_SECONDS=${SECONDS} @@ -140,7 +121,11 @@ cp -R ${PREFIX}-src/lib ${PREFIX} cp -R ${PREFIX}-src/share ${PREFIX} cp -R ${PREFIX}-src/matlab ${PREFIX} rm -rf ${PREFIX}-src -cp -a ${PREFIX}_dep/lib/libQt5{Core,Gui,OpenGL,PrintSupport,Network,Svg,Widgets}.*.dylib ${PREFIX}/lib +cp -a ${PREFIX}_dep/lib/Qt{Core,Gui,OpenGL,PrintSupport,Network,Svg,Widgets,OpenGLWidgets,DBus}.framework ${PREFIX}/lib +find ${PREFIX}/lib -name Headers -print0 | xargs -0 rm -rf +find ${PREFIX}/lib -name Current -print0 | xargs -0 rm -rf +rm -r ${PREFIX}/lib/*.framework/Qt* +rm -r ${PREFIX}/lib/*.framework/Resources mkdir -p ${PREFIX}/bin/plugins/{platforms,imageformats,styles} cp -a ${PREFIX}_dep/plugins/platforms/libqcocoa.dylib ${PREFIX}/bin/plugins/platforms cp -a ${PREFIX}_dep/plugins/imageformats/libqsvg.dylib ${PREFIX}/bin/plugins/imageformats From aa11661f990fe6a99361a953f4d3a97fbc61754e Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Thu, 24 Nov 2022 15:34:44 +0100 Subject: [PATCH 02/14] Update minimal macos version and copyright --- MRView.app/Contents/Info.plist | 4 ++-- SHView.app/Contents/Info.plist | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MRView.app/Contents/Info.plist b/MRView.app/Contents/Info.plist index 77cd498..fcf9e59 100755 --- a/MRView.app/Contents/Info.plist +++ b/MRView.app/Contents/Info.plist @@ -12,8 +12,8 @@ CFBundlePackageType APPL CFBundleShortVersionString 3.0 CFBundleVersion 3.0 - NSHumanReadableCopyright Copyright (c) 2008-2020 the MRtrix3 contributors - LSMinimumSystemVersion 10.13.0 + NSHumanReadableCopyright Copyright (c) 2008-2022 the MRtrix3 contributors + LSMinimumSystemVersion 10.14.0 LSBackgroundOnly 0 NSHighResolutionCapable diff --git a/SHView.app/Contents/Info.plist b/SHView.app/Contents/Info.plist index a763663..5b2ce11 100755 --- a/SHView.app/Contents/Info.plist +++ b/SHView.app/Contents/Info.plist @@ -12,8 +12,8 @@ CFBundlePackageType APPL CFBundleShortVersionString 3.0 CFBundleVersion 3.0 - NSHumanReadableCopyright Copyright (c) 2008-2020 the MRtrix3 contributors - LSMinimumSystemVersion 10.13.0 + NSHumanReadableCopyright Copyright (c) 2008-2022 the MRtrix3 contributors + LSMinimumSystemVersion 10.14.0 LSBackgroundOnly 0 NSHighResolutionCapable From 6f51f78352e63ae60b1a13078928a4c025449f4c Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Thu, 24 Nov 2022 15:35:21 +0100 Subject: [PATCH 03/14] Use variable for architectures to compile --- build | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build b/build index 3bd14c9..a26f151 100755 --- a/build +++ b/build @@ -2,6 +2,7 @@ TAGNAME="$1" +ARCHS="-arch x86_64 -arch arm64" PATH=/bin:/sbin:/usr/bin:/usr/sbin export PATH MACOSX_DEPLOYMENT_TARGET=10.14 @@ -36,7 +37,7 @@ else curl -s -O -L http://download.osgeo.org/libtiff/${FNAME} tar xf ${FNAME} cd ${DNAME} - CFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO --without-x --disable-jpeg --disable-old-jpeg --disable-lzma --disable-zstd --disable-webp + CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO --without-x --disable-jpeg --disable-old-jpeg --disable-lzma --disable-zstd --disable-webp make install > /dev/null cd .. rm -r ${FNAME} ${DNAME} @@ -49,7 +50,7 @@ else curl -s -O -L https://ftp.osuosl.org/pub/blfs/conglomeration/libpng/${FNAME} tar xf ${FNAME} cd ${DNAME} - CFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO + CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO make install > /dev/null cd .. rm -r ${FNAME} ${DNAME} @@ -62,7 +63,7 @@ else curl -s -O http://www.fftw.org/${FNAME} tar xf ${FNAME} cd ${DNAME} - CFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --disable-doc --disable-fortran --disable-debug --enable-threads --disable-dependency-tracking + CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --disable-doc --disable-fortran --disable-debug --enable-threads --disable-dependency-tracking make install > /dev/null cd .. rm -r ${FNAME} ${DNAME} @@ -108,7 +109,7 @@ SECONDS=0 git clone https://github.com/MRtrix3/mrtrix3.git mrtrix3-src -b ${TAGNAME} cd ${PREFIX}-src MRTRIX_VERSION=$(git describe --abbrev=8 | tr '-' '_') -CFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -I${PREFIX}/include" LINKFLAGS="-arch arm64 -arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -L${PREFIX}/lib" TIFF_LINKFLAGS="-ltiff" PATH=${PREFIX}/libexec:${PREFIX}/bin:${PATH} CXXSTD=c++17 ./configure +CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -I${PREFIX}/include" LINKFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -L${PREFIX}/lib" TIFF_LINKFLAGS="-ltiff" PATH=${PREFIX}/libexec:${PREFIX}/bin:${PATH} CXXSTD=c++17 ./configure NUMBER_OF_PROCESSORS=${THREADS} ./build cd .. MRTRIX_SECONDS=${SECONDS} From 5818b639315ddb72b57f93496db5d84d9c814a44 Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Thu, 24 Nov 2022 15:58:40 +0100 Subject: [PATCH 04/14] Avoid 7z dependency --- build | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/build b/build index a26f151..cfc3fb5 100755 --- a/build +++ b/build @@ -81,12 +81,19 @@ else rm -r ${FNAME} ${DNAME} EIGEN_SECONDS=${SECONDS} + # 7Z + FNAME=7z2107-mac.tar.xz + curl -s -O https://www.7-zip.org/a/${FNAME} + tar xvfz ${FNAME} 7zz + mv 7zz ${PREFIX}/bin/ + rm ${FNAME} + # QT5 BASE SECONDS=0 DNAME=${QT_VERSION} FNAME=${QT_VERSION}-0-202211101256qtbase-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z curl -s -O https://ftp1.nluug.nl/languages/qt/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/${FNAME} - /opt/homebrew/bin/7zz x ${FNAME} + ${PREFIX}/bin/7zz x ${FNAME} cp -r 6.4.1/macos/* ${PREFIX}/ rm -r ${FNAME} ${DNAME} QTBASE_SECONDS=${SECONDS} @@ -96,7 +103,7 @@ else DNAME=${QT_VERSION} FNAME=${QT_VERSION}-0-202211101256qtsvg-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z curl -s -O https://ftp1.nluug.nl/languages/qt/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/${FNAME} - /opt/homebrew/bin/7zz x ${FNAME} + ${PREFIX}/bin/7zz x ${FNAME} cp -r 6.4.1/macos/* ${PREFIX}/ rm -r ${FNAME} ${DNAME} QTSVG_SECONDS=${SECONDS} From f6125602b253328e90ac0d5cfff692d971bcc1a7 Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Thu, 24 Nov 2022 17:28:25 +0100 Subject: [PATCH 05/14] Use libpng bundled with Qt --- build | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/build b/build index cfc3fb5..eccc3b7 100755 --- a/build +++ b/build @@ -21,9 +21,6 @@ else TIFF_VERSION=4.4.0 echo "Using tiff ${TIFF_VERSION}" - PNG_VERSION=1.6.38 - echo "Using png ${PNG_VERSION}" - FFTW_VERSION=3.3.10 echo "Using fftw ${FFTW_VERSION}" @@ -43,19 +40,6 @@ else rm -r ${FNAME} ${DNAME} TIFF_SECONDS=${SECONDS} - # PNG - SECONDS=0 - DNAME=libpng-${PNG_VERSION} - FNAME=${DNAME}.tar.xz - curl -s -O -L https://ftp.osuosl.org/pub/blfs/conglomeration/libpng/${FNAME} - tar xf ${FNAME} - cd ${DNAME} - CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO - make install > /dev/null - cd .. - rm -r ${FNAME} ${DNAME} - PNG_SECONDS=${SECONDS} - # FFTW SECONDS=0 DNAME=fftw-${FFTW_VERSION} @@ -88,7 +72,7 @@ else mv 7zz ${PREFIX}/bin/ rm ${FNAME} - # QT5 BASE + # QT6 BASE SECONDS=0 DNAME=${QT_VERSION} FNAME=${QT_VERSION}-0-202211101256qtbase-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z @@ -98,7 +82,7 @@ else rm -r ${FNAME} ${DNAME} QTBASE_SECONDS=${SECONDS} - # QT5 SVG + # QT6 SVG SECONDS=0 DNAME=${QT_VERSION} FNAME=${QT_VERSION}-0-202211101256qtsvg-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z @@ -116,7 +100,7 @@ SECONDS=0 git clone https://github.com/MRtrix3/mrtrix3.git mrtrix3-src -b ${TAGNAME} cd ${PREFIX}-src MRTRIX_VERSION=$(git describe --abbrev=8 | tr '-' '_') -CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -I${PREFIX}/include" LINKFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -L${PREFIX}/lib" TIFF_LINKFLAGS="-ltiff" PATH=${PREFIX}/libexec:${PREFIX}/bin:${PATH} CXXSTD=c++17 ./configure +CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -I${PREFIX}/include" LINKFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -L${PREFIX}/lib" PNG_CFLAGS="-I${PREFIX}/include/QtPng" PNG_LINKFLAGS="-lQt6BundledLibpng" TIFF_LINKFLAGS="-ltiff" PATH=${PREFIX}/libexec:${PREFIX}/bin:${PATH} CXXSTD=c++17 ./configure NUMBER_OF_PROCESSORS=${THREADS} ./build cd .. MRTRIX_SECONDS=${SECONDS} @@ -158,7 +142,6 @@ TOTAL_SECONDS=$((EIGEN_SECONDS + TIFF_SECONDS + PNG_SECONDS + FFTW_SECONDS + QTB if [[ ! -n "$DEPCACHE" ]]; then echo "eigen ${EIGEN_VERSION}: ${EIGEN_SECONDS} s" echo "tiff ${TIFF_VERSION}: ${TIFF_SECONDS} s" - echo "png ${PNG_VERSION}: ${PNG_SECONDS} s" echo "fftw ${FFTW_VERSION}: ${FFTW_SECONDS} s" echo "qtbase ${QT_VERSION}: ${QTBASE_SECONDS} s" echo "qtsvg ${QT_VERSION}: ${QTSVG_SECONDS} s" From 508a485bea2151c99b8cf59e57ced0c2877bb9fc Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Tue, 10 Jan 2023 10:32:08 +0100 Subject: [PATCH 06/14] Update Info.plist --- SHView.app/Contents/Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SHView.app/Contents/Info.plist b/SHView.app/Contents/Info.plist index 5b2ce11..8781820 100755 --- a/SHView.app/Contents/Info.plist +++ b/SHView.app/Contents/Info.plist @@ -12,7 +12,7 @@ CFBundlePackageType APPL CFBundleShortVersionString 3.0 CFBundleVersion 3.0 - NSHumanReadableCopyright Copyright (c) 2008-2022 the MRtrix3 contributors + NSHumanReadableCopyright Copyright (c) 2008-2023 the MRtrix3 contributors LSMinimumSystemVersion 10.14.0 LSBackgroundOnly 0 NSHighResolutionCapable From b3adc7b5ddc94d1061ffbf6f4376faad8ef5ea6a Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Tue, 10 Jan 2023 10:32:25 +0100 Subject: [PATCH 07/14] Update Info.plist --- MRView.app/Contents/Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MRView.app/Contents/Info.plist b/MRView.app/Contents/Info.plist index fcf9e59..56b853a 100755 --- a/MRView.app/Contents/Info.plist +++ b/MRView.app/Contents/Info.plist @@ -12,7 +12,7 @@ CFBundlePackageType APPL CFBundleShortVersionString 3.0 CFBundleVersion 3.0 - NSHumanReadableCopyright Copyright (c) 2008-2022 the MRtrix3 contributors + NSHumanReadableCopyright Copyright (c) 2008-2023 the MRtrix3 contributors LSMinimumSystemVersion 10.14.0 LSBackgroundOnly 0 NSHighResolutionCapable From ee092ae72fdb8b369c15ecf63d95e9a6330d410f Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Wed, 11 Jan 2023 20:17:28 +0100 Subject: [PATCH 08/14] Build fftw3 separately for arm64 and x86_64 to allow simd --- build | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/build b/build index eccc3b7..e9a631a 100755 --- a/build +++ b/build @@ -18,7 +18,7 @@ else EIGEN_VERSION=3.4.0 echo "Using eigen ${EIGEN_VERSION}" - TIFF_VERSION=4.4.0 + TIFF_VERSION=4.5.0 echo "Using tiff ${TIFF_VERSION}" FFTW_VERSION=3.3.10 @@ -34,9 +34,11 @@ else curl -s -O -L http://download.osgeo.org/libtiff/${FNAME} tar xf ${FNAME} cd ${DNAME} - CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO --without-x --disable-jpeg --disable-old-jpeg --disable-lzma --disable-zstd --disable-webp + CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO --without-x --disable-jpeg --disable-old-jpeg --disable-lzma --disable-zstd --disable-webp --disable-cxx make install > /dev/null - cd .. + rm -r ${PREFIX}/{bin,share} + rm -r ${PREFIX}/lib/{pkgconfig,*.la} + cd .. rm -r ${FNAME} ${DNAME} TIFF_SECONDS=${SECONDS} @@ -45,12 +47,24 @@ else DNAME=fftw-${FFTW_VERSION} FNAME=${DNAME}.tar.gz curl -s -O http://www.fftw.org/${FNAME} - tar xf ${FNAME} - cd ${DNAME} - CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --disable-doc --disable-fortran --disable-debug --enable-threads --disable-dependency-tracking - make install > /dev/null - cd .. - rm -r ${FNAME} ${DNAME} + for ARCH in x86_64 arm64; do + echo "building FFTW for ${ARCH}" + SIMD="" + if [ "${ARCH}" = "x86_64" ]; then + SIMD="--enable-sse2 --enable-avx --enable-avx2" + fi + tar xf ${FNAME} + mv ${DNAME} ${DNAME}-${ARCH} + cd ${DNAME}-${ARCH} + CFLAGS="-arch ${ARCH} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX}-${ARCH} --disable-doc --disable-fortran --disable-debug --disable-threads --disable-dependency-tracking ${SIMD} + make install > /dev/null + cd .. + rm -r ${DNAME}-${ARCH} + done + cp ${PREFIX}-x86_64/include/fftw3.h ${PREFIX}/include/fftw3.h + libtool -static ${PREFIX}-*/lib/libfftw3.a -o ${PREFIX}/lib/libfftw3.a + rm -r ${PREFIX}-*/ + rm ${FNAME} FFTW_SECONDS=${SECONDS} # EIGEN @@ -69,6 +83,7 @@ else FNAME=7z2107-mac.tar.xz curl -s -O https://www.7-zip.org/a/${FNAME} tar xvfz ${FNAME} 7zz + mkdir -p ${PREFIX}/bin mv 7zz ${PREFIX}/bin/ rm ${FNAME} @@ -77,7 +92,7 @@ else DNAME=${QT_VERSION} FNAME=${QT_VERSION}-0-202211101256qtbase-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z curl -s -O https://ftp1.nluug.nl/languages/qt/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/${FNAME} - ${PREFIX}/bin/7zz x ${FNAME} + ${PREFIX}/bin/7zz x ${FNAME} > /dev/null cp -r 6.4.1/macos/* ${PREFIX}/ rm -r ${FNAME} ${DNAME} QTBASE_SECONDS=${SECONDS} @@ -87,7 +102,7 @@ else DNAME=${QT_VERSION} FNAME=${QT_VERSION}-0-202211101256qtsvg-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z curl -s -O https://ftp1.nluug.nl/languages/qt/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/${FNAME} - ${PREFIX}/bin/7zz x ${FNAME} + ${PREFIX}/bin/7zz x ${FNAME} > /dev/null cp -r 6.4.1/macos/* ${PREFIX}/ rm -r ${FNAME} ${DNAME} QTSVG_SECONDS=${SECONDS} From 6f3ede1697952919609b341c0aae800ecd8ccb6d Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Thu, 12 Jan 2023 00:07:21 +0100 Subject: [PATCH 09/14] Avoid hardcoding path to QT6 downloads --- build | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/build b/build index e9a631a..409b9cf 100755 --- a/build +++ b/build @@ -87,24 +87,26 @@ else mv 7zz ${PREFIX}/bin/ rm ${FNAME} + # QT6 GENERIC + QT_MIRROR=https://ftp1.nluug.nl/languages/qt + QT_URL=${QT_MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_${QT_VERSION//./}/qt.qt6.${QT_VERSION//./}.clang_64/ + # QT6 BASE SECONDS=0 - DNAME=${QT_VERSION} - FNAME=${QT_VERSION}-0-202211101256qtbase-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z - curl -s -O https://ftp1.nluug.nl/languages/qt/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/${FNAME} + FNAME=$(curl -s -L ${QT_URL} | grep -o -E "[[:alnum:]_.\-]*7z" | grep qtbase | tail -1) + curl -s -O ${QT_URL}/${FNAME} ${PREFIX}/bin/7zz x ${FNAME} > /dev/null - cp -r 6.4.1/macos/* ${PREFIX}/ - rm -r ${FNAME} ${DNAME} + cp -r ${QT_VERSION}/macos/* ${PREFIX}/ + rm -r ${FNAME} ${QT_VERSION} QTBASE_SECONDS=${SECONDS} # QT6 SVG SECONDS=0 - DNAME=${QT_VERSION} - FNAME=${QT_VERSION}-0-202211101256qtsvg-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z - curl -s -O https://ftp1.nluug.nl/languages/qt/online/qtsdkrepository/mac_x64/desktop/qt6_641/qt.qt6.641.clang_64/${FNAME} + FNAME=$(curl -s -L ${QT_URL} | grep -o -E "[[:alnum:]_.\-]*7z" | grep qtsvg | tail -1) + curl -s -O ${QT_URL}/${FNAME} ${PREFIX}/bin/7zz x ${FNAME} > /dev/null - cp -r 6.4.1/macos/* ${PREFIX}/ - rm -r ${FNAME} ${DNAME} + cp -r ${QT_VERSION}/macos/* ${PREFIX}/ + rm -r ${FNAME} ${QT_VERSION} QTSVG_SECONDS=${SECONDS} tar cpfz ${PREFIX}-build-deps.tar.gz mrtrix3 From 29adb8d5d97cf08b7fcbd760307c1adffbd0dc9d Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Thu, 12 Jan 2023 00:19:17 +0100 Subject: [PATCH 10/14] Simplify installation of Qt6 --- build | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/build b/build index 409b9cf..c5826d3 100755 --- a/build +++ b/build @@ -87,27 +87,19 @@ else mv 7zz ${PREFIX}/bin/ rm ${FNAME} - # QT6 GENERIC + # QT6 + SECONDS=0 QT_MIRROR=https://ftp1.nluug.nl/languages/qt QT_URL=${QT_MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_${QT_VERSION//./}/qt.qt6.${QT_VERSION//./}.clang_64/ - - # QT6 BASE - SECONDS=0 - FNAME=$(curl -s -L ${QT_URL} | grep -o -E "[[:alnum:]_.\-]*7z" | grep qtbase | tail -1) - curl -s -O ${QT_URL}/${FNAME} - ${PREFIX}/bin/7zz x ${FNAME} > /dev/null - cp -r ${QT_VERSION}/macos/* ${PREFIX}/ - rm -r ${FNAME} ${QT_VERSION} - QTBASE_SECONDS=${SECONDS} - - # QT6 SVG - SECONDS=0 - FNAME=$(curl -s -L ${QT_URL} | grep -o -E "[[:alnum:]_.\-]*7z" | grep qtsvg | tail -1) - curl -s -O ${QT_URL}/${FNAME} - ${PREFIX}/bin/7zz x ${FNAME} > /dev/null + for QT_COMPONENT in qtbase qtsvg; do + FNAME=$(curl -s -L ${QT_URL} | grep -o -E "[[:alnum:]_.\-]*7z" | grep ${QT_COMPONENT} | tail -1) + curl -s -O ${QT_URL}/${FNAME} + ${PREFIX}/bin/7zz x ${FNAME} > /dev/null + rm ${FNAME} + done cp -r ${QT_VERSION}/macos/* ${PREFIX}/ - rm -r ${FNAME} ${QT_VERSION} - QTSVG_SECONDS=${SECONDS} + rm -r ${QT_VERSION} + QT_SECONDS=${SECONDS} tar cpfz ${PREFIX}-build-deps.tar.gz mrtrix3 fi @@ -155,13 +147,12 @@ cd ${PREFIX}/.. tar cfz mrtrix3-macos-${TAGNAME}.tar.gz mrtrix3 rm -rf ${PREFIX} -TOTAL_SECONDS=$((EIGEN_SECONDS + TIFF_SECONDS + PNG_SECONDS + FFTW_SECONDS + QTBASE_SECONDS + QTSVG_SECONDS + MRTRIX_SECONDS)) +TOTAL_SECONDS=$((EIGEN_SECONDS + TIFF_SECONDS + FFTW_SECONDS + QT_SECONDS + MRTRIX_SECONDS)) if [[ ! -n "$DEPCACHE" ]]; then echo "eigen ${EIGEN_VERSION}: ${EIGEN_SECONDS} s" echo "tiff ${TIFF_VERSION}: ${TIFF_SECONDS} s" echo "fftw ${FFTW_VERSION}: ${FFTW_SECONDS} s" - echo "qtbase ${QT_VERSION}: ${QTBASE_SECONDS} s" - echo "qtsvg ${QT_VERSION}: ${QTSVG_SECONDS} s" + echo "qt ${QT_VERSION}: ${QT_SECONDS} s" fi echo "mrtrix ${MRTRIX_VERSION}: ${MRTRIX_SECONDS} s" echo "total : ${TOTAL_SECONDS} s" From ccd6a741979c4f22a71768c6386ba636e4d1b96d Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Wed, 17 May 2023 22:32:28 +0200 Subject: [PATCH 11/14] Add linux support --- build | 152 ++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 90 insertions(+), 62 deletions(-) diff --git a/build b/build index c5826d3..dc9fe7e 100755 --- a/build +++ b/build @@ -2,67 +2,71 @@ TAGNAME="$1" -ARCHS="-arch x86_64 -arch arm64" -PATH=/bin:/sbin:/usr/bin:/usr/sbin +PATH=$(getconf PATH) export PATH -MACOSX_DEPLOYMENT_TARGET=10.14 -export MACOSX_DEPLOYMENT_TARGET + +EIGEN_VERSION=3.4.0 +FFTW_VERSION=3.3.10 +QT_VERSION=6.4.1 + +if [ "$(uname)" = "Linux" ]; then + OS=linux +fi +if [ "$(uname)" = "Darwin" ]; then + OS=macos +fi + + +ARCHS="x86_64" +THREADS=$(getconf _NPROCESSORS_ONLN) +if [ "${OS}" = "macos" ]; then + ARCHS="x86_64 arm64" + MACOS_ARCHS="-arch x86_64 -arch arm64" + MACOSX_DEPLOYMENT_TARGET=10.14 + export MACOSX_DEPLOYMENT_TARGET + MACOSX_VERSION_MIN="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" +fi + PLD=$(pwd) -THREADS=$(sysctl -n hw.ncpu) PREFIX=${PLD}/mrtrix3 -if [ -f "${PREFIX}-build-deps.tar.gz" ]; then +if [ -f "${PREFIX}-${OS}-build-deps.tar.gz" ]; then DEPCACHE=1 echo "Reusing previously built dependencies" - tar xfz ${PREFIX}-build-deps.tar.gz + tar xfz ${PREFIX}-${OS}-build-deps.tar.gz else - EIGEN_VERSION=3.4.0 - echo "Using eigen ${EIGEN_VERSION}" - - TIFF_VERSION=4.5.0 - echo "Using tiff ${TIFF_VERSION}" - - FFTW_VERSION=3.3.10 echo "Using fftw ${FFTW_VERSION}" - - QT_VERSION=6.4.1 + echo "Using eigen ${EIGEN_VERSION}" echo "Using qt ${QT_VERSION}" - # TIFF - SECONDS=0 - DNAME=tiff-${TIFF_VERSION} - FNAME=${DNAME}.tar.gz - curl -s -O -L http://download.osgeo.org/libtiff/${FNAME} - tar xf ${FNAME} - cd ${DNAME} - CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX} --enable-shared=NO --without-x --disable-jpeg --disable-old-jpeg --disable-lzma --disable-zstd --disable-webp --disable-cxx - make install > /dev/null - rm -r ${PREFIX}/{bin,share} - rm -r ${PREFIX}/lib/{pkgconfig,*.la} - cd .. - rm -r ${FNAME} ${DNAME} - TIFF_SECONDS=${SECONDS} - # FFTW SECONDS=0 DNAME=fftw-${FFTW_VERSION} FNAME=${DNAME}.tar.gz curl -s -O http://www.fftw.org/${FNAME} - for ARCH in x86_64 arm64; do + for ARCH in ${ARCHS}; do echo "building FFTW for ${ARCH}" SIMD="" if [ "${ARCH}" = "x86_64" ]; then SIMD="--enable-sse2 --enable-avx --enable-avx2" fi + if [ "${OS}" = "macos" ]; then + MACOS_ARCH="-arch ${ARCH}" + fi tar xf ${FNAME} mv ${DNAME} ${DNAME}-${ARCH} cd ${DNAME}-${ARCH} - CFLAGS="-arch ${ARCH} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" ./configure -q -prefix ${PREFIX}-${ARCH} --disable-doc --disable-fortran --disable-debug --disable-threads --disable-dependency-tracking ${SIMD} + CFLAGS="${MACOS_ARCH} ${MACOSX_VERSION_MIN}" ./configure -q -prefix ${PREFIX}-${ARCH} --disable-doc --disable-fortran --disable-debug --disable-threads --disable-dependency-tracking ${SIMD} make install > /dev/null cd .. rm -r ${DNAME}-${ARCH} done + mkdir -p ${PREFIX}/{include,lib} cp ${PREFIX}-x86_64/include/fftw3.h ${PREFIX}/include/fftw3.h - libtool -static ${PREFIX}-*/lib/libfftw3.a -o ${PREFIX}/lib/libfftw3.a + if [ "${OS}" = "macos" ]; then + libtool -static ${PREFIX}-*/lib/libfftw3.a -o ${PREFIX}/lib/libfftw3.a + else + cp -a ${PREFIX}-x86_64/lib/libfftw3.a ${PREFIX}/lib/libfftw3.a + fi rm -r ${PREFIX}-*/ rm ${FNAME} FFTW_SECONDS=${SECONDS} @@ -80,9 +84,14 @@ else EIGEN_SECONDS=${SECONDS} # 7Z - FNAME=7z2107-mac.tar.xz + if [ "${OS}" = "linux" ]; then + FNAME=7z2201-linux-x64.tar.xz + fi + if [ "${OS}" = "macos" ]; then + FNAME=7z2107-mac.tar.xz + fi curl -s -O https://www.7-zip.org/a/${FNAME} - tar xvfz ${FNAME} 7zz + tar xf ${FNAME} 7zz mkdir -p ${PREFIX}/bin mv 7zz ${PREFIX}/bin/ rm ${FNAME} @@ -90,18 +99,27 @@ else # QT6 SECONDS=0 QT_MIRROR=https://ftp1.nluug.nl/languages/qt - QT_URL=${QT_MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_${QT_VERSION//./}/qt.qt6.${QT_VERSION//./}.clang_64/ - for QT_COMPONENT in qtbase qtsvg; do + + if [ "${OS}" = "linux" ]; then + QT_URL=${QT_MIRROR}/online/qtsdkrepository/linux_x64/desktop/qt6_${QT_VERSION//./}/qt.qt6.${QT_VERSION//./}.gcc_64/ + QT_COMPONENTS="qtbase qtsvg icu wayland" + fi + if [ "${OS}" = "macos" ]; then + QT_URL=${QT_MIRROR}/online/qtsdkrepository/mac_x64/desktop/qt6_${QT_VERSION//./}/qt.qt6.${QT_VERSION//./}.clang_64/ + QT_COMPONENTS="qtbase qtsvg" + fi + for QT_COMPONENT in ${QT_COMPONENTS}; do FNAME=$(curl -s -L ${QT_URL} | grep -o -E "[[:alnum:]_.\-]*7z" | grep ${QT_COMPONENT} | tail -1) curl -s -O ${QT_URL}/${FNAME} ${PREFIX}/bin/7zz x ${FNAME} > /dev/null rm ${FNAME} done - cp -r ${QT_VERSION}/macos/* ${PREFIX}/ + ls ${QT_VERSION} + cp -a ${QT_VERSION}/*/* ${PREFIX}/ rm -r ${QT_VERSION} QT_SECONDS=${SECONDS} - tar cpfz ${PREFIX}-build-deps.tar.gz mrtrix3 + tar cpfz ${PREFIX}-${OS}-build-deps.tar.gz mrtrix3 fi # MRTRIX3 @@ -109,7 +127,7 @@ SECONDS=0 git clone https://github.com/MRtrix3/mrtrix3.git mrtrix3-src -b ${TAGNAME} cd ${PREFIX}-src MRTRIX_VERSION=$(git describe --abbrev=8 | tr '-' '_') -CFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -I${PREFIX}/include" LINKFLAGS="${ARCHS} -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -L${PREFIX}/lib" PNG_CFLAGS="-I${PREFIX}/include/QtPng" PNG_LINKFLAGS="-lQt6BundledLibpng" TIFF_LINKFLAGS="-ltiff" PATH=${PREFIX}/libexec:${PREFIX}/bin:${PATH} CXXSTD=c++17 ./configure +CFLAGS="${MACOS_ARCHS} ${MACOSX_VERSION_MIN} -I${PREFIX}/include" LINKFLAGS="${MACOS_ARCHS} ${MACOSX_VERSION_MIN} -L${PREFIX}/lib" PNG_CFLAGS="-I${PREFIX}/include/QtPng" PNG_LINKFLAGS="-lQt6BundledLibpng" PATH=${PREFIX}/libexec:${PREFIX}/bin:${PATH} CXXSTD=c++17 ./configure NUMBER_OF_PROCESSORS=${THREADS} ./build cd .. MRTRIX_SECONDS=${SECONDS} @@ -122,36 +140,46 @@ cp -R ${PREFIX}-src/lib ${PREFIX} cp -R ${PREFIX}-src/share ${PREFIX} cp -R ${PREFIX}-src/matlab ${PREFIX} rm -rf ${PREFIX}-src -cp -a ${PREFIX}_dep/lib/Qt{Core,Gui,OpenGL,PrintSupport,Network,Svg,Widgets,OpenGLWidgets,DBus}.framework ${PREFIX}/lib -find ${PREFIX}/lib -name Headers -print0 | xargs -0 rm -rf -find ${PREFIX}/lib -name Current -print0 | xargs -0 rm -rf -rm -r ${PREFIX}/lib/*.framework/Qt* -rm -r ${PREFIX}/lib/*.framework/Resources -mkdir -p ${PREFIX}/bin/plugins/{platforms,imageformats,styles} -cp -a ${PREFIX}_dep/plugins/platforms/libqcocoa.dylib ${PREFIX}/bin/plugins/platforms -cp -a ${PREFIX}_dep/plugins/imageformats/libqsvg.dylib ${PREFIX}/bin/plugins/imageformats -cp -a ${PREFIX}_dep/plugins/styles/libqmacstyle.dylib ${PREFIX}/bin/plugins/styles + +if [ "${OS}" = "linux" ]; then + cp -a ${PREFIX}_dep/lib/libicu* ${PREFIX}/lib + cp -a ${PREFIX}_dep/lib/libQt6{Core,DBus,Gui,Network,OpenGL,Svg,Wayland,Widgets,XcbQpa}* ${PREFIX}/lib + mkdir -p ${PREFIX}/plugins + cp -a ${PREFIX}_dep/plugins/{imageformats,platforms,wayland-decoration-client,wayland-graphics-integration-client,wayland-shell-integration,xcbglintegrations} ${PREFIX}/plugins +fi +if [ "${OS}" = "macos" ]; then + cp -a ${PREFIX}_dep/lib/Qt{Core,Gui,OpenGL,PrintSupport,Network,Svg,Widgets,OpenGLWidgets,DBus}.framework ${PREFIX}/lib + find ${PREFIX}/lib -name Headers -print0 | xargs -0 rm -rf + find ${PREFIX}/lib -name Current -print0 | xargs -0 rm -rf + rm -r ${PREFIX}/lib/*.framework/Qt* + rm -r ${PREFIX}/lib/*.framework/Resources + mkdir -p ${PREFIX}/bin/plugins/{platforms,imageformats,styles} + cp -a ${PREFIX}_dep/plugins/platforms/libqcocoa.dylib ${PREFIX}/bin/plugins/platforms + cp -a ${PREFIX}_dep/plugins/imageformats/libqsvg.dylib ${PREFIX}/bin/plugins/imageformats + cp -a ${PREFIX}_dep/plugins/styles/libqmacstyle.dylib ${PREFIX}/bin/plugins/styles +fi rm -rf ${PREFIX}_dep -cp -R ${PLD}/MRView.app ${PREFIX}/bin -mkdir -p ${PREFIX}/bin/MRView.app/Contents/MacOS/ -mv ${PREFIX}/bin/mrview ${PREFIX}/bin/MRView.app/Contents/MacOS/ -cp ${PLD}/mrview ${PREFIX}/bin +if [ "${OS}" = "macos" ]; then + cp -R ${PLD}/MRView.app ${PREFIX}/bin + mkdir -p ${PREFIX}/bin/MRView.app/Contents/MacOS/ + mv ${PREFIX}/bin/mrview ${PREFIX}/bin/MRView.app/Contents/MacOS/ + cp ${PLD}/mrview ${PREFIX}/bin -cp -R ${PLD}/SHView.app ${PREFIX}/bin -mkdir -p ${PREFIX}/bin/SHView.app/Contents/MacOS/ -mv ${PREFIX}/bin/shview ${PREFIX}/bin/SHView.app/Contents/MacOS/ -cp ${PLD}/shview ${PREFIX}/bin + cp -R ${PLD}/SHView.app ${PREFIX}/bin + mkdir -p ${PREFIX}/bin/SHView.app/Contents/MacOS/ + mv ${PREFIX}/bin/shview ${PREFIX}/bin/SHView.app/Contents/MacOS/ + cp ${PLD}/shview ${PREFIX}/bin +fi cd ${PREFIX}/.. -tar cfz mrtrix3-macos-${TAGNAME}.tar.gz mrtrix3 +tar cfz mrtrix3-${OS}-${TAGNAME}.tar.gz mrtrix3 rm -rf ${PREFIX} -TOTAL_SECONDS=$((EIGEN_SECONDS + TIFF_SECONDS + FFTW_SECONDS + QT_SECONDS + MRTRIX_SECONDS)) +TOTAL_SECONDS=$((FFTW_SECONDS + EIGEN_SECONDS + QT_SECONDS + MRTRIX_SECONDS)) if [[ ! -n "$DEPCACHE" ]]; then - echo "eigen ${EIGEN_VERSION}: ${EIGEN_SECONDS} s" - echo "tiff ${TIFF_VERSION}: ${TIFF_SECONDS} s" echo "fftw ${FFTW_VERSION}: ${FFTW_SECONDS} s" + echo "eigen ${EIGEN_VERSION}: ${EIGEN_SECONDS} s" echo "qt ${QT_VERSION}: ${QT_SECONDS} s" fi echo "mrtrix ${MRTRIX_VERSION}: ${MRTRIX_SECONDS} s" From 08467a79bc922a5d8ca648d69f714c754d7493fc Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Fri, 20 Oct 2023 15:06:36 +0200 Subject: [PATCH 12/14] Update Qt6 to latest version --- build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build b/build index dc9fe7e..f7e5b0c 100755 --- a/build +++ b/build @@ -7,7 +7,7 @@ export PATH EIGEN_VERSION=3.4.0 FFTW_VERSION=3.3.10 -QT_VERSION=6.4.1 +QT_VERSION=6.6.0 if [ "$(uname)" = "Linux" ]; then OS=linux From 17a70d015bc679ac95bac06a7c1f4c55c97991ff Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Fri, 20 Oct 2023 15:07:25 +0200 Subject: [PATCH 13/14] Update maces deployment target --- build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build b/build index f7e5b0c..039bc4b 100755 --- a/build +++ b/build @@ -22,7 +22,7 @@ THREADS=$(getconf _NPROCESSORS_ONLN) if [ "${OS}" = "macos" ]; then ARCHS="x86_64 arm64" MACOS_ARCHS="-arch x86_64 -arch arm64" - MACOSX_DEPLOYMENT_TARGET=10.14 + MACOSX_DEPLOYMENT_TARGET=10.15 export MACOSX_DEPLOYMENT_TARGET MACOSX_VERSION_MIN="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" fi From 35d088634998c25205685a6476edf009c508b88d Mon Sep 17 00:00:00 2001 From: Ben Jeurissen Date: Fri, 20 Oct 2023 15:09:22 +0200 Subject: [PATCH 14/14] Update 7z version --- build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build b/build index 039bc4b..0faa3b3 100755 --- a/build +++ b/build @@ -85,10 +85,10 @@ else # 7Z if [ "${OS}" = "linux" ]; then - FNAME=7z2201-linux-x64.tar.xz + FNAME=7z2301-linux-x64.tar.xz fi if [ "${OS}" = "macos" ]; then - FNAME=7z2107-mac.tar.xz + FNAME=7z2301-mac.tar.xz fi curl -s -O https://www.7-zip.org/a/${FNAME} tar xf ${FNAME} 7zz