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 18KB

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