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.

build-deps.sh 17KB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604
  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.8 ]; then
  111. curl -O http://zlib.net/zlib-1.2.8.tar.gz
  112. tar -xf zlib-1.2.8.tar.gz
  113. fi
  114. if [ ! -f zlib-1.2.8/build-done ]; then
  115. cd zlib-1.2.8
  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/official_releases/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/official_releases/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/official_releases/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. # ------------------------------------------------------------------------------------