mach 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #/bin/bash
  2. # == | Setup | ========================================================================================================
  3. set -x #echo on
  4. # ---------------------------------------------------------------------------------------------------------------------
  5. if [[ -z "$1" ]]; then
  6. printf "${0} usage: bootstrap | build | run\n"
  7. exit 1
  8. fi
  9. # =====================================================================================================================
  10. # == | Functions | ====================================================================================================
  11. shmach_cmd_bootstrap() {
  12. mkdir -pv "./.obj/cache"
  13. cd "./.obj/cache"
  14. # --------------------------------- #
  15. SEAMONKEY_HGBUNDLE_BASEURL="https://files.thereisonlyxul.org/seamonkey"
  16. SEAMONKEY_MOZILLA_RELEASE="sm-mozilla-release.hgbundle"
  17. SEAMONKEY_COMM_RELEASE="sm-comm-release.hgbundle"
  18. if [[ ! -f "./${SEAMONKEY_MOZILLA_RELEASE}" ]]; then
  19. wget $SEAMONKEY_HGBUNDLE_BASEURL/$SEAMONKEY_MOZILLA_RELEASE
  20. wget $SEAMONKEY_HGBUNDLE_BASEURL/$SEAMONKEY_COMM_RELEASE
  21. fi
  22. # --------------------------------- #
  23. SEAMONKEY_WIP_REPO_BASEURL="https://gitlab.com/frg/seamonkey-wip"
  24. SEAMONKEY_WIP_GITTYPE=".git"
  25. SEAMONKEY_WIP_SHA1="daf4764a780c3f14b1450e475e10364e1ebc03e5"
  26. SEAMONKEY_WIP_FILENAME="seamonkey-wip-${SEAMONKEY_WIP_SHA1}"
  27. SEAMONKEY_WIP_FILETYPE=".zip"
  28. SEAMONKEY_WIP_ARCHIVE_URL="${SEAMONKEY_WIP_REPO_BASEURL}/-/archive/${SEAMONKEY_WIP_SHA1}/${SEAMONKEY_WIP_FILENAME}${SEAMONKEY_WIP_FILETYPE}"
  29. if [[ ! -f "./${SEAMONKEY_WIP_FILENAME}${SEAMONKEY_WIP_FILETYPE}" ]]; then
  30. wget $SEAMONKEY_WIP_ARCHIVE_URL
  31. fi
  32. cd ..
  33. # --------------------------------- #
  34. if [[ ! -d "./source" ]]; then
  35. hg clone ./cache/$SEAMONKEY_MOZILLA_RELEASE source
  36. hg clone ./cache/$SEAMONKEY_COMM_RELEASE source/comm
  37. fi
  38. # --------------------------------- #
  39. if [[ ! -d "./patches" ]]; then
  40. unzip ./cache/${SEAMONKEY_WIP_FILENAME}${SEAMONKEY_WIP_FILETYPE}
  41. mv -v ${SEAMONKEY_WIP_FILENAME} patches
  42. cp -rv ./patches/frg/work-js/mozilla-release/patches ./source/.hg/
  43. cp -rv ./patches/frg/work-js/comm-release/patches ./source/comm/.hg/
  44. cd "./source/comm"
  45. hg qpush --all --encodingmode replace
  46. cd ..
  47. hg qpush --all --encodingmode replace
  48. cd ..
  49. fi
  50. # --------------------------------- #
  51. printf "${0} information: Bootstrap complete.\n"
  52. }
  53. # ---------------------------------------------------------------------------------------------------------------------
  54. shmach_cmd_build() {
  55. printf "${0} information: Build complete.\n"
  56. }
  57. # ---------------------------------------------------------------------------------------------------------------------
  58. shmach_cmd_run() {
  59. printf "${0} information: Run complete.\n"
  60. }
  61. # =====================================================================================================================
  62. # == | Main | =========================================================================================================
  63. "shmach_cmd_${@:1}"
  64. exit 0
  65. # =====================================================================================================================