Hex Artifact Content

Artifact 27c36f15470b6cc743c78222e1f57670a11362eb:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 23 20  #! /bin/bash..# 
0010: 44 65 66 69 6e 65 20 70 61 72 61 6d 65 74 65 72  Define parameter
0020: 73 0a 56 45 52 53 3d 31 2e 34 0a 53 52 43 3d 22  s.VERS=1.4.SRC="
0030: 73 72 63 2f 74 6b 69 6d 67 24 7b 56 45 52 53 7d  src/tkimg${VERS}
0040: 2e 74 61 72 2e 67 7a 22 0a 53 52 43 55 52 4c 3d  .tar.gz".SRCURL=
0050: 22 68 74 74 70 3a 2f 2f 73 6f 75 72 63 65 66 6f  "http://sourcefo
0060: 72 67 65 2e 6e 65 74 2f 70 72 6f 6a 65 63 74 73  rge.net/projects
0070: 2f 74 6b 69 6d 67 2f 66 69 6c 65 73 2f 74 6b 69  /tkimg/files/tki
0080: 6d 67 2f 24 7b 56 45 52 53 7d 2f 74 6b 69 6d 67  mg/${VERS}/tkimg
0090: 24 7b 56 45 52 53 7d 2e 74 61 72 2e 67 7a 2f 64  ${VERS}.tar.gz/d
00a0: 6f 77 6e 6c 6f 61 64 22 0a 42 55 49 4c 44 44 49  ownload".BUILDDI
00b0: 52 3d 22 74 6b 69 6d 67 24 7b 56 45 52 53 7d 22  R="tkimg${VERS}"
00c0: 0a 65 78 70 6f 72 74 20 56 45 52 53 20 53 52 43  .export VERS SRC
00d0: 20 53 52 43 55 52 4c 20 42 55 49 4c 44 44 49 52   SRCURL BUILDDIR
00e0: 0a 0a 23 20 4c 6f 61 64 20 63 6f 6d 6d 6f 6e 20  ..# Load common 
00f0: 66 75 6e 63 74 69 6f 6e 73 0a 73 6f 75 72 63 65  functions.source
0100: 20 2e 2e 2f 63 6f 6d 6d 6f 6e 2e 73 68 0a 0a 23   ../common.sh..#
0110: 20 44 6f 20 6e 6f 74 20 62 75 69 6c 64 20 69 66   Do not build if
0120: 20 74 68 65 20 22 74 63 6c 22 20 70 6c 61 74 66   the "tcl" platf
0130: 6f 72 6d 20 68 61 73 20 62 65 65 6e 20 72 65 71  orm has been req
0140: 75 65 73 74 65 64 0a 6e 6f 74 5f 70 6c 61 74 66  uested.not_platf
0150: 6f 72 6d 73 20 27 74 63 6c 27 0a 0a 23 20 44 6f  orms 'tcl'..# Do
0160: 77 6e 6c 6f 61 64 20 73 6f 75 72 63 65 0a 64 6f  wnload source.do
0170: 77 6e 6c 6f 61 64 5f 73 72 63 0a 0a 23 20 57 65  wnload_src..# We
0180: 20 72 65 71 75 69 72 65 20 6c 69 6e 6b 69 6e 67   require linking
0190: 20 61 67 61 69 6e 73 74 20 54 6b 2c 20 73 6f 20   against Tk, so 
01a0: 66 69 6e 64 20 54 6b 20 38 2e 34 20 61 6e 64 20  find Tk 8.4 and 
01b0: 75 73 65 20 69 74 2e 20 20 49 66 20 69 74 20 63  use it.  If it c
01c0: 61 6e 27 74 20 62 65 20 66 6f 75 6e 64 2c 20 61  an't be found, a
01d0: 62 6f 72 74 2e 0a 74 63 6c 5f 70 6c 61 74 5f 62  bort..tcl_plat_b
01e0: 75 69 6c 64 5f 64 69 72 3d 22 24 28 62 61 73 65  uild_dir="$(base
01f0: 6e 61 6d 65 20 22 24 7b 54 43 4c 42 55 49 4c 44  name "${TCLBUILD
0200: 44 49 52 7d 22 29 22 0a 74 6b 64 69 72 3d 22 24  DIR}")".tkdir="$
0210: 28 65 63 68 6f 20 22 24 28 70 77 64 29 2f 2e 2e  (echo "$(pwd)/..
0220: 2f 54 6b 38 34 2f 62 75 69 6c 64 22 2f 74 6b 2a  /Tk84/build"/tk*
0230: 2f 24 7b 74 63 6c 5f 70 6c 61 74 5f 62 75 69 6c  /${tcl_plat_buil
0240: 64 5f 64 69 72 7d 29 22 0a 69 66 20 5b 20 21 20  d_dir})".if [ ! 
0250: 2d 64 20 22 24 7b 74 6b 64 69 72 7d 22 20 2d 6f  -d "${tkdir}" -o
0260: 20 21 20 2d 66 20 22 24 7b 74 6b 64 69 72 7d 2f   ! -f "${tkdir}/
0270: 74 6b 43 6f 6e 66 69 67 2e 73 68 22 20 5d 3b 20  tkConfig.sh" ]; 
0280: 74 68 65 6e 0a 09 65 63 68 6f 20 22 55 6e 61 62  then..echo "Unab
0290: 6c 65 20 74 6f 20 66 69 6e 64 20 54 6b 20 38 2e  le to find Tk 8.
02a0: 34 20 64 69 72 65 63 74 6f 72 79 2c 20 70 6c 65  4 directory, ple
02b0: 61 73 65 20 62 75 69 6c 64 20 54 6b 38 34 20 62  ase build Tk84 b
02c0: 65 66 6f 72 65 20 54 6b 69 6d 67 22 20 3e 26 32  efore Tkimg" >&2
02d0: 0a 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a 23 20  ...exit 1.fi..# 
02e0: 44 65 74 65 72 6d 69 6e 65 20 69 6e 73 74 61 6c  Determine instal
02f0: 6c 61 74 69 6f 6e 20 72 6f 6f 74 0a 0a 49 4e 53  lation root..INS
0300: 54 52 4f 4f 54 3d 22 24 28 70 77 64 29 2f 6f 75  TROOT="$(pwd)/ou
0310: 74 22 0a 65 78 70 6f 72 74 20 49 4e 53 54 52 4f  t".export INSTRO
0320: 4f 54 0a 0a 23 20 42 75 69 6c 64 20 70 61 63 6b  OT..# Build pack
0330: 61 67 65 0a 28 0a 09 72 6d 20 2d 72 66 20 62 75  age.(..rm -rf bu
0340: 69 6c 64 0a 09 6d 6b 64 69 72 20 2d 70 20 22 24  ild..mkdir -p "$
0350: 7b 49 4e 53 54 44 49 52 7d 22 20 3e 2f 64 65 76  {INSTDIR}" >/dev
0360: 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c  /null 2>/dev/nul
0370: 6c 0a 09 6d 6b 64 69 72 20 62 75 69 6c 64 0a 0a  l..mkdir build..
0380: 09 63 64 20 62 75 69 6c 64 2f 20 7c 7c 20 65 78  .cd build/ || ex
0390: 69 74 20 31 0a 0a 09 67 7a 69 70 20 2d 64 63 20  it 1...gzip -dc 
03a0: 22 2e 2e 2f 24 7b 53 52 43 7d 22 20 7c 20 74 61  "../${SRC}" | ta
03b0: 72 20 2d 78 66 20 2d 0a 09 63 64 20 22 24 7b 42  r -xf -..cd "${B
03c0: 55 49 4c 44 44 49 52 7d 22 20 7c 7c 20 65 78 69  UILDDIR}" || exi
03d0: 74 20 31 0a 0a 09 49 4e 53 54 44 49 52 3d 22 24  t 1...INSTDIR="$
03e0: 7b 49 4e 53 54 52 4f 4f 54 7d 2f 5f 5f 54 4d 50  {INSTROOT}/__TMP
03f0: 5f 5f 2f 24 7b 50 4c 41 54 46 4f 52 4d 7d 22 0a  __/${PLATFORM}".
0400: 0a 09 62 61 73 68 20 2e 2f 63 6f 6e 66 69 67 75  ..bash ./configu
0410: 72 65 20 2d 2d 65 6e 61 62 6c 65 2d 73 68 61 72  re --enable-shar
0420: 65 64 20 2d 2d 77 69 74 68 2d 74 63 6c 3d 22 24  ed --with-tcl="$
0430: 7b 54 43 4c 43 4f 4e 46 49 47 44 49 52 7d 22 20  {TCLCONFIGDIR}" 
0440: 2d 2d 77 69 74 68 2d 74 6b 3d 22 24 7b 74 6b 64  --with-tk="${tkd
0450: 69 72 7d 22 20 2d 2d 70 72 65 66 69 78 3d 22 24  ir}" --prefix="$
0460: 7b 49 4e 53 54 44 49 52 7d 22 20 2d 2d 6c 69 62  {INSTDIR}" --lib
0470: 64 69 72 3d 22 24 7b 49 4e 53 54 44 49 52 7d 22  dir="${INSTDIR}"
0480: 20 2d 2d 62 69 6e 64 69 72 3d 22 24 7b 49 4e 53   --bindir="${INS
0490: 54 44 49 52 7d 22 20 24 7b 43 4f 4e 46 49 47 55  TDIR}" ${CONFIGU
04a0: 52 45 45 58 54 52 41 7d 0a 0a 09 24 7b 4d 41 4b  REEXTRA}...${MAK
04b0: 45 3a 2d 6d 61 6b 65 7d 20 7c 7c 20 65 78 69 74  E:-make} || exit
04c0: 20 31 0a 0a 09 24 7b 4d 41 4b 45 3a 2d 6d 61 6b   1...${MAKE:-mak
04d0: 65 7d 20 69 6e 73 74 61 6c 6c 20 7c 7c 20 65 78  e} install || ex
04e0: 69 74 20 31 0a 0a 09 6d 76 20 22 24 7b 49 4e 53  it 1...mv "${INS
04f0: 54 44 49 52 7d 2f 49 6d 67 24 7b 56 45 52 53 7d  TDIR}/Img${VERS}
0500: 22 2f 2a 20 22 24 7b 49 4e 53 54 44 49 52 7d 2f  "/* "${INSTDIR}/
0510: 22 0a 09 72 6d 20 2d 72 66 20 22 24 7b 49 4e 53  "..rm -rf "${INS
0520: 54 44 49 52 7d 2f 49 6d 67 24 7b 56 45 52 53 7d  TDIR}/Img${VERS}
0530: 22 0a 0a 09 72 6d 20 2d 66 20 22 24 7b 49 4e 53  "...rm -f "${INS
0540: 54 44 49 52 7d 22 2f 2a 2e 61 20 22 24 7b 49 4e  TDIR}"/*.a "${IN
0550: 53 54 44 49 52 7d 22 2f 2a 2e 73 68 0a 09 72 6d  STDIR}"/*.sh..rm
0560: 20 2d 72 66 20 22 24 7b 49 4e 53 54 44 49 52 7d   -rf "${INSTDIR}
0570: 2f 69 6e 63 6c 75 64 65 22 20 22 24 7b 49 4e 53  /include" "${INS
0580: 54 44 49 52 7d 2f 73 68 61 72 65 22 0a 29 20 7c  TDIR}/share".) |
0590: 7c 20 65 78 69 74 20 31 0a 0a 23 20 53 70 6c 69  | exit 1..# Spli
05a0: 74 20 70 61 63 6b 61 67 65 20 69 6e 74 6f 20 70  t package into p
05b0: 69 65 63 65 73 0a 28 0a 09 63 64 20 22 24 7b 49  ieces.(..cd "${I
05c0: 4e 53 54 52 4f 4f 54 7d 2f 5f 5f 54 4d 50 5f 5f  NSTROOT}/__TMP__
05d0: 2f 24 7b 50 4c 41 54 46 4f 52 4d 7d 22 20 7c 7c  /${PLATFORM}" ||
05e0: 20 65 78 69 74 20 31 0a 0a 09 69 66 20 5b 20 21   exit 1...if [ !
05f0: 20 2d 66 20 22 70 6b 67 49 6e 64 65 78 2e 74 63   -f "pkgIndex.tc
0600: 6c 22 20 5d 3b 20 74 68 65 6e 0a 09 09 65 63 68  l" ]; then...ech
0610: 6f 20 22 55 6e 61 62 6c 65 20 74 6f 20 66 69 6e  o "Unable to fin
0620: 64 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 20 69  d pkgIndex.tcl i
0630: 6e 20 24 28 70 77 64 29 2c 20 61 62 6f 72 74 69  n $(pwd), aborti
0640: 6e 67 2e 22 0a 0a 09 09 65 78 69 74 20 31 0a 09  ng."....exit 1..
0650: 66 69 0a 0a 09 63 61 74 20 70 6b 67 49 6e 64 65  fi...cat pkgInde
0660: 78 2e 74 63 6c 20 7c 20 77 68 69 6c 65 20 72 65  x.tcl | while re
0670: 61 64 20 70 61 63 6b 61 67 65 20 69 66 6e 65 65  ad package ifnee
0680: 64 65 64 20 70 6b 67 20 76 65 72 73 20 65 78 74  ded pkg vers ext
0690: 72 61 3b 20 64 6f 0a 09 09 69 66 20 5b 20 22 24  ra; do...if [ "$
06a0: 7b 70 61 63 6b 61 67 65 7d 22 20 21 3d 20 22 70  {package}" != "p
06b0: 61 63 6b 61 67 65 22 20 2d 6f 20 22 24 7b 69 66  ackage" -o "${if
06c0: 6e 65 65 64 65 64 7d 22 20 21 3d 20 22 69 66 6e  needed}" != "ifn
06d0: 65 65 64 65 64 22 20 5d 3b 20 74 68 65 6e 0a 09  eeded" ]; then..
06e0: 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 66 69 0a  ..continue...fi.
06f0: 0a 09 09 49 4e 53 54 44 49 52 3d 22 24 7b 49 4e  ...INSTDIR="${IN
0700: 53 54 52 4f 4f 54 7d 2f 24 7b 70 6b 67 7d 2d 24  STROOT}/${pkg}-$
0710: 7b 76 65 72 73 7d 2f 24 7b 50 4c 41 54 46 4f 52  {vers}/${PLATFOR
0720: 4d 7d 22 0a 0a 09 09 6d 6b 64 69 72 20 2d 70 20  M}"....mkdir -p 
0730: 22 24 7b 49 4e 53 54 44 49 52 7d 22 20 7c 7c 20  "${INSTDIR}" || 
0740: 65 78 69 74 20 31 0a 0a 09 09 23 20 48 61 6e 64  exit 1....# Hand
0750: 6c 65 20 74 68 69 73 20 6d 65 74 61 2d 70 61 63  le this meta-pac
0760: 6b 61 67 65 0a 09 09 69 66 20 5b 20 22 24 7b 70  kage...if [ "${p
0770: 6b 67 7d 22 20 3d 20 22 49 6d 67 22 20 2d 61 20  kg}" = "Img" -a 
0780: 22 24 7b 65 78 74 72 61 7d 22 20 3d 20 22 7b 22  "${extra}" = "{"
0790: 20 5d 3b 20 74 68 65 6e 0a 09 09 09 70 6b 67 66   ]; then....pkgf
07a0: 69 6c 65 3d 27 27 0a 0a 09 09 09 65 63 68 6f 20  ile=''.....echo 
07b0: 22 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65  "package ifneede
07c0: 64 20 24 7b 70 6b 67 7d 20 24 7b 76 65 72 73 7d  d ${pkg} ${vers}
07d0: 20 7b 22 20 3e 20 22 24 7b 49 4e 53 54 44 49 52   {" > "${INSTDIR
07e0: 7d 2f 70 6b 67 49 6e 64 65 78 2e 74 63 6c 22 0a  }/pkgIndex.tcl".
07f0: 0a 09 09 09 77 68 69 6c 65 20 72 65 61 64 20 6c  ....while read l
0800: 69 6e 65 3b 20 64 6f 0a 09 09 09 09 69 66 20 5b  ine; do.....if [
0810: 20 22 24 7b 6c 69 6e 65 7d 22 20 3d 20 22 7d 22   "${line}" = "}"
0820: 20 5d 3b 20 74 68 65 6e 0a 09 09 09 09 09 62 72   ]; then......br
0830: 65 61 6b 0a 09 09 09 09 66 69 0a 0a 09 09 09 09  eak.....fi......
0840: 65 63 68 6f 20 22 20 20 20 20 20 20 20 20 24 7b  echo "        ${
0850: 6c 69 6e 65 7d 22 20 3e 3e 20 22 24 7b 49 4e 53  line}" >> "${INS
0860: 54 44 49 52 7d 2f 70 6b 67 49 6e 64 65 78 2e 74  TDIR}/pkgIndex.t
0870: 63 6c 22 0a 09 09 09 64 6f 6e 65 0a 0a 09 09 09  cl"....done.....
0880: 65 63 68 6f 20 22 7d 22 20 3e 3e 20 22 24 7b 49  echo "}" >> "${I
0890: 4e 53 54 44 49 52 7d 2f 70 6b 67 49 6e 64 65 78  NSTDIR}/pkgIndex
08a0: 2e 74 63 6c 22 0a 0a 09 09 09 70 6b 67 64 65 70  .tcl".....pkgdep
08b0: 73 3d 22 24 28 63 61 74 20 22 24 7b 49 4e 53 54  s="$(cat "${INST
08c0: 44 49 52 7d 2f 70 6b 67 49 6e 64 65 78 2e 74 63  DIR}/pkgIndex.tc
08d0: 6c 22 20 7c 20 67 72 65 70 20 27 70 61 63 6b 61  l" | grep 'packa
08e0: 67 65 20 72 65 71 75 69 72 65 27 20 7c 20 73 65  ge require' | se
08f0: 64 20 27 73 40 5e 2e 2a 70 61 63 6b 61 67 65 20  d 's@^.*package 
0900: 72 65 71 75 69 72 65 20 40 40 27 20 7c 20 74 72  require @@' | tr
0910: 20 22 5c 6e 22 20 27 2c 27 29 22 0a 0a 09 09 09   "\n" ',')".....
0920: 22 24 7b 42 55 49 4c 44 53 59 53 52 4f 4f 54 7d  "${BUILDSYSROOT}
0930: 2f 63 72 65 61 74 65 5f 74 65 61 70 6f 74 22 20  /create_teapot" 
0940: 22 24 7b 49 4e 53 54 44 49 52 7d 2f 74 65 61 70  "${INSTDIR}/teap
0950: 6f 74 2e 74 78 74 22 20 22 24 7b 70 6b 67 7d 22  ot.txt" "${pkg}"
0960: 20 22 24 7b 76 65 72 73 7d 22 20 22 24 7b 53 52   "${vers}" "${SR
0970: 43 55 52 4c 7d 22 20 22 24 7b 50 4c 41 54 46 4f  CURL}" "${PLATFO
0980: 52 4d 7d 22 20 22 54 63 6c 20 38 2e 34 2c 24 7b  RM}" "Tcl 8.4,${
0990: 70 6b 67 64 65 70 73 7d 22 20 22 54 68 65 20 54  pkgdeps}" "The T
09a0: 6b 69 6d 67 20 6d 65 74 61 2d 70 61 63 6b 61 67  kimg meta-packag
09b0: 65 2e 20 20 54 68 69 73 20 70 61 63 6b 61 67 65  e.  This package
09c0: 20 65 6e 68 61 6e 63 65 73 20 54 6b 2c 20 61 64   enhances Tk, ad
09d0: 64 69 6e 67 20 73 75 70 70 6f 72 74 20 66 6f 72  ding support for
09e0: 20 6d 61 6e 79 20 6f 74 68 65 72 20 49 6d 61 67   many other Imag
09f0: 65 20 66 6f 72 6d 61 74 73 3a 20 42 4d 50 2c 20  e formats: BMP, 
0a00: 58 42 4d 2c 20 58 50 4d 2c 20 47 49 46 20 28 77  XBM, XPM, GIF (w
0a10: 69 74 68 20 74 72 61 6e 73 70 61 72 65 6e 63 79  ith transparency
0a20: 2c 20 62 75 74 20 77 69 74 68 6f 75 74 20 4c 5a  , but without LZ
0a30: 57 29 2c 20 50 4e 47 2c 20 4a 50 45 47 2c 20 54  W), PNG, JPEG, T
0a40: 49 46 46 20 61 6e 64 20 70 6f 73 74 73 63 72 69  IFF and postscri
0a50: 70 74 2e 22 0a 0a 09 09 09 63 6f 6e 74 69 6e 75  pt.".....continu
0a60: 65 0a 09 09 66 69 0a 0a 09 09 70 6b 67 66 69 6c  e...fi....pkgfil
0a70: 65 3d 22 24 28 65 63 68 6f 20 22 24 7b 65 78 74  e="$(echo "${ext
0a80: 72 61 7d 22 20 7c 20 73 65 64 20 27 73 40 5e 2e  ra}" | sed 's@^.
0a90: 2a 5c 24 64 69 72 20 40 40 3b 73 40 5c 5d 2a 24  *\$dir @@;s@\]*$
0aa0: 40 40 27 29 22 0a 0a 09 09 69 66 20 5b 20 2d 7a  @@')"....if [ -z
0ab0: 20 22 24 7b 70 6b 67 66 69 6c 65 7d 22 20 2d 6f   "${pkgfile}" -o
0ac0: 20 21 20 2d 66 20 22 24 7b 70 6b 67 66 69 6c 65   ! -f "${pkgfile
0ad0: 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09 63 6f  }" ]; then....co
0ae0: 6e 74 69 6e 75 65 0a 09 09 66 69 0a 0a 09 09 23  ntinue...fi....#
0af0: 20 43 6f 70 79 20 70 61 63 6b 61 67 65 20 66 69   Copy package fi
0b00: 6c 65 73 20 69 6e 74 6f 20 70 61 63 6b 61 67 65  les into package
0b10: 20 64 69 72 65 63 74 6f 72 79 0a 09 09 63 70 20   directory...cp 
0b20: 22 24 7b 70 6b 67 66 69 6c 65 7d 22 20 22 24 7b  "${pkgfile}" "${
0b30: 49 4e 53 54 44 49 52 7d 2f 22 0a 0a 09 09 23 20  INSTDIR}/"....# 
0b40: 43 72 65 61 74 65 20 6d 65 74 61 64 61 74 61 0a  Create metadata.
0b50: 09 09 23 23 20 54 63 6c 20 70 6b 67 49 6e 64 65  ..## Tcl pkgInde
0b60: 78 20 66 69 6c 65 0a 09 09 65 63 68 6f 20 22 70  x file...echo "p
0b70: 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20  ackage ifneeded 
0b80: 24 7b 70 6b 67 7d 20 24 7b 76 65 72 73 7d 20 5b  ${pkg} ${vers} [
0b90: 6c 69 73 74 20 6c 6f 61 64 20 5b 66 69 6c 65 20  list load [file 
0ba0: 6a 6f 69 6e 20 5c 24 64 69 72 20 5c 22 24 7b 70  join \$dir \"${p
0bb0: 6b 67 66 69 6c 65 7d 5c 22 5d 5d 22 20 3e 20 22  kgfile}\"]]" > "
0bc0: 24 7b 49 4e 53 54 44 49 52 7d 2f 70 6b 67 49 6e  ${INSTDIR}/pkgIn
0bd0: 64 65 78 2e 74 63 6c 22 0a 09 64 6f 6e 65 0a 29  dex.tcl"..done.)
0be0: 20 7c 7c 20 65 78 69 74 20 31 0a 0a 72 6d 20 2d   || exit 1..rm -
0bf0: 72 66 20 22 24 7b 49 4e 53 54 52 4f 4f 54 7d 2f  rf "${INSTROOT}/
0c00: 5f 5f 54 4d 50 5f 5f 22 0a 0a 23 20 43 72 65 61  __TMP__"..# Crea
0c10: 74 65 20 74 65 61 70 6f 74 20 6d 65 74 61 64 61  te teapot metada
0c20: 74 61 20 2d 2d 20 6e 65 65 64 20 74 6f 20 68 61  ta -- need to ha
0c30: 76 65 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20  ve all packages 
0c40: 69 6e 20 70 6c 61 63 65 20 70 72 69 6f 72 20 74  in place prior t
0c50: 6f 20 74 68 69 73 0a 28 0a 09 63 64 20 22 24 7b  o this.(..cd "${
0c60: 49 4e 53 54 52 4f 4f 54 7d 22 20 7c 7c 20 65 78  INSTROOT}" || ex
0c70: 69 74 20 31 0a 0a 09 66 6f 72 20 64 69 72 20 69  it 1...for dir i
0c80: 6e 20 2a 2f 3b 20 64 6f 0a 09 09 28 0a 09 09 09  n */; do...(....
0c90: 63 64 20 22 24 7b 64 69 72 7d 22 20 7c 7c 20 65  cd "${dir}" || e
0ca0: 78 69 74 20 31 0a 0a 09 09 09 63 64 20 22 24 7b  xit 1.....cd "${
0cb0: 50 4c 41 54 46 4f 52 4d 7d 22 20 7c 7c 20 65 78  PLATFORM}" || ex
0cc0: 69 74 20 31 0a 0a 09 09 09 69 66 20 5b 20 21 20  it 1.....if [ ! 
0cd0: 2d 66 20 22 70 6b 67 49 6e 64 65 78 2e 74 63 6c  -f "pkgIndex.tcl
0ce0: 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09 09 65 78  " ]; then.....ex
0cf0: 69 74 20 31 0a 09 09 09 66 69 0a 0a 09 09 09 69  it 1....fi.....i
0d00: 66 20 5b 20 2d 66 20 22 74 65 61 70 6f 74 2e 74  f [ -f "teapot.t
0d10: 78 74 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09 09  xt" ]; then.....
0d20: 65 78 69 74 20 30 0a 09 09 09 66 69 0a 0a 09 09  exit 0....fi....
0d30: 09 70 6b 67 3d 22 24 28 65 63 68 6f 20 22 24 7b  .pkg="$(echo "${
0d40: 64 69 72 7d 22 20 7c 20 63 75 74 20 2d 66 20 31  dir}" | cut -f 1
0d50: 20 2d 64 20 27 2d 27 29 22 0a 09 09 09 76 65 72   -d '-')"....ver
0d60: 73 3d 22 24 28 65 63 68 6f 20 22 24 7b 64 69 72  s="$(echo "${dir
0d70: 7d 22 20 7c 20 63 75 74 20 2d 66 20 32 20 2d 64  }" | cut -f 2 -d
0d80: 20 27 2d 27 20 7c 20 73 65 64 20 27 73 40 2f 2f   '-' | sed 's@//
0d90: 2a 24 40 40 27 29 22 0a 0a 09 09 09 70 6b 67 64  *$@@')".....pkgd
0da0: 65 70 73 3d 27 27 0a 09 09 09 66 6f 72 20 64 65  eps=''....for de
0db0: 70 70 6b 67 20 69 6e 20 24 28 66 69 6e 64 20 2e  ppkg in $(find .
0dc0: 20 2d 74 79 70 65 20 66 20 7c 20 78 61 72 67 73   -type f | xargs
0dd0: 20 22 24 7b 4e 4d 3a 2d 6e 6d 7d 22 20 32 3e 2f   "${NM:-nm}" 2>/
0de0: 64 65 76 2f 6e 75 6c 6c 20 7c 20 67 72 65 70 20  dev/null | grep 
0df0: 53 74 75 62 73 50 74 72 20 7c 20 73 65 64 20 27  StubsPtr | sed '
0e00: 73 40 5e 2e 2a 20 5c 28 5b 5e 20 5d 2a 5c 29 53  s@^.* \([^ ]*\)S
0e10: 74 75 62 73 50 74 72 20 2a 5b 5e 20 5d 2a 24 40  tubsPtr *[^ ]*$@
0e20: 5c 31 40 3b 73 40 5e 74 6b 69 6d 67 24 40 69 6d  \1@;s@^tkimg$@im
0e30: 67 3a 3a 62 61 73 65 40 27 29 3b 20 64 6f 0a 0a  g::base@'); do..
0e40: 09 09 09 09 69 66 20 5b 20 22 24 7b 64 65 70 70  ....if [ "${depp
0e50: 6b 67 7d 22 20 3d 20 22 24 7b 70 6b 67 7d 22 20  kg}" = "${pkg}" 
0e60: 5d 3b 20 74 68 65 6e 0a 09 09 09 09 09 63 6f 6e  ]; then......con
0e70: 74 69 6e 75 65 0a 09 09 09 09 66 69 0a 0a 09 09  tinue.....fi....
0e80: 09 09 64 65 70 70 6b 67 64 69 72 3d 22 24 28 65  ..deppkgdir="$(e
0e90: 63 68 6f 20 2e 2e 2f 2e 2e 2f 24 7b 64 65 70 70  cho ../../${depp
0ea0: 6b 67 7d 2d 2a 29 22 0a 09 09 09 09 69 66 20 5b  kg}-*)".....if [
0eb0: 20 21 20 2d 64 20 22 24 7b 64 65 70 70 6b 67 64   ! -d "${deppkgd
0ec0: 69 72 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09  ir}" ]; then....
0ed0: 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 09 09 66  ..continue.....f
0ee0: 69 0a 0a 09 09 09 09 70 6b 67 64 65 70 73 3d 22  i......pkgdeps="
0ef0: 24 7b 70 6b 67 64 65 70 73 7d 2c 24 7b 64 65 70  ${pkgdeps},${dep
0f00: 70 6b 67 7d 22 0a 09 09 09 64 6f 6e 65 0a 0a 09  pkg}"....done...
0f10: 09 09 22 24 7b 42 55 49 4c 44 53 59 53 52 4f 4f  .."${BUILDSYSROO
0f20: 54 7d 2f 63 72 65 61 74 65 5f 74 65 61 70 6f 74  T}/create_teapot
0f30: 22 20 22 74 65 61 70 6f 74 2e 74 78 74 22 20 22  " "teapot.txt" "
0f40: 24 7b 70 6b 67 7d 22 20 22 24 7b 76 65 72 73 7d  ${pkg}" "${vers}
0f50: 22 20 22 24 7b 53 52 43 55 52 4c 7d 22 20 22 24  " "${SRCURL}" "$
0f60: 7b 50 4c 41 54 46 4f 52 4d 7d 22 20 22 54 63 6c  {PLATFORM}" "Tcl
0f70: 20 38 2e 34 24 7b 70 6b 67 64 65 70 73 7d 22 20   8.4${pkgdeps}" 
0f80: 22 50 61 72 74 20 6f 66 20 74 68 65 20 54 6b 69  "Part of the Tki
0f90: 6d 67 20 70 61 63 6b 61 67 65 22 0a 09 09 29 0a  mg package"...).
0fa0: 09 64 6f 6e 65 0a 29 20 7c 7c 20 65 78 69 74 20  .done.) || exit 
0fb0: 31 0a 0a 65 78 69 74 20 30 0a                    1..exit 0.