cmake_release_cygwin.sh 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #!/bin/sh
  2. #
  3. # CMake Cygwin package creation script. Run this in an empty
  4. # directory from a separate CMake checkout.
  5. #
  6. # Find our own script's location.
  7. SELFPATH=`cd \`echo $0 | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
  8. # Read version numbers.
  9. . ${SELFPATH}/cmake_release_version.sh
  10. CVS_TAG="-r ${CURRENT_TAG}"
  11. PKG=cmake
  12. VER="${CURRENT_VERSION}"
  13. REL="${CURRENT_RELEASE}"
  14. PREVER="${PREVIOUS_VERSION}"
  15. PREREL="${PREVIOUS_RELEASE}"
  16. CVSROOT=":pserver:[email protected]:/cvsroot/CMake"
  17. FULLPKG="${PKG}-${VER}-${REL}"
  18. SELF_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
  19. WriteREADME()
  20. {
  21. CYGVERSION=`uname -r`
  22. cat > ${PKG}-${VER}/CYGWIN-PATCHES/cmake.README <<EOF
  23. cmake
  24. --------------------------------------
  25. Runtime requirements:
  26. cygwin-${CYGVERSION} or newer
  27. Build requirements
  28. cygwin-${CYGVERSION} or newer
  29. make
  30. Canonical homepage:
  31. http://www.cmake.org
  32. Canonical download:
  33. ftp://www.cmake.org/pub/cmake/
  34. ------------------------------------
  35. Build instructions:
  36. unpack ${FULLPKG}-src.tar.bz2
  37. if you use setup to install this src package, it will be
  38. unpacked under /usr/src automatically
  39. cd /usr/src
  40. ./${FULLPKG}.sh all
  41. This will create:
  42. /usr/src/${FULLPKG}.tar.bz2
  43. /usr/src/${FULLPKG}-src.tar.bz2
  44. -------------------------------------------
  45. Port Notes:
  46. <none>
  47. ------------------
  48. Cygwin port maintained by: CMake Developers <[email protected]>
  49. EOF
  50. }
  51. WriteSetupHint()
  52. {
  53. cat > ${PKG}-${VER}/CYGWIN-PATCHES/setup.hint <<EOF
  54. # CMake setup.hint file for cygwin setup.exe program
  55. category: Devel
  56. requires: libncurses6 cygwin
  57. sdesc: "A cross platform build manger"
  58. ldesc: "CMake is a cross platform build manager. It allows you to specify build parameters for C and C++ programs in a cross platform manner. For cygwin Makefiles will be generated. CMake is also capable of generating microsoft project files, nmake, and borland makefiles. CMake can also perform system inspection operations like finding installed libraries and header files."
  59. prev: ${PREVER}-${PREREL}
  60. curr: ${VER}-${REL}
  61. EOF
  62. dos2unix ${PKG}-${VER}/CYGWIN-PATCHES/setup.hint
  63. cp ${PKG}-${VER}/CYGWIN-PATCHES/setup.hint ./setup.hint
  64. }
  65. SourceTarball()
  66. {
  67. cvs -z3 -d ${CVSROOT} export ${CVS_TAG} CMake &&
  68. mv CMake ${PKG}-${VER} &&
  69. tar cvjf ${PKG}-${VER}.tar.bz2 ${PKG}-${VER}
  70. }
  71. SourcePatch()
  72. {
  73. mv ${PKG}-${VER} ${PKG}-${VER}-orig &&
  74. tar xvjf ${PKG}-${VER}.tar.bz2 &&
  75. mkdir -p ${PKG}-${VER}/CYGWIN-PATCHES &&
  76. WriteREADME &&
  77. WriteSetupHint &&
  78. (diff -urN "${PKG}-${VER}-orig" "${PKG}-${VER}" > "${FULLPKG}.patch")
  79. rm -rf ${PKG}-${VER} ${PKG}-${VER}-orig
  80. }
  81. CygwinScript()
  82. {
  83. cp ${SELF_DIR}/cmake-cygwin-package.sh ./${FULLPKG}.sh
  84. chmod u+x ./${FULLPKG}.sh
  85. }
  86. Package()
  87. {
  88. ./${FULLPKG}.sh all
  89. }
  90. SourceTarball && SourcePatch && CygwinScript && Package