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.

161 lines
4.1KB

  1. #!/bin/bash
  2. set -e
  3. mkdir -p binaries
  4. mkdir -p binaries/downloads
  5. rm -f binaries/*.xz
  6. rm -f binaries/*.zip
  7. # ---------------------------------------------------------------------------------------------------------------------
  8. # set vars
  9. PORTS_VERSION=2018-04-16
  10. PORTS_URL=https://github.com/DISTRHO/DISTRHO-Ports/releases/download
  11. PLUGINS_VERSION=v1.1
  12. PLUGINS_URL=https://github.com/DISTRHO/DPF-Plugins/releases/download
  13. export XZ_OPT=9
  14. # ---------------------------------------------------------------------------------------------------------------------
  15. # download release
  16. function downloadPorts() {
  17. cd binaries/downloads
  18. wget -c ${PORTS_URL}/${PORTS_VERSION}/DISTRHO-Ports-${PORTS_VERSION}-linux${1}.tar.xz
  19. cd ../..
  20. }
  21. function downloadPlugins() {
  22. cd binaries/downloads
  23. wget -c ${PLUGINS_URL}/${PLUGINS_VERSION}/DPF-Plugins-${PLUGINS_VERSION}-linux32bit.tar.gz
  24. wget -c ${PLUGINS_URL}/${PLUGINS_VERSION}/DPF-Plugins-${PLUGINS_VERSION}-linux64bit.tar.gz
  25. wget -c ${PLUGINS_URL}/${PLUGINS_VERSION}/DPF-Plugins-${PLUGINS_VERSION}-macOS.zip
  26. wget -c ${PLUGINS_URL}/${PLUGINS_VERSION}/DPF-Plugins-${PLUGINS_VERSION}-win32bit.zip
  27. wget -c ${PLUGINS_URL}/${PLUGINS_VERSION}/DPF-Plugins-${PLUGINS_VERSION}-win64bit.zip
  28. cd ../..
  29. }
  30. downloadPorts 32
  31. downloadPorts 64
  32. downloadPlugins
  33. # ---------------------------------------------------------------------------------------------------------------------
  34. # extract all packages
  35. cd binaries
  36. rm -rf linux32 linux64 macOS win32 win64 tmp
  37. function extractPkgsForArch() {
  38. mkdir "$1"
  39. cd "$1"
  40. if (echo $1 | grep -q "linux"); then
  41. tar xf ../downloads/*"$1"*.gz
  42. tar xf ../downloads/*"$1"*.xz
  43. else
  44. unzip ../downloads/*"$1"*.zip
  45. fi
  46. cd ..
  47. }
  48. extractPkgsForArch linux32
  49. extractPkgsForArch linux64
  50. extractPkgsForArch macOS
  51. extractPkgsForArch win32
  52. extractPkgsForArch win64
  53. cd ..
  54. # ---------------------------------------------------------------------------------------------------------------------
  55. # pack Stuff
  56. function packSingleOS() {
  57. RTYPE="$1"
  58. OS="$2"
  59. rm -rf tmp
  60. mkdir tmp
  61. for p in $PLUGINS; do
  62. if (echo $OS | grep -q "linux"); then
  63. mv $OS/*/*/$p* tmp/
  64. else
  65. mv $OS/*/$p* tmp/
  66. fi
  67. done
  68. if [ "$RTYPE" = "DPF" ]; then
  69. cp $OS/*/README* tmp/
  70. else
  71. cp README-$RTYPE tmp/README
  72. fi
  73. mv tmp $PACK_NAME-$OS
  74. if (echo $OS | grep -q "linux"); then
  75. rm -f $PACK_NAME-$OS.tar.xz
  76. tar cJf $PACK_NAME-$OS.tar.xz $PACK_NAME-$OS
  77. else
  78. rm -f $PACK_NAME-$OS.zip
  79. zip -r $PACK_NAME-$OS.zip $PACK_NAME-$OS
  80. fi
  81. rm -r $PACK_NAME-$OS
  82. }
  83. function packPlugins() {
  84. PACK_NAME="$1"
  85. PLUGINS="$2 $3 $4 $5 $6"
  86. packSingleOS DPF linux32
  87. packSingleOS DPF linux64
  88. packSingleOS DPF macOS
  89. packSingleOS DPF win32
  90. packSingleOS DPF win64
  91. }
  92. function packPorts() {
  93. PACK_NAME="$1"
  94. PLUGINS="$2 $3 $4 $5 $6"
  95. packSingleOS DISTRHO linux32
  96. packSingleOS DISTRHO linux64
  97. }
  98. # ---------------------------------------------------------------------------------------------------------------------
  99. # pack everything!!
  100. cd binaries
  101. # Plugins
  102. packPlugins distrho-glbars glBars
  103. packPlugins distrho-kars Kars
  104. packPlugins distrho-mini-series 3BandEQ 3BandSplitter PingPongPan
  105. packPlugins distrho-nekobi Nekobi
  106. # packPlugins distrho-prom ProM
  107. # Ports, from DPF
  108. packPlugins mverb MVerb
  109. packPlugins ndc-plugins AmplitudeImposer CycleShifter SoulForce
  110. # Ports, from Juce
  111. packPorts arctican-plugins TheFunction ThePilgrim
  112. packPorts dexed Dexed
  113. packPorts drowaudio-plugins drowaudio-
  114. packPorts easyssp EasySSP
  115. packPorts juce-opl JuceOPL
  116. packPorts juced-plugins drumsynth eqinox
  117. packPorts klangfalter KlangFalter
  118. packPorts lufsmeter LUFSMeter
  119. packPorts luftikus Luftikus
  120. packPorts obxd Obxd
  121. packPorts pitcheddelay PitchedDelay
  122. packPorts refine ReFine
  123. packPorts stereosourceseparation StereoSourceSeparation
  124. packPorts tal-plugins TAL
  125. packPorts vex Vex vex
  126. packPorts wolpertinger Wolpertinger
  127. cd ..
  128. # ---------------------------------------------------------------------------------------------------------------------