Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

538 lines
18KB

  1. #!/bin/bash
  2. # NOTE: You need the following packages installed via MacPorts:
  3. # automake, autoconf, cmake, libtool, p7zip, pkgconfig, aria2
  4. # ---------------------------------------------------------------------------------------------------------------------
  5. # stop on error
  6. set -e
  7. # ---------------------------------------------------------------------------------------------------------------------
  8. # cd to correct path
  9. if [ -f Makefile ]; then
  10. cd data/macos
  11. fi
  12. # ---------------------------------------------------------------------------------------------------------------------
  13. # set variables
  14. export DEPS_NEW=1
  15. source common.env
  16. # ---------------------------------------------------------------------------------------------------------------------
  17. # function to remove old stuff
  18. cleanup()
  19. {
  20. rm -rf $TARGETDIR/carla/ $TARGETDIR/carla32/ $TARGETDIR/carla64/
  21. rm -rf cx_Freeze-*
  22. rm -rf Python-*
  23. rm -rf PyQt-*
  24. rm -rf PyQt5_*
  25. rm -rf file-*
  26. rm -rf flac-*
  27. rm -rf fltk-*
  28. rm -rf fluidsynth-*
  29. rm -rf fftw-*
  30. rm -rf gettext-*
  31. rm -rf glib-*
  32. rm -rf libffi-*
  33. rm -rf libgig-*
  34. rm -rf liblo-*
  35. rm -rf libogg-*
  36. rm -rf libsndfile-*
  37. rm -rf libvorbis-*
  38. rm -rf linuxsampler-*
  39. rm -rf mxml-*
  40. rm -rf pkg-config-*
  41. rm -rf pyliblo-*
  42. rm -rf qtbase-*
  43. rm -rf qtmacextras-*
  44. rm -rf qtsvg-*
  45. rm -rf sip-*
  46. rm -rf zlib-*
  47. rm -rf PaxHeaders.*
  48. exit 0
  49. }
  50. # ---------------------------------------------------------------------------------------------------------------------
  51. # function to build base libs
  52. build_base()
  53. {
  54. export CC=clang
  55. export CXX=clang++
  56. export PREFIX=${TARGETDIR}/carla${ARCH}
  57. export PATH=${PREFIX}/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
  58. export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
  59. export CFLAGS="-O3 -mtune=generic -msse -msse2 -mfpmath=sse -fvisibility=hidden -fdata-sections -ffunction-sections"
  60. export CFLAGS="${CFLAGS} -fPIC -DPIC -DNDEBUG -I${PREFIX}/include -m${ARCH} -mmacosx-version-min=10.7"
  61. export CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden -std=gnu++11 -stdlib=libc++"
  62. export LDFLAGS="-fdata-sections -ffunction-sections -Wl,-dead_strip -Wl,-dead_strip_dylibs"
  63. export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib -m${ARCH}"
  64. # ---------------------------------------------------------------------------------------------------------------------
  65. # pkgconfig
  66. if [ ! -d pkg-config-${PKG_CONFIG_VERSION} ]; then
  67. curl -O https://pkg-config.freedesktop.org/releases/pkg-config-${PKG_CONFIG_VERSION}.tar.gz
  68. tar -xf pkg-config-${PKG_CONFIG_VERSION}.tar.gz
  69. fi
  70. if [ ! -f pkg-config-${PKG_CONFIG_VERSION}_$ARCH/build-done ]; then
  71. cp -r pkg-config-${PKG_CONFIG_VERSION} pkg-config-${PKG_CONFIG_VERSION}_$ARCH
  72. cd pkg-config-${PKG_CONFIG_VERSION}_$ARCH
  73. ./configure --enable-indirect-deps --with-internal-glib --with-pc-path=$PKG_CONFIG_PATH --prefix=${PREFIX}
  74. make ${MAKE_ARGS}
  75. make install
  76. touch build-done
  77. cd ..
  78. fi
  79. # ---------------------------------------------------------------------------------------------------------------------
  80. # liblo
  81. if [ ! -d liblo-${LIBLO_VERSION} ]; then
  82. curl -L http://download.sourceforge.net/liblo/liblo-${LIBLO_VERSION}.tar.gz -o liblo-${LIBLO_VERSION}.tar.gz
  83. tar -xf liblo-${LIBLO_VERSION}.tar.gz
  84. fi
  85. if [ ! -f liblo-${LIBLO_VERSION}_$ARCH/build-done ]; then
  86. cp -r liblo-${LIBLO_VERSION} liblo-${LIBLO_VERSION}_$ARCH
  87. cd liblo-${LIBLO_VERSION}_$ARCH
  88. ./configure --enable-static --disable-shared --prefix=${PREFIX} \
  89. --enable-threads \
  90. --disable-examples --disable-tools
  91. make ${MAKE_ARGS}
  92. make install
  93. touch build-done
  94. cd ..
  95. fi
  96. # ---------------------------------------------------------------------------------------------------------------------
  97. if [ x"${ARCH}" = x"32" ]; then
  98. return
  99. fi
  100. # ---------------------------------------------------------------------------------------------------------------------
  101. # zlib
  102. if [ ! -d zlib-${ZLIB_VERSION} ]; then
  103. /opt/local/bin/aria2c https://github.com/madler/zlib/archive/v${ZLIB_VERSION}.tar.gz
  104. tar -xf zlib-${ZLIB_VERSION}.tar.gz
  105. fi
  106. if [ ! -f zlib-${ZLIB_VERSION}/build-done ]; then
  107. cd zlib-${ZLIB_VERSION}
  108. ./configure --static --prefix=${PREFIX}
  109. make
  110. make install
  111. touch build-done
  112. cd ..
  113. fi
  114. # ---------------------------------------------------------------------------------------------------------------------
  115. # file/magic
  116. if [ ! -d file-${FILE_VERSION} ]; then
  117. curl -O ftp://ftp.astron.com/pub/file/file-${FILE_VERSION}.tar.gz
  118. tar -xf file-${FILE_VERSION}.tar.gz
  119. fi
  120. if [ ! -f file-${FILE_VERSION}/build-done ]; then
  121. cd file-${FILE_VERSION}
  122. ./configure --enable-static --disable-shared --prefix=${PREFIX}
  123. make ${MAKE_ARGS}
  124. make install
  125. touch build-done
  126. cd ..
  127. fi
  128. # ---------------------------------------------------------------------------------------------------------------------
  129. # libogg
  130. if [ ! -d libogg-${LIBOGG_VERSION} ]; then
  131. curl -O https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-${LIBOGG_VERSION}.tar.gz
  132. tar -xf libogg-${LIBOGG_VERSION}.tar.gz
  133. fi
  134. if [ ! -f libogg-${LIBOGG_VERSION}/build-done ]; then
  135. cd libogg-${LIBOGG_VERSION}
  136. ./configure --enable-static --disable-shared --prefix=${PREFIX}
  137. make ${MAKE_ARGS}
  138. make install
  139. touch build-done
  140. cd ..
  141. fi
  142. # ---------------------------------------------------------------------------------------------------------------------
  143. # libvorbis
  144. if [ ! -d libvorbis-${LIBVORBIS_VERSION} ]; then
  145. curl -O https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-${LIBVORBIS_VERSION}.tar.gz
  146. tar -xf libvorbis-${LIBVORBIS_VERSION}.tar.gz
  147. fi
  148. if [ ! -f libvorbis-${LIBVORBIS_VERSION}/build-done ]; then
  149. cd libvorbis-${LIBVORBIS_VERSION}
  150. ./configure --enable-static --disable-shared --prefix=${PREFIX}
  151. make ${MAKE_ARGS}
  152. make install
  153. touch build-done
  154. cd ..
  155. fi
  156. # ---------------------------------------------------------------------------------------------------------------------
  157. # flac
  158. if [ ! -d flac-${FLAC_VERSION} ]; then
  159. curl -O https://ftp.osuosl.org/pub/xiph/releases/flac/flac-${FLAC_VERSION}.tar.xz
  160. /opt/local/bin/7z x flac-${FLAC_VERSION}.tar.xz
  161. /opt/local/bin/7z x flac-${FLAC_VERSION}.tar
  162. fi
  163. if [ ! -f flac-${FLAC_VERSION}/build-done ]; then
  164. cd flac-${FLAC_VERSION}
  165. chmod +x configure install-sh
  166. ./configure --enable-static --disable-shared --prefix=${PREFIX} \
  167. --disable-cpplibs
  168. make ${MAKE_ARGS}
  169. make install
  170. touch build-done
  171. cd ..
  172. fi
  173. # ---------------------------------------------------------------------------------------------------------------------
  174. # libsndfile
  175. if [ ! -d libsndfile-${LIBSNDFILE_VERSION} ]; then
  176. curl -O http://www.mega-nerd.com/libsndfile/files/libsndfile-${LIBSNDFILE_VERSION}.tar.gz
  177. tar -xf libsndfile-${LIBSNDFILE_VERSION}.tar.gz
  178. fi
  179. if [ ! -f libsndfile-${LIBSNDFILE_VERSION}/build-done ]; then
  180. cd libsndfile-${LIBSNDFILE_VERSION}
  181. ./configure --enable-static --disable-shared --prefix=${PREFIX} \
  182. --disable-full-suite --disable-alsa --disable-sqlite
  183. make ${MAKE_ARGS}
  184. make install
  185. touch build-done
  186. cd ..
  187. fi
  188. # ---------------------------------------------------------------------------------------------------------------------
  189. # glib
  190. if [ ! -d glib-${GLIB_VERSION} ]; then
  191. /opt/local/bin/aria2c http://caesar.ftp.acc.umu.se/pub/GNOME/sources/glib/${GLIB_MVERSION}/glib-${GLIB_VERSION}.tar.xz
  192. /opt/local/bin/7z x glib-${GLIB_VERSION}.tar.xz
  193. /opt/local/bin/7z x glib-${GLIB_VERSION}.tar
  194. fi
  195. if [ ! -f glib-${GLIB_VERSION}/build-done ]; then
  196. cd glib-${GLIB_VERSION}
  197. if [ ! -f patched ]; then
  198. patch -p1 -i ../patches/glib_skip-gettext.patch
  199. rm m4macros/glib-gettext.m4
  200. touch patched
  201. fi
  202. chmod +x autogen.sh configure install-sh
  203. env PATH=/opt/local/bin:$PATH ./autogen.sh
  204. env PATH=/opt/local/bin:$PATH LDFLAGS="-L${PREFIX}/lib -m${ARCH}" \
  205. ./configure --enable-static --disable-shared --prefix=${PREFIX}
  206. env PATH=/opt/local/bin:$PATH make ${MAKE_ARGS} -k || true
  207. touch gio/gio-querymodules gio/glib-compile-resources gio/gsettings gio/gdbus gio/gresource gio/gapplication
  208. touch gobject/gobject-query tests/gobject/performance tests/gobject/performance-threaded
  209. env PATH=/opt/local/bin:$PATH make
  210. touch ${PREFIX}/bin/gtester-report
  211. env PATH=/opt/local/bin:$PATH make install
  212. touch build-done
  213. cd ..
  214. fi
  215. # ---------------------------------------------------------------------------------------------------------------------
  216. # fluidsynth
  217. if [ ! -d fluidsynth-${FLUIDSYNTH_VERSION} ]; then
  218. /opt/local/bin/aria2c https://github.com/FluidSynth/fluidsynth/archive/v${FLUIDSYNTH_VERSION}.tar.gz
  219. tar -xf fluidsynth-${FLUIDSYNTH_VERSION}.tar.gz
  220. fi
  221. if [ ! -f fluidsynth-${FLUIDSYNTH_VERSION}/build-done ]; then
  222. cd fluidsynth-${FLUIDSYNTH_VERSION}
  223. if [ ! -f patched ]; then
  224. patch -p1 -i ../../patches/fluidsynth-skip-drivers-build.patch
  225. touch patched
  226. fi
  227. sed -i -e 's/_init_lib_suffix "64"/_init_lib_suffix ""/' CMakeLists.txt
  228. /opt/local/bin/cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PREFIX} -DBUILD_SHARED_LIBS=OFF \
  229. -Denable-debug=OFF -Denable-profiling=OFF -Denable-ladspa=OFF -Denable-fpe-check=OFF -Denable-portaudio=OFF \
  230. -Denable-trap-on-fpe=OFF -Denable-aufile=OFF -Denable-dbus=OFF -Denable-ipv6=OFF -Denable-jack=OFF \
  231. -Denable-midishare=OFF -Denable-oss=OFF -Denable-pulseaudio=OFF -Denable-readline=OFF -Denable-ladcca=OFF \
  232. -Denable-lash=OFF -Denable-alsa=OFF -Denable-coreaudio=OFF -Denable-coremidi=OFF -Denable-framework=OFF \
  233. -Denable-floats=ON
  234. make ${MAKE_ARGS} -k || true
  235. touch src/fluidsynth
  236. make
  237. make install
  238. sed -i -e "s|-lfluidsynth|-lfluidsynth -lglib-2.0 -lgthread-2.0 -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -lpthread -lm -liconv|" ${PREFIX}/lib/pkgconfig/fluidsynth.pc
  239. touch build-done
  240. cd ..
  241. fi
  242. # ---------------------------------------------------------------------------------------------------------------------
  243. # mxml
  244. if [ ! -d mxml-${MXML_VERSION} ]; then
  245. /opt/local/bin/aria2c https://github.com/michaelrsweet/mxml/releases/download/v${MXML_VERSION}/mxml-${MXML_VERSION}.tar.gz
  246. mkdir mxml-${MXML_VERSION}
  247. cd mxml-${MXML_VERSION}
  248. tar -xf ../mxml-${MXML_VERSION}.tar.gz
  249. cd ..
  250. fi
  251. if [ ! -f mxml-${MXML_VERSION}/build-done ]; then
  252. cd mxml-${MXML_VERSION}
  253. ./configure --disable-shared --prefix=${PREFIX}
  254. make libmxml.a
  255. cp *.a ${PREFIX}/lib/
  256. cp *.pc ${PREFIX}/lib/pkgconfig/
  257. cp mxml.h ${PREFIX}/include/
  258. touch build-done
  259. cd ..
  260. fi
  261. # ---------------------------------------------------------------------------------------------------------------------
  262. # fftw3 (needs to be last as it modifies C[XX]FLAGS)
  263. if [ ! -d fftw-${FFTW3_VERSION} ]; then
  264. curl -O http://www.fftw.org/fftw-${FFTW3_VERSION}.tar.gz
  265. tar -xf fftw-${FFTW3_VERSION}.tar.gz
  266. fi
  267. if [ ! -f fftw-${FFTW3_VERSION}/build-done ]; then
  268. export CFLAGS="${CFLAGS} -ffast-math"
  269. export CXXFLAGS="${CXXFLAGS} -ffast-math"
  270. cd fftw-${FFTW3_VERSION}
  271. ./configure --enable-static --enable-sse2 --disable-shared --disable-debug --prefix=${PREFIX}
  272. make
  273. make install
  274. make clean
  275. ./configure --enable-static --enable-sse --enable-sse2 --enable-single --disable-shared --disable-debug --prefix=${PREFIX}
  276. make
  277. make install
  278. make clean
  279. touch build-done
  280. cd ..
  281. fi
  282. }
  283. # ---------------------------------------------------------------------------------------------------------------------
  284. # build base libs
  285. # export ARCH=32
  286. # build_base
  287. export ARCH=64
  288. build_base
  289. # ---------------------------------------------------------------------------------------------------------------------
  290. # set flags for qt stuff
  291. export PREFIX=${TARGETDIR}/carla
  292. export PATH=${PREFIX}/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
  293. export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
  294. export PKG_CONFIG=${TARGETDIR}/carla64/bin/pkg-config
  295. export CFLAGS="-O3 -mtune=generic -msse -msse2 -mfpmath=sse -fPIC -DPIC -DNDEBUG -I${PREFIX}/include -m64"
  296. export CXXFLAGS=${CFLAGS}
  297. export LDFLAGS="-L${PREFIX}/lib -m64"
  298. export MAKE=/usr/bin/make
  299. #export CFG_ARCH=x86_64
  300. #export QMAKESPEC=macx-clang
  301. # ---------------------------------------------------------------------------------------------------------------------
  302. # qt5-base download
  303. if [ ! -d qtbase-everywhere-src-${QT5_VERSION} ]; then
  304. curl -L http://download.qt.io/archive/qt/${QT5_MVERSION}/${QT5_VERSION}/submodules/qtbase-everywhere-src-${QT5_VERSION}.tar.xz -o qtbase-everywhere-src-${QT5_VERSION}.tar.xz
  305. /opt/local/bin/7z x qtbase-everywhere-src-${QT5_VERSION}.tar.xz
  306. /opt/local/bin/7z x qtbase-everywhere-src-${QT5_VERSION}.tar
  307. fi
  308. # ---------------------------------------------------------------------------------------------------------------------
  309. # qt5-base (64bit, shared, framework)
  310. if [ ! -f qtbase-everywhere-src-${QT5_VERSION}/build-done ]; then
  311. cd qtbase-everywhere-src-${QT5_VERSION}
  312. if [ ! -f configured ]; then
  313. chmod +x configure
  314. ./configure -release -shared -opensource -confirm-license -platform macx-clang -framework \
  315. -prefix ${PREFIX} -plugindir ${PREFIX}/lib/qt5/plugins -headerdir ${PREFIX}/include/qt5 \
  316. -pkg-config -force-pkg-config -strip \
  317. -sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-avx512 \
  318. -no-mips_dsp -no-mips_dspr2 \
  319. -no-pch -pkg-config \
  320. -make libs -make tools \
  321. -nomake examples -nomake tests \
  322. -no-compile-examples \
  323. -gui -widgets \
  324. -no-dbus \
  325. -no-glib -qt-pcre \
  326. -no-journald -no-syslog -no-slog2 \
  327. -no-openssl -no-securetransport -no-sctp -no-libproxy \
  328. -no-cups -no-fontconfig -qt-freetype -no-harfbuzz -no-gtk -opengl desktop -qpa cocoa \
  329. -no-directfb -no-eglfs -no-xcb -no-xcb-xlib \
  330. -no-evdev -no-libinput -no-mtdev \
  331. -no-gif -no-ico -qt-libpng -qt-libjpeg \
  332. -qt-sqlite
  333. touch configured
  334. fi
  335. make ${MAKE_ARGS}
  336. make install
  337. touch build-done
  338. cd ..
  339. fi
  340. # ---------------------------------------------------------------------------------------------------------------------
  341. # qt5-mac-extras
  342. if [ ! -d qtmacextras-everywhere-src-${QT5_VERSION} ]; then
  343. curl -L http://download.qt.io/archive/qt/${QT5_MVERSION}/${QT5_VERSION}/submodules/qtmacextras-everywhere-src-${QT5_VERSION}.tar.xz -o qtmacextras-everywhere-src-${QT5_VERSION}.tar.xz
  344. /opt/local/bin/7z x qtmacextras-everywhere-src-${QT5_VERSION}.tar.xz
  345. /opt/local/bin/7z x qtmacextras-everywhere-src-${QT5_VERSION}.tar
  346. fi
  347. if [ ! -f qtmacextras-everywhere-src-${QT5_VERSION}/build-done ]; then
  348. cd qtmacextras-everywhere-src-${QT5_VERSION}
  349. qmake
  350. make ${MAKE_ARGS}
  351. make install
  352. touch build-done
  353. cd ..
  354. fi
  355. # ---------------------------------------------------------------------------------------------------------------------
  356. # qt5-svg
  357. if [ ! -d qtsvg-everywhere-src-${QT5_VERSION} ]; then
  358. curl -L http://download.qt.io/archive/qt/${QT5_MVERSION}/${QT5_VERSION}/submodules/qtsvg-everywhere-src-${QT5_VERSION}.tar.xz -o qtsvg-everywhere-src-${QT5_VERSION}.tar.xz
  359. /opt/local/bin/7z x qtsvg-everywhere-src-${QT5_VERSION}.tar.xz
  360. /opt/local/bin/7z x qtsvg-everywhere-src-${QT5_VERSION}.tar
  361. fi
  362. if [ ! -f qtsvg-everywhere-src-${QT5_VERSION}/build-done ]; then
  363. cd qtsvg-everywhere-src-${QT5_VERSION}
  364. qmake
  365. make ${MAKE_ARGS}
  366. make install
  367. touch build-done
  368. cd ..
  369. fi
  370. # ---------------------------------------------------------------------------------------------------------------------
  371. # python
  372. if [ ! -d Python-${PYTHON_VERSION} ]; then
  373. /opt/local/bin/aria2c https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
  374. tar -xf Python-${PYTHON_VERSION}.tgz
  375. fi
  376. if [ ! -f Python-${PYTHON_VERSION}/build-done ]; then
  377. cd Python-${PYTHON_VERSION}
  378. sed -i -e "s/#zlib zlibmodule.c/zlib zlibmodule.c/" Modules/Setup.dist
  379. ./configure --prefix=${PREFIX} --enable-optimizations --enable-shared
  380. make
  381. make install
  382. touch build-done
  383. cd ..
  384. fi
  385. # --enable-shared
  386. # ar -d /Users/falktx/builds/carla/lib/python3.7/config-3.7m-darwin/libpython3.7m.a main.o
  387. # ---------------------------------------------------------------------------------------------------------------------
  388. # sip
  389. if [ ! -d sip-${SIP_VERSION} ]; then
  390. /opt/local/bin/aria2c http://sourceforge.net/projects/pyqt/files/sip/sip-${SIP_VERSION}/sip-${SIP_VERSION}.tar.gz
  391. tar -xf sip-${SIP_VERSION}.tar.gz
  392. fi
  393. if [ ! -f sip-${SIP_VERSION}/build-done ]; then
  394. cd sip-${SIP_VERSION}
  395. python3 configure.py --sip-module PyQt5.sip
  396. make ${MAKE_ARGS}
  397. make install
  398. touch build-done
  399. cd ..
  400. fi
  401. # ---------------------------------------------------------------------------------------------------------------------
  402. # pyqt5
  403. if [ ! -d PyQt5_gpl-${PYQT5_VERSION} ]; then
  404. /opt/local/bin/aria2c http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-${PYQT5_VERSION}/PyQt5_gpl-${PYQT5_VERSION}.tar.gz
  405. tar -xf PyQt5_gpl-${PYQT5_VERSION}.tar.gz
  406. fi
  407. if [ ! -f PyQt5_gpl-${PYQT5_VERSION}/build-done ]; then
  408. cd PyQt5_gpl-${PYQT5_VERSION}
  409. python3 configure.py --concatenate --confirm-license -c
  410. make ${MAKE_ARGS}
  411. make install
  412. touch build-done
  413. cd ..
  414. fi
  415. # ---------------------------------------------------------------------------------------------------------------------
  416. # pyliblo
  417. if [ ! -d pyliblo-${PYLIBLO_VERSION} ]; then
  418. /opt/local/bin/aria2c http://das.nasophon.de/download/pyliblo-${PYLIBLO_VERSION}.tar.gz
  419. tar -xf pyliblo-${PYLIBLO_VERSION}.tar.gz
  420. fi
  421. if [ ! -f pyliblo-${PYLIBLO_VERSION}/build-done ]; then
  422. cd pyliblo-${PYLIBLO_VERSION}
  423. if [ ! -f patched ]; then
  424. patch -p1 -i ../patches/pyliblo-python3.7.patch
  425. touch patched
  426. fi
  427. env CFLAGS="${CFLAGS} -I${TARGETDIR}/carla64/include" LDFLAGS="${LDFLAGS} -L${TARGETDIR}/carla64/lib" \
  428. python3 setup.py build
  429. python3 setup.py install --prefix=${PREFIX}
  430. touch build-done
  431. cd ..
  432. fi
  433. # ---------------------------------------------------------------------------------------------------------------------
  434. # nuitka
  435. if [ ! -d Nuitka-${NUITKA_VERSION} ]; then
  436. /opt/local/bin/aria2c http://nuitka.net/releases/Nuitka-${NUITKA_VERSION}.tar.gz
  437. tar -xf Nuitka-${NUITKA_VERSION}.tar.gz
  438. fi
  439. if [ ! -f Nuitka-${NUITKA_VERSION}/build-done ]; then
  440. cd Nuitka-${NUITKA_VERSION}
  441. python3 setup.py build
  442. python3 setup.py install --prefix=${PREFIX}
  443. touch build-done
  444. cd ..
  445. fi
  446. # ---------------------------------------------------------------------------------------------------------------------