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.

605 lines
17KB

  1. #!/bin/bash
  2. # NOTE: You need the following packages installed via MacPorts:
  3. # automake, autoconf, bison, flex, libtool
  4. # p5-libxml-perl, p5-xml-libxml, p7zip, pkgconfig
  5. # ------------------------------------------------------------------------------------
  6. # stop on error
  7. set -e
  8. # ------------------------------------------------------------------------------------
  9. # cd to correct path
  10. if [ -f Makefile ]; then
  11. cd data/macos
  12. fi
  13. # ------------------------------------------------------------------------------------
  14. # set target dir
  15. TARGETDIR=$HOME/builds
  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 file-*
  25. rm -rf flac-*
  26. rm -rf fltk-*
  27. rm -rf fluidsynth-*
  28. rm -rf fftw-*
  29. rm -rf gettext-*
  30. rm -rf glib-*
  31. rm -rf libffi-*
  32. rm -rf libgig-*
  33. rm -rf liblo-*
  34. rm -rf libogg-*
  35. rm -rf libsndfile-*
  36. rm -rf libvorbis-*
  37. rm -rf linuxsampler-*
  38. rm -rf mxml-*
  39. rm -rf pkg-config-*
  40. rm -rf pyliblo-*
  41. rm -rf qtbase-*
  42. rm -rf qtmacextras-*
  43. rm -rf qtsvg-*
  44. rm -rf sip-*
  45. rm -rf zlib-*
  46. rm -rf PaxHeaders.20420
  47. }
  48. # ------------------------------------------------------------------------------------
  49. # function to build base libs
  50. build_base()
  51. {
  52. export CC=clang
  53. export CXX=clang++
  54. export PREFIX=$TARGETDIR/carla$ARCH
  55. export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
  56. export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
  57. export CFLAGS="-O2 -mtune=generic -msse -msse2 -m$ARCH -fPIC -DPIC -I$PREFIX/include"
  58. export CXXFLAGS=$CFLAGS
  59. export LDFLAGS="-m$ARCH -L$PREFIX/lib"
  60. # ------------------------------------------------------------------------------------
  61. # pkgconfig
  62. if [ ! -d pkg-config-0.28 ]; then
  63. curl -O https://pkg-config.freedesktop.org/releases/pkg-config-0.28.tar.gz
  64. tar -xf pkg-config-0.28.tar.gz
  65. fi
  66. if [ ! -f pkg-config-0.28_$ARCH/build-done ]; then
  67. cp -r pkg-config-0.28 pkg-config-0.28_$ARCH
  68. cd pkg-config-0.28_$ARCH
  69. ./configure --enable-indirect-deps --with-internal-glib --with-pc-path=$PKG_CONFIG_PATH --prefix=$PREFIX
  70. make
  71. make install
  72. touch build-done
  73. cd ..
  74. fi
  75. # ------------------------------------------------------------------------------------
  76. # liblo
  77. if [ ! -d liblo-0.28 ]; then
  78. curl -L http://download.sourceforge.net/liblo/liblo-0.28.tar.gz -o liblo-0.28.tar.gz
  79. tar -xf liblo-0.28.tar.gz
  80. fi
  81. if [ ! -f liblo-0.28_$ARCH/build-done ]; then
  82. cp -r liblo-0.28 liblo-0.28_$ARCH
  83. cd liblo-0.28_$ARCH
  84. ./configure --enable-static --disable-shared --prefix=$PREFIX
  85. make
  86. make install
  87. touch build-done
  88. cd ..
  89. fi
  90. # ------------------------------------------------------------------------------------
  91. if [ "$ARCH" == "32" ]; then
  92. return
  93. fi
  94. # ------------------------------------------------------------------------------------
  95. # file/magic
  96. if [ ! -d file-5.25 ]; then
  97. curl -O ftp://ftp.astron.com/pub/file/file-5.25.tar.gz
  98. tar -xf file-5.25.tar.gz
  99. fi
  100. if [ ! -f file-5.25/build-done ]; then
  101. cd file-5.25
  102. ./configure --enable-static --disable-shared --prefix=$PREFIX
  103. make
  104. make install
  105. touch build-done
  106. cd ..
  107. fi
  108. # ------------------------------------------------------------------------------------
  109. # zlib
  110. if [ ! -d zlib-1.2.10 ]; then
  111. curl -L https://github.com/madler/zlib/archive/v1.2.10.tar.gz -o zlib-1.2.10.tar.gz
  112. tar -xf zlib-1.2.10.tar.gz
  113. fi
  114. if [ ! -f zlib-1.2.10/build-done ]; then
  115. cd zlib-1.2.10
  116. ./configure --static --prefix=$PREFIX
  117. make
  118. make install
  119. touch build-done
  120. cd ..
  121. fi
  122. # ------------------------------------------------------------------------------------
  123. # mxml
  124. if [ ! -d mxml-2.9 ]; then
  125. curl -O http://www.msweet.org/files/project3/mxml-2.9.tar.gz
  126. tar -xf mxml-2.9.tar.gz
  127. fi
  128. if [ ! -f mxml-2.9/build-done ]; then
  129. cd mxml-2.9
  130. ./configure --disable-shared --prefix=$PREFIX
  131. make libmxml.a
  132. cp *.a $PREFIX/lib/
  133. cp *.pc $PREFIX/lib/pkgconfig/
  134. cp mxml.h $PREFIX/include/
  135. touch build-done
  136. cd ..
  137. fi
  138. # ------------------------------------------------------------------------------------
  139. # libogg
  140. if [ ! -d libogg-1.3.2 ]; then
  141. curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
  142. tar -xf libogg-1.3.2.tar.gz
  143. fi
  144. if [ ! -f libogg-1.3.2/build-done ]; then
  145. cd libogg-1.3.2
  146. ./configure --enable-static --disable-shared --prefix=$PREFIX
  147. make
  148. make install
  149. touch build-done
  150. cd ..
  151. fi
  152. # ------------------------------------------------------------------------------------
  153. # libvorbis
  154. if [ ! -d libvorbis-1.3.5 ]; then
  155. curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
  156. tar -xf libvorbis-1.3.5.tar.gz
  157. fi
  158. if [ ! -f libvorbis-1.3.5/build-done ]; then
  159. cd libvorbis-1.3.5
  160. ./configure --enable-static --disable-shared --prefix=$PREFIX
  161. make
  162. make install
  163. touch build-done
  164. cd ..
  165. fi
  166. # ------------------------------------------------------------------------------------
  167. # flac
  168. if [ ! -d flac-1.3.1 ]; then
  169. curl -O https://svn.xiph.org/releases/flac/flac-1.3.1.tar.xz
  170. /opt/local/bin/7z x flac-1.3.1.tar.xz
  171. /opt/local/bin/7z x flac-1.3.1.tar
  172. fi
  173. if [ ! -f flac-1.3.1/build-done ]; then
  174. cd flac-1.3.1
  175. chmod +x configure install-sh
  176. ./configure --enable-static --disable-shared --prefix=$PREFIX
  177. make
  178. make install
  179. touch build-done
  180. cd ..
  181. fi
  182. # ------------------------------------------------------------------------------------
  183. # libsndfile
  184. if [ ! -d libsndfile-1.0.26 ]; then
  185. curl -O http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.26.tar.gz
  186. tar -xf libsndfile-1.0.26.tar.gz
  187. fi
  188. if [ ! -f libsndfile-1.0.26/build-done ]; then
  189. cd libsndfile-1.0.26
  190. sed -i -e "s/#include <Carbon.h>//" programs/sndfile-play.c
  191. ./configure --enable-static --disable-shared --disable-sqlite --prefix=$PREFIX
  192. make
  193. make install
  194. touch build-done
  195. cd ..
  196. fi
  197. # ------------------------------------------------------------------------------------
  198. # libgig
  199. if [ ! -d libgig-4.0.0 ]; then
  200. curl -O http://download.linuxsampler.org/packages/libgig-4.0.0.tar.bz2
  201. tar -xf libgig-4.0.0.tar.bz2
  202. fi
  203. if [ ! -f libgig-4.0.0/build-done ]; then
  204. cd libgig-4.0.0
  205. if [ ! -f patched ]; then
  206. patch -p1 -i ../patches/libgig_fix-build.patch
  207. touch patched
  208. fi
  209. env PATH=/opt/local/bin:$PATH ./configure --enable-static --disable-shared --prefix=$PREFIX
  210. env PATH=/opt/local/bin:$PATH make
  211. make install
  212. touch build-done
  213. cd ..
  214. fi
  215. # ------------------------------------------------------------------------------------
  216. # linuxsampler
  217. if [ ! -d linuxsampler-2.0.0 ]; then
  218. curl -O http://download.linuxsampler.org/packages/linuxsampler-2.0.0.tar.bz2
  219. tar -xf linuxsampler-2.0.0.tar.bz2
  220. fi
  221. if [ ! -f linuxsampler-2.0.0/build-done ]; then
  222. cd linuxsampler-2.0.0
  223. if [ ! -f patched ]; then
  224. patch -p1 -i ../patches/linuxsampler_allow-no-drivers-build.patch
  225. patch -p1 -i ../patches/linuxsampler_disable-ladspa-fx.patch
  226. sed -i -e "s/HAVE_AU/HAVE_VST/" src/hostplugins/Makefile.am
  227. touch patched
  228. fi
  229. env PATH=/opt/local/bin:$PATH /opt/local/bin/aclocal -I /opt/local/share/aclocal
  230. env PATH=/opt/local/bin:$PATH /opt/local/bin/glibtoolize --force --copy
  231. env PATH=/opt/local/bin:$PATH /opt/local/bin/autoheader
  232. env PATH=/opt/local/bin:$PATH /opt/local/bin/automake --add-missing --copy
  233. env PATH=/opt/local/bin:$PATH /opt/local/bin/autoconf
  234. env PATH=/opt/local/bin:$PATH ./configure \
  235. --enable-static --disable-shared --prefix=$PREFIX \
  236. --disable-arts-driver --disable-artstest --disable-instruments-db \
  237. --disable-asio-driver --disable-midishare-driver --disable-coremidi-driver --disable-coreaudio-driver --disable-mmemidi-driver
  238. env PATH=/opt/local/bin:$PATH ./scripts/generate_instrument_script_parser.sh
  239. sed -i -e "s/bison (GNU Bison) //" config.h
  240. env PATH=/opt/local/bin:$PATH make
  241. make install
  242. sed -i -e "s|-llinuxsampler|-llinuxsampler -L$PREFIX/lib/libgig -lgig -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -lm -lpthread|" $PREFIX/lib/pkgconfig/linuxsampler.pc
  243. touch build-done
  244. cd ..
  245. fi
  246. # ------------------------------------------------------------------------------------
  247. # libffi
  248. if [ ! -d libffi-3.2.1 ]; then
  249. curl -O ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz
  250. tar -xf libffi-3.2.1.tar.gz
  251. fi
  252. if [ ! -f libffi-3.2.1/build-done ]; then
  253. cd libffi-3.2.1
  254. ./configure --enable-static --disable-shared --prefix=$PREFIX
  255. make
  256. make install
  257. touch build-done
  258. cd ..
  259. fi
  260. # ------------------------------------------------------------------------------------
  261. # gettext
  262. if [ ! -d gettext-0.18.3.2 ]; then
  263. curl -O http://ftp.gnu.org/gnu/gettext/gettext-0.18.3.2.tar.gz
  264. tar -xf gettext-0.18.3.2.tar.gz
  265. fi
  266. if [ ! -f gettext-0.18.3.2/build-done ]; then
  267. cd gettext-0.18.3.2
  268. env PATH=/opt/local/bin:$PATH ./configure --enable-static --disable-shared --prefix=$PREFIX
  269. env PATH=/opt/local/bin:$PATH make
  270. make install
  271. touch build-done
  272. cd ..
  273. fi
  274. # ------------------------------------------------------------------------------------
  275. # glib
  276. if [ ! -d glib-2.42.2 ]; then
  277. curl -O http://gemmei.acc.umu.se/pub/GNOME/sources/glib/2.42/glib-2.42.2.tar.xz
  278. /opt/local/bin/7z x glib-2.42.2.tar.xz
  279. /opt/local/bin/7z x glib-2.42.2.tar
  280. fi
  281. if [ ! -f glib-2.42.2/build-done ]; then
  282. cd glib-2.42.2
  283. chmod +x configure install-sh
  284. env PATH=/opt/local/bin:$PATH ./configure --enable-static --disable-shared --prefix=$PREFIX
  285. env PATH=/opt/local/bin:$PATH make
  286. touch $PREFIX/bin/gtester-report
  287. make install
  288. touch build-done
  289. cd ..
  290. fi
  291. # ------------------------------------------------------------------------------------
  292. # fltk
  293. if [ ! -d fltk-1.3.3 ]; then
  294. curl -O http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz
  295. tar -xf fltk-1.3.3-source.tar.gz
  296. fi
  297. if [ ! -f fltk-1.3.3/build-done ]; then
  298. cd fltk-1.3.3
  299. ./configure --prefix=$PREFIX \
  300. --disable-shared --disable-debug \
  301. --disable-threads --disable-gl \
  302. --enable-localjpeg --enable-localpng
  303. make
  304. make install
  305. touch build-done
  306. cd ..
  307. fi
  308. # ------------------------------------------------------------------------------------
  309. # fluidsynth
  310. if [ ! -d fluidsynth-1.1.6 ]; then
  311. curl -L http://sourceforge.net/projects/fluidsynth/files/fluidsynth-1.1.6/fluidsynth-1.1.6.tar.gz/download -o fluidsynth-1.1.6.tar.gz
  312. tar -xf fluidsynth-1.1.6.tar.gz
  313. fi
  314. if [ ! -f fluidsynth-1.1.6/build-done ]; then
  315. cd fluidsynth-1.1.6
  316. env LDFLAGS="$LDFLAGS -framework Carbon -framework CoreFoundation" \
  317. ./configure --enable-static --disable-shared --prefix=$PREFIX \
  318. --disable-dbus-support --disable-aufile-support \
  319. --disable-pulse-support --disable-alsa-support --disable-portaudio-support --disable-oss-support --disable-jack-support \
  320. --disable-coreaudio --disable-coremidi --disable-dart --disable-lash --disable-ladcca \
  321. --without-readline \
  322. --enable-libsndfile-support
  323. make
  324. make install
  325. sed -i -e "s|-lfluidsynth|-lfluidsynth -lglib-2.0 -lgthread-2.0 -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -lpthread -lm -liconv -lintl|" $PREFIX/lib/pkgconfig/fluidsynth.pc
  326. touch build-done
  327. cd ..
  328. fi
  329. # ------------------------------------------------------------------------------------
  330. # fftw3 (needs to be last as it modifies C[XX]FLAGS)
  331. if [ ! -d fftw-3.3.4 ]; then
  332. curl -O http://www.fftw.org/fftw-3.3.4.tar.gz
  333. tar -xf fftw-3.3.4.tar.gz
  334. fi
  335. if [ ! -f fftw-3.3.4/build-done ]; then
  336. export CFLAGS="-O3 -mtune=generic -msse -msse2 -ffast-math -mfpmath=sse -m$ARCH -fPIC -DPIC"
  337. export CXXFLAGS=$CFLAGS
  338. export LDFLAGS="-m$ARCH"
  339. cd fftw-3.3.4
  340. ./configure --enable-static --enable-sse2 --disable-shared --disable-debug --prefix=$PREFIX
  341. make
  342. make install
  343. make clean
  344. ./configure --enable-static --enable-sse --enable-sse2 --enable-single --disable-shared --disable-debug --prefix=$PREFIX
  345. make
  346. make install
  347. make clean
  348. touch build-done
  349. cd ..
  350. fi
  351. }
  352. # ------------------------------------------------------------------------------------
  353. # build base libs
  354. export ARCH=32
  355. build_base
  356. export ARCH=64
  357. build_base
  358. # ------------------------------------------------------------------------------------
  359. # set flags for qt stuff
  360. export CFLAGS="-O2 -mtune=generic -msse -msse2 -m64 -fPIC -DPIC"
  361. export CXXFLAGS=$CFLAGS
  362. export LDFLAGS="-m64"
  363. export PREFIX=$TARGETDIR/carla
  364. export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
  365. export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
  366. export CFG_ARCH=x86_64
  367. export QMAKESPEC=macx-clang
  368. # ------------------------------------------------------------------------------------
  369. # qt5-base download
  370. if [ ! -d qtbase-opensource-src-5.5.1 ]; then
  371. curl -L http://download.qt.io/archive/qt/5.5/5.5.1/submodules/qtbase-opensource-src-5.5.1.tar.gz -o qtbase-opensource-src-5.5.1.tar.gz
  372. tar -xf qtbase-opensource-src-5.5.1.tar.gz
  373. fi
  374. # ------------------------------------------------------------------------------------
  375. # qt5-base (64bit, shared, framework)
  376. if [ ! -f qtbase-opensource-src-5.5.1/build-done ]; then
  377. cd qtbase-opensource-src-5.5.1
  378. if [ ! -f configured ]; then
  379. ./configure -release -shared -opensource -confirm-license -force-pkg-config -platform macx-clang -framework \
  380. -prefix $PREFIX -plugindir $PREFIX/lib/qt5/plugins -headerdir $PREFIX/include/qt5 \
  381. -qt-freetype -qt-libjpeg -qt-libpng -qt-pcre -opengl desktop -qpa cocoa \
  382. -no-directfb -no-eglfs -no-kms -no-linuxfb -no-mtdev -no-xcb -no-xcb-xlib \
  383. -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2 \
  384. -no-cups -no-dbus -no-evdev -no-fontconfig -no-harfbuzz -no-gif -no-glib -no-nis -no-openssl -no-pch -no-sql-ibase -no-sql-odbc \
  385. -no-audio-backend -no-qml-debug -no-separate-debug-info \
  386. -no-compile-examples -nomake examples -nomake tests -make libs -make tools
  387. touch configured
  388. fi
  389. make -j 2
  390. make install
  391. ln -s $PREFIX/lib/QtCore.framework/Headers $PREFIX/include/qt5/QtCore
  392. ln -s $PREFIX/lib/QtGui.framework/Headers $PREFIX/include/qt5/QtGui
  393. ln -s $PREFIX/lib/QtWidgets.framework/Headers $PREFIX/include/qt5/QtWidgets
  394. sed -i -e "s/ -lqtpcre/ /" $PREFIX/lib/pkgconfig/Qt5Core.pc
  395. sed -i -e "s/ '/ /" $PREFIX/lib/pkgconfig/Qt5Core.pc
  396. sed -i -e "s/ '/ /" $PREFIX/lib/pkgconfig/Qt5Core.pc
  397. sed -i -e "s/ '/ /" $PREFIX/lib/pkgconfig/Qt5Gui.pc
  398. sed -i -e "s/ '/ /" $PREFIX/lib/pkgconfig/Qt5Gui.pc
  399. sed -i -e "s/ '/ /" $PREFIX/lib/pkgconfig/Qt5Widgets.pc
  400. sed -i -e "s/ '/ /" $PREFIX/lib/pkgconfig/Qt5Widgets.pc
  401. touch build-done
  402. cd ..
  403. fi
  404. # ------------------------------------------------------------------------------------
  405. # qt5-mac-extras
  406. if [ ! -d qtmacextras-opensource-src-5.5.1 ]; then
  407. curl -L http://download.qt.io/archive/qt/5.5/5.5.1/submodules/qtmacextras-opensource-src-5.5.1.tar.gz -o qtmacextras-opensource-src-5.5.1.tar.gz
  408. tar -xf qtmacextras-opensource-src-5.5.1.tar.gz
  409. fi
  410. if [ ! -f qtmacextras-opensource-src-5.5.1/build-done ]; then
  411. cd qtmacextras-opensource-src-5.5.1
  412. qmake
  413. make -j 2
  414. make install
  415. touch build-done
  416. cd ..
  417. fi
  418. # ------------------------------------------------------------------------------------
  419. # qt5-svg
  420. if [ ! -d qtsvg-opensource-src-5.5.1 ]; then
  421. curl -L http://download.qt.io/archive/qt/5.5/5.5.1/submodules/qtsvg-opensource-src-5.5.1.tar.gz -o qtsvg-opensource-src-5.5.1.tar.gz
  422. tar -xf qtsvg-opensource-src-5.5.1.tar.gz
  423. fi
  424. if [ ! -f qtsvg-opensource-src-5.5.1/build-done ]; then
  425. cd qtsvg-opensource-src-5.5.1
  426. qmake
  427. make -j 2
  428. make install
  429. touch build-done
  430. cd ..
  431. fi
  432. # ------------------------------------------------------------------------------------
  433. # python
  434. if [ ! -d Python-3.4.4 ]; then
  435. curl -O https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
  436. tar -xf Python-3.4.4.tgz
  437. fi
  438. if [ ! -f Python-3.4.4/build-done ]; then
  439. cd Python-3.4.4
  440. ./configure --prefix=$PREFIX
  441. make
  442. make install
  443. touch build-done
  444. cd ..
  445. fi
  446. # ------------------------------------------------------------------------------------
  447. # sip
  448. if [ ! -d sip-4.17 ]; then
  449. curl -L http://sourceforge.net/projects/pyqt/files/sip/sip-4.17/sip-4.17.tar.gz -o sip-4.17.tar.gz
  450. tar -xf sip-4.17.tar.gz
  451. fi
  452. if [ ! -f sip-4.17/build-done ]; then
  453. cd sip-4.17
  454. python3 configure.py
  455. make
  456. make install
  457. touch build-done
  458. cd ..
  459. fi
  460. # ------------------------------------------------------------------------------------
  461. # pyliblo
  462. if [ ! -d pyliblo-0.9.2 ]; then
  463. curl -O http://das.nasophon.de/download/pyliblo-0.9.2.tar.gz
  464. tar -xf pyliblo-0.9.2.tar.gz
  465. fi
  466. if [ ! -f pyliblo-0.9.2/build-done ]; then
  467. cd pyliblo-0.9.2
  468. env CFLAGS="$CFLAGS -I$TARGETDIR/carla64/include" LDFLAGS="$LDFLAGS -L$TARGETDIR/carla64/lib" python3 setup.py build
  469. python3 setup.py install --prefix=$PREFIX
  470. touch build-done
  471. cd ..
  472. fi
  473. # ------------------------------------------------------------------------------------
  474. # pyqt5
  475. if [ ! -d PyQt-gpl-5.5.1 ]; then
  476. curl -L http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.5.1/PyQt-gpl-5.5.1.tar.gz -o PyQt-gpl-5.5.1.tar.gz
  477. tar -xf PyQt-gpl-5.5.1.tar.gz
  478. fi
  479. if [ ! -f PyQt-gpl-5.5.1/build-done ]; then
  480. cd PyQt-gpl-5.5.1
  481. python3 configure.py --confirm-license -c
  482. make
  483. make install
  484. touch build-done
  485. cd ..
  486. fi
  487. # ------------------------------------------------------------------------------------
  488. # cxfreeze
  489. if [ ! -d cx_Freeze-4.3.3 ]; then
  490. curl -L http://download.sourceforge.net/cx-freeze/cx_Freeze-4.3.3.tar.gz -o cx_Freeze-4.3.3.tar.gz
  491. tar -xf cx_Freeze-4.3.3.tar.gz
  492. fi
  493. if [ ! -f cx_Freeze-4.3.3/build-done ]; then
  494. cd cx_Freeze-4.3.3
  495. sed -i -e 's/"python%s.%s"/"python%s.%sm"/' setup.py
  496. python3 setup.py build
  497. python3 setup.py install --prefix=$PREFIX
  498. touch build-done
  499. cd ..
  500. fi
  501. # ------------------------------------------------------------------------------------