blob: b6494220167bbae417ebaf8b754ebe7b58d8d915 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
# Maintainer: Butui Hu <hot123tea123@gmail.com>
#
# This PKGBUILD build itk-snap from the source according upstream Dockerfile
# https://github.com/pyushkevich/itksnap/blob/master/Utilities/Docker/itksnap-base/Dockerfile
# and https://github.com/pyushkevich/itksnap/blob/master/Utilities/Docker/itksnap/Dockerfile
#
_itkver=5.4.0
_vtkver=9.3.1
_pkgname=itk-snap
pkgname=itk-snap-git
pkgver=4.4.0.beta2.r13.97099054
pkgrel=1
pkgdesc="A software application used to segment structures in 3D medical images"
arch=('x86_64')
url="https://www.itksnap.org"
license=('GPL-3.0-or-later')
depends=(
curl
expat
gcc14-libs
glibc
hdf5
libglvnd
libjpeg-turbo
libpng
libssh
libtiff
libx11
qt6-base
qt6-declarative
zlib
)
makedepends=(
cmake
eigen
fftw
gcc14
gendesk
git
ninja
qt6-tools
vulkan-headers
)
provides=(itk-snap)
conflicts=(itk-snap)
options=(!emptydirs)
source=(
"vtk-${_vtkver}.tar.gz::https://github.com/Kitware/VTK/archive/refs/tags/v${_vtkver}.tar.gz"
"itk-${_itkver}.tar.gz::https://github.com/InsightSoftwareConsortium/ITK/archive/refs/tags/v${_itkver}.tar.gz"
"${pkgname}::git+https://github.com/pyushkevich/itksnap.git"
"0001.fix-building-with-eigen.patch::https://github.com/InsightSoftwareConsortium/ITK/commit/ada8399edb0259ba9272c957ab4033978bdfdded.patch"
)
sha512sums=('484db4fbc82f5484d38bbd425d64756911236284cf9d77a904ce133f4cc6909ee303ca7ca22407a648becea03a10ec2d5692e6357c1d6cd4053c9c9104b5bd8c'
'3a98ececf258aac545f094dd3e97918c93cc82bc623ddf793c4bf0162ab06c83fbfd4d08130bdec6e617bda85dd17225488bc1394bc91b17f1232126a5d990db'
'SKIP'
'61b059db3d883226f56912bcd1349f9c13e1b24e2f417df4f171a05fb7de6eae5582cd0a97e5e450ae2d2dd0964f8b3b52d15b7f38da52280ede9852d2c7c008')
pkgver() {
cd "${srcdir}/${pkgname}"
printf "%s" "$(git describe --long --tags | sed 's/\([^-]*-\)g/r\1/;s/-/./g' | sed 's/^v//')"
}
prepare() {
echo "Creating desktop file"
gendesk -f -n --pkgname ${_pkgname} \
--pkgdesc "${pkgdesc}" \
--categories "Education;Graphics;Science;DataVisualization;MedicalSoftware;Viewer" \
--icon "${_pkgname}" \
--exec "itksnap"
cd ${pkgname}
git submodule update --init --recursive
cd ${srcdir}/ITK-${_itkver}
patch -p1 -i ${srcdir}/0001.fix-building-with-eigen.patch
}
build() {
# build with gcc14
export CC=gcc-14
export CXX=g++-14
# build itk
# building with system googletest is not working
echo "building itk..."
cmake \
-B ${srcdir}/build-itk \
-DBUILD_EXAMPLES=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_TESTING=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DITK_USE_SYSTEM_LIBRARIES=OFF \
-DITK_USE_SYSTEM_GOOGLETEST=OFF \
-DModule_MorphologicalContourInterpolation=ON \
-GNinja \
-S ${srcdir}/ITK-${_itkver}
cmake --build ${srcdir}/build-itk
# build vtk with qt6
echo "building vtk..."
cmake \
-B ${srcdir}/build-vtk \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DVTK_BUILD_EXAMPLES=OFF \
-DVTK_BUILD_TESTING=OFF \
-DVTK_GROUP_ENABLE_Qt=YES \
-DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick=NO \
-DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL=NO \
-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES \
-DVTK_QT_VERSION=6 \
-GNinja \
-S ${srcdir}/VTK-${_vtkver}
cmake --build ${srcdir}/build-vtk
# build itk-snap
echo "building itk-snap..."
cmake \
-B ${srcdir}/build \
-DBUILD_TESTING=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DITK_DIR=${srcdir}/build-itk \
-DVTK_DIR=${srcdir}/build-vtk \
-GNinja \
-S ${pkgname}
cmake --build ${srcdir}/build
}
package() {
DESTDIR=${pkgdir} cmake --install ${srcdir}/build
install -Dm644 "${srcdir}/${pkgname}/GUI/Qt/Resources/logo_square.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
install -Dm644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
# fix translations files
mv -v "${pkgdir}/usr/share/qt6/translations" "${pkgdir}/usr/lib/snap-4.4.0"
}
# vim:set ts=2 sw=2 et:
|