Cross-Platform build scripts for audio plugins
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.

177 lines
5.2KB

  1. #!/bin/bash
  2. # ---------------------------------------------------------------------------------------------------------------------
  3. # common URLs
  4. DROBILLA_URL=https://download.drobilla.net/
  5. XIPH_URL=https://downloads.xiph.org/releases
  6. # ---------------------------------------------------------------------------------------------------------------------
  7. # bootstrap base
  8. PKG_CONFIG_VERSION=0.28
  9. PKG_CONFIG_URL=https://pkg-config.freedesktop.org/releases
  10. # ---------------------------------------------------------------------------------------------------------------------
  11. # bootstrap common
  12. LIBOGG_VERSION=1.3.5
  13. LIBOGG_URL=${XIPH_URL}/ogg
  14. LIBVORBIS_VERSION=1.3.7
  15. LIBVORBIS_URL=${XIPH_URL}/vorbis
  16. FLAC_VERSION=1.3.3
  17. FLAC_URL=${XIPH_URL}/flac
  18. OPUS_VERSION=1.3.1
  19. OPUS_URL=https://archive.mozilla.org/pub/opus
  20. LIBSNDFILE_VERSION=1.0.31
  21. LIBSNDFILE_URL=https://github.com/libsndfile/libsndfile/releases/download/${LIBSNDFILE_VERSION}
  22. LIBSAMPLERATE_VERSION=0.1.9
  23. LIBSAMPLERATE_URL=http://www.mega-nerd.com/SRC
  24. ZLIB_VERSION=cacf7f1d4e3d44d871b605da3b647f07d718623f # 1.2.11
  25. ZLIB_URL=https://github.com/madler/zlib.git
  26. # ---------------------------------------------------------------------------------------------------------------------
  27. # bootstrap plugins
  28. FFTW_VERSION=3.3.10
  29. FFTW_URL=http://www.fftw.org
  30. PCRE_VERSION=8.45
  31. PCRE_URL=http://download.sourceforge.net/pcre
  32. if [ "${MACOS}" -eq 1 ]; then
  33. LIBFFI_VERSION=3.3
  34. # LIBFFI_URL=https://sourceware.org/pub/libffi
  35. GLIB_MVERSION=2.22
  36. GLIB_VERSION=2.22.5
  37. GLIB_TAR_EXT=tar.gz
  38. else
  39. LIBFFI_VERSION=3.4.2
  40. GLIB_MVERSION=2.45
  41. GLIB_VERSION=2.45.8
  42. GLIB_TAR_EXT=tar.xz
  43. fi
  44. LIBFFI_URL=https://github.com/libffi/libffi/releases/download/v${LIBFFI_VERSION}
  45. GLIB_URL=https://download.gnome.org/sources/glib/${GLIB_MVERSION}
  46. LIBLO_VERSION=0.31
  47. LIBLO_URL=http://download.sourceforge.net/liblo
  48. LV2_VERSION=6cefc7df1a6158c79d23029df183c09b10b88cad
  49. LV2_URL=https://gitlab.com/lv2/lv2.git
  50. SERD_VERSION=0.30.8
  51. SERD_URL=${DROBILLA_URL}
  52. SORD_VERSION=0.16.8
  53. SORD_URL=${DROBILLA_URL}
  54. SRATOM_VERSION=0.6.8
  55. SRATOM_URL=${DROBILLA_URL}
  56. LILV_VERSION=0.24.12
  57. LILV_URL=${DROBILLA_URL}
  58. LV2LINT_VERSION=0.14.0
  59. LV2LINT_URL=https://gitlab.com/OpenMusicKontrollers/lv2lint/-/archive/${LV2LINT_VERSION}
  60. KXSTUDIO_LV2_EXTENSIONS_VERSION=4f6802f9f0ac9f5e2a909e4ab2cfbf71648a1b1d
  61. KXSTUDIO_LV2_EXTENSIONS_URL=https://github.com/KXStudio/LV2-Extensions.git
  62. MOD_SDK_VERSION=21a80729dde1439dcea03bfafbc42981fb503d8a
  63. MOD_SDK_URL=https://github.com/moddevices/mod-sdk.git
  64. FLUIDSYNTH_VERSION=f65c6ba25fb2c7e37c89fc6a4afc5aa645e208c2 # 1.1.11
  65. FLUIDSYNTH_URL=https://github.com/FluidSynth/fluidsynth.git
  66. MXML_VERSION=38b044ed8ca2a611ed9ed3e26c4b46416335194e # 3.2
  67. MXML_URL=https://github.com/michaelrsweet/mxml.git
  68. CARLA_VERSION=613e6950581ad0cb3c037fac7f0db89633e099e6
  69. CARLA_URL=https://github.com/falkTX/Carla.git
  70. # ---------------------------------------------------------------------------------------------------------------------
  71. # check if lv2lint is supported
  72. LV2LINT_SUPPORTED=1
  73. if [ "${CROSS_COMPILING}" -eq 1 ]; then
  74. LV2LINT_SUPPORTED=0
  75. fi
  76. if [ "${MACOS}" -eq 1 ] && [ "$(uname -r)" = "12.6.0" ]; then
  77. LV2LINT_SUPPORTED=0
  78. fi
  79. # ---------------------------------------------------------------------------------------------------------------------
  80. # bootstrap qt stuff
  81. if [ "${MACOS_UNIVERSAL}" -eq 1 ] || [ "${WIN32}" -eq 1 ]; then
  82. QT5_VERSION=5.12.12
  83. QT5_MVERSION=5.12
  84. else
  85. QT5_VERSION=5.9.8
  86. QT5_MVERSION=5.9
  87. fi
  88. QT5_URL=https://download.qt.io/archive/qt/${QT5_MVERSION}/${QT5_VERSION}/submodules
  89. # ---------------------------------------------------------------------------------------------------------------------
  90. # bootstrap carla
  91. FILE_VERSION=5.34
  92. FILE_URL=ftp://ftp.astron.com/pub/file
  93. if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
  94. CXFREEZE_VERSION=a59a0f6c476554c1a789de2a9f6f77329d6a6dd1 # 6.8.4
  95. PYTHON_VERSION=3.9.5
  96. PYLIBLO_VERSION=0.10.0
  97. PYQT5_VERSION=5.13.1
  98. SIP_VERSION=4.19.19
  99. # extra, needed for pyliblo
  100. CYTHON_VERSION=0.29.21
  101. # extra, needed for cxfreeze
  102. IMPORTLIB_METADATA_VERSION=4.10.1
  103. SETUPTOOLS_SCM_VERSION=5.0.0
  104. TOML_VERSION=0.10.2
  105. ZIPP_VERSION=3.4.0
  106. elif [ "${WIN32}" -eq 1 ]; then
  107. CXFREEZE_VERSION=6c1d6f23f401d40368d4fab5cd710a784b114a12 # 6.1
  108. PYTHON_VERSION=3.8.7
  109. PYLIBLO_VERSION=0.9.2
  110. PYQT5_VERSION=5.13.1
  111. SIP_VERSION=4.19.19
  112. else
  113. CXFREEZE_VERSION=6c1d6f23f401d40368d4fab5cd710a784b114a12 # 6.1
  114. PYTHON_VERSION=3.7.4
  115. PYLIBLO_VERSION=0.9.2
  116. PYQT5_VERSION=5.9.2
  117. SIP_VERSION=4.19.13
  118. fi
  119. # ---------------------------------------------------------------------------------------------------------------------
  120. # bootstrap jack
  121. AFTEN_VERSION=0.0.8
  122. AFTEN_URL=http://downloads.sourceforge.net/aften
  123. DB_VERSION=5.3.28
  124. DB_URL=https://download.oracle.com/berkeley-db
  125. PORTAUDIO_VERSION=19.6.0
  126. PORTAUDIO_URL=http://deb.debian.org/debian/pool/main/p/portaudio19
  127. RTAUDIO_VERSION=e03448bd15c1c34e842459939d755f5f89e880ed
  128. RTAUDIO_URL=https://github.com/falkTX/rtaudio.git
  129. TRE_VERSION=6092368aabdd0dbb0fbceb2766a37b98e0ff6911
  130. TRE_URL=https://github.com/laurikari/tre.git
  131. # ---------------------------------------------------------------------------------------------------------------------