Artifact d87890310c5aea2f23d2540016dc62124d7c2615:
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 32 2e 31 2e 30 0a 53 52 43 s.VERS=2.1.0.SRC
0030: 3d 22 73 72 63 2f 74 63 6c 72 65 61 64 6c 69 6e ="src/tclreadlin
0040: 65 2d 24 7b 56 45 52 53 7d 2e 74 61 72 2e 67 7a e-${VERS}.tar.gz
0050: 22 0a 53 52 43 55 52 4c 3d 22 68 74 74 70 3a 2f ".SRCURL="http:/
0060: 2f 64 6f 77 6e 6c 6f 61 64 73 2e 73 6f 75 72 63 /downloads.sourc
0070: 65 66 6f 72 67 65 2e 6e 65 74 2f 70 72 6f 6a 65 eforge.net/proje
0080: 63 74 2f 74 63 6c 72 65 61 64 6c 69 6e 65 2f 74 ct/tclreadline/t
0090: 63 6c 72 65 61 64 6c 69 6e 65 2f 74 63 6c 72 65 clreadline/tclre
00a0: 61 64 6c 69 6e 65 2d 24 7b 56 45 52 53 7d 2f 74 adline-${VERS}/t
00b0: 63 6c 72 65 61 64 6c 69 6e 65 2d 24 7b 56 45 52 clreadline-${VER
00c0: 53 7d 2e 74 61 72 2e 67 7a 22 0a 42 55 49 4c 44 S}.tar.gz".BUILD
00d0: 44 49 52 3d 22 74 63 6c 72 65 61 64 6c 69 6e 65 DIR="tclreadline
00e0: 2d 24 7b 56 45 52 53 7d 22 0a 65 78 70 6f 72 74 -${VERS}".export
00f0: 20 56 45 52 53 20 53 52 43 20 53 52 43 55 52 4c VERS SRC SRCURL
0100: 20 42 55 49 4c 44 44 49 52 0a 0a 23 20 4c 6f 61 BUILDDIR..# Loa
0110: 64 20 63 6f 6d 6d 6f 6e 20 66 75 6e 63 74 69 6f d common functio
0120: 6e 73 0a 73 6f 75 72 63 65 20 2e 2e 2f 63 6f 6d ns.source ../com
0130: 6d 6f 6e 2e 73 68 0a 0a 23 20 44 6f 20 6e 6f 74 mon.sh..# Do not
0140: 20 62 75 69 6c 64 20 69 66 20 74 68 65 20 22 74 build if the "t
0150: 63 6c 22 20 70 6c 61 74 66 6f 72 6d 20 68 61 73 cl" platform has
0160: 20 62 65 65 6e 20 72 65 71 75 65 73 74 65 64 0a been requested.
0170: 6e 6f 74 5f 70 6c 61 74 66 6f 72 6d 73 20 27 74 not_platforms 't
0180: 63 6c 27 0a 0a 23 20 44 6f 77 6e 6c 6f 61 64 20 cl'..# Download
0190: 73 6f 75 72 63 65 0a 64 6f 77 6e 6c 6f 61 64 5f source.download_
01a0: 73 72 63 0a 0a 23 20 45 78 74 72 61 63 74 20 73 src..# Extract s
01b0: 6f 75 72 63 65 0a 65 78 74 72 61 63 74 5f 73 72 ource.extract_sr
01c0: 63 0a 0a 23 20 41 70 70 6c 79 20 61 70 70 72 6f c..# Apply appro
01d0: 70 72 69 61 74 65 20 70 61 74 63 68 65 73 0a 61 priate patches.a
01e0: 70 70 6c 79 5f 70 61 74 63 68 65 73 0a 0a 23 20 pply_patches..#
01f0: 42 75 69 6c 64 20 70 61 63 6b 61 67 65 0a 28 0a Build package.(.
0200: 09 6d 6b 64 69 72 20 2d 70 20 22 24 7b 50 4c 41 .mkdir -p "${PLA
0210: 54 44 49 52 7d 22 20 3e 2f 64 65 76 2f 6e 75 6c TDIR}" >/dev/nul
0220: 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 09 63 l 2>/dev/null..c
0230: 64 20 22 62 75 69 6c 64 2f 24 7b 42 55 49 4c 44 d "build/${BUILD
0240: 44 49 52 7d 22 20 7c 7c 20 65 78 69 74 20 31 0a DIR}" || exit 1.
0250: 0a 09 23 20 54 63 6c 52 65 61 64 4c 69 6e 65 20 ..# TclReadLine
0260: 64 6f 65 73 6e 27 74 20 6b 6e 6f 77 20 69 74 20 doesn't know it
0270: 73 68 6f 75 6c 64 20 75 73 65 20 73 74 75 62 73 should use stubs
0280: 2c 20 66 6f 72 63 65 20 69 74 2e 0a 09 43 46 4c , force it...CFL
0290: 41 47 53 3d 22 24 7b 43 46 4c 41 47 53 7d 20 2d AGS="${CFLAGS} -
02a0: 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 DUSE_TCL_STUBS=1
02b0: 22 0a 09 43 50 50 46 4c 41 47 53 3d 22 24 7b 43 "..CPPFLAGS="${C
02c0: 50 50 46 4c 41 47 53 7d 20 2d 44 55 53 45 5f 54 PPFLAGS} -DUSE_T
02d0: 43 4c 5f 53 54 55 42 53 3d 31 22 0a 09 4c 44 46 CL_STUBS=1"..LDF
02e0: 4c 41 47 53 3d 22 24 7b 4c 44 46 4c 41 47 53 7d LAGS="${LDFLAGS}
02f0: 20 24 28 73 6f 75 72 63 65 20 22 24 7b 54 43 4c $(source "${TCL
0300: 43 4f 4e 46 49 47 44 49 52 7d 2f 74 63 6c 43 6f CONFIGDIR}/tclCo
0310: 6e 66 69 67 2e 73 68 22 20 32 3e 2f 64 65 76 2f nfig.sh" 2>/dev/
0320: 6e 75 6c 6c 3b 20 65 76 61 6c 20 65 63 68 6f 20 null; eval echo
0330: 22 24 7b 54 43 4c 5f 53 54 55 42 5f 4c 49 42 5f "${TCL_STUB_LIB_
0340: 53 50 45 43 7d 22 29 22 20 0a 09 65 78 70 6f 72 SPEC}")" ..expor
0350: 74 20 43 46 4c 41 47 53 20 43 50 50 46 4c 41 47 t CFLAGS CPPFLAG
0360: 53 20 4c 44 46 4c 41 47 53 0a 0a 09 6e 65 65 64 S LDFLAGS...need
0370: 5f 67 6e 75 5f 72 65 61 64 6c 69 6e 65 3d 27 30 _gnu_readline='0
0380: 27 0a 09 63 61 73 65 20 22 24 7b 50 4c 41 54 46 '..case "${PLATF
0390: 4f 52 4d 7d 22 20 69 6e 0a 09 09 73 6f 6c 61 72 ORM}" in...solar
03a0: 69 73 32 2a 29 0a 09 09 09 6e 65 65 64 5f 67 6e is2*)....need_gn
03b0: 75 5f 72 65 61 64 6c 69 6e 65 3d 27 31 27 0a 09 u_readline='1'..
03c0: 09 09 3b 3b 0a 09 65 73 61 63 0a 0a 09 69 66 20 ..;;..esac...if
03d0: 5b 20 22 24 7b 6e 65 65 64 5f 67 6e 75 5f 72 65 [ "${need_gnu_re
03e0: 61 64 6c 69 6e 65 7d 22 20 3d 20 27 31 27 20 5d adline}" = '1' ]
03f0: 3b 20 74 68 65 6e 0a 09 09 77 67 65 74 20 27 68 ; then...wget 'h
0400: 74 74 70 3a 2f 2f 66 74 70 2e 67 6e 75 2e 6f 72 ttp://ftp.gnu.or
0410: 67 2f 67 6e 75 2f 72 65 61 64 6c 69 6e 65 2f 72 g/gnu/readline/r
0420: 65 61 64 6c 69 6e 65 2d 36 2e 32 2e 74 61 72 2e eadline-6.2.tar.
0430: 67 7a 27 0a 09 09 67 7a 69 70 20 2d 64 63 20 72 gz'...gzip -dc r
0440: 65 61 64 6c 69 6e 65 2d 36 2e 32 2e 74 61 72 2e eadline-6.2.tar.
0450: 67 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 0a gz | tar -xf -..
0460: 09 09 28 0a 09 09 09 63 64 20 72 65 61 64 6c 69 ..(....cd readli
0470: 6e 65 2d 36 2e 32 0a 09 09 09 6d 6b 64 69 72 20 ne-6.2....mkdir
0480: 49 4e 53 54 20 49 4e 53 54 2f 6c 69 62 20 49 4e INST INST/lib IN
0490: 53 54 2f 69 6e 63 6c 75 64 65 0a 0a 09 09 09 2e ST/include......
04a0: 2f 63 6f 6e 66 69 67 75 72 65 20 2d 2d 70 72 65 /configure --pre
04b0: 66 69 78 3d 24 28 70 77 64 29 2f 49 4e 53 54 20 fix=$(pwd)/INST
04c0: 2d 2d 64 69 73 61 62 6c 65 2d 73 68 61 72 65 64 --disable-shared
04d0: 20 2d 2d 65 6e 61 62 6c 65 2d 73 74 61 74 69 63 --enable-static
04e0: 20 24 7b 43 4f 4e 46 49 47 55 52 45 45 58 54 52 ${CONFIGUREEXTR
04f0: 41 7d 0a 0a 09 09 09 24 7b 4d 41 4b 45 3a 2d 6d A}.....${MAKE:-m
0500: 61 6b 65 7d 20 7c 7c 20 65 78 69 74 20 31 0a 09 ake} || exit 1..
0510: 09 09 24 7b 4d 41 4b 45 3a 2d 6d 61 6b 65 7d 20 ..${MAKE:-make}
0520: 69 6e 73 74 61 6c 6c 20 7c 7c 20 65 78 69 74 20 install || exit
0530: 31 0a 09 09 29 0a 0a 09 09 69 66 20 5b 20 2d 64 1...)....if [ -d
0540: 20 22 24 28 70 77 64 29 2f 72 65 61 64 6c 69 6e "$(pwd)/readlin
0550: 65 2d 36 2e 32 2f 49 4e 53 54 2f 69 6e 63 6c 75 e-6.2/INST/inclu
0560: 64 65 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09 6c de" ]; then....l
0570: 6e 20 2d 73 20 2e 20 22 24 28 70 77 64 29 2f 72 n -s . "$(pwd)/r
0580: 65 61 64 6c 69 6e 65 2d 36 2e 32 2f 49 4e 53 54 eadline-6.2/INST
0590: 2f 69 6e 63 6c 75 64 65 2f 72 65 61 64 6c 69 6e /include/readlin
05a0: 65 2f 72 65 61 64 6c 69 6e 65 22 0a 0a 09 09 09 e/readline".....
05b0: 43 4f 4e 46 49 47 55 52 45 45 58 54 52 41 3d 22 CONFIGUREEXTRA="
05c0: 24 7b 43 4f 4e 46 49 47 55 52 45 45 58 54 52 41 ${CONFIGUREEXTRA
05d0: 7d 20 2d 2d 77 69 74 68 2d 72 65 61 64 6c 69 6e } --with-readlin
05e0: 65 2d 69 6e 63 6c 75 64 65 73 3d 5c 22 24 28 70 e-includes=\"$(p
05f0: 77 64 29 2f 72 65 61 64 6c 69 6e 65 2d 36 2e 32 wd)/readline-6.2
0600: 2f 49 4e 53 54 2f 69 6e 63 6c 75 64 65 2f 72 65 /INST/include/re
0610: 61 64 6c 69 6e 65 5c 22 20 2d 2d 77 69 74 68 2d adline\" --with-
0620: 72 65 61 64 6c 69 6e 65 2d 6c 69 62 72 61 72 79 readline-library
0630: 3d 5c 22 2d 4c 24 28 70 77 64 29 2f 72 65 61 64 =\"-L$(pwd)/read
0640: 6c 69 6e 65 2d 36 2e 32 2f 49 4e 53 54 2f 6c 69 line-6.2/INST/li
0650: 62 20 2d 6c 72 65 61 64 6c 69 6e 65 5c 22 22 0a b -lreadline\"".
0660: 09 09 66 69 0a 09 66 69 0a 0a 09 73 65 64 20 27 ..fi..fi...sed '
0670: 73 7c 40 54 43 4c 52 4c 5f 4c 49 42 44 49 52 40 s|@TCLRL_LIBDIR@
0680: 7c 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b |[file dirname [
0690: 69 6e 66 6f 20 73 63 72 69 70 74 5d 5d 7c 67 27 info script]]|g'
06a0: 20 74 63 6c 72 65 61 64 6c 69 6e 65 49 6e 69 74 tclreadlineInit
06b0: 2e 74 63 6c 2e 69 6e 20 3e 20 74 63 6c 72 65 61 .tcl.in > tclrea
06c0: 64 6c 69 6e 65 49 6e 69 74 2e 74 63 6c 2e 69 6e dlineInit.tcl.in
06d0: 2e 6e 65 77 0a 09 63 61 74 20 74 63 6c 72 65 61 .new..cat tclrea
06e0: 64 6c 69 6e 65 49 6e 69 74 2e 74 63 6c 2e 69 6e dlineInit.tcl.in
06f0: 2e 6e 65 77 20 3e 20 74 63 6c 72 65 61 64 6c 69 .new > tclreadli
0700: 6e 65 49 6e 69 74 2e 74 63 6c 2e 69 6e 0a 09 72 neInit.tcl.in..r
0710: 6d 20 2d 66 20 74 63 6c 72 65 61 64 6c 69 6e 65 m -f tclreadline
0720: 49 6e 69 74 2e 74 63 6c 2e 69 6e 2e 6e 65 77 0a Init.tcl.in.new.
0730: 0a 09 65 63 68 6f 20 22 20 20 2a 20 52 75 6e 6e ..echo " * Runn
0740: 69 6e 67 20 2e 2f 63 6f 6e 66 69 67 75 72 65 20 ing ./configure
0750: 2d 2d 65 6e 61 62 6c 65 2d 73 68 61 72 65 64 20 --enable-shared
0760: 2d 2d 77 69 74 68 2d 74 63 6c 3d 5c 22 24 7b 54 --with-tcl=\"${T
0770: 43 4c 43 4f 4e 46 49 47 44 49 52 7d 5c 22 20 2d CLCONFIGDIR}\" -
0780: 2d 77 69 74 68 2d 74 63 6c 2d 69 6e 63 6c 75 64 -with-tcl-includ
0790: 65 73 3d 5c 22 24 7b 54 43 4c 49 4e 53 54 44 49 es=\"${TCLINSTDI
07a0: 52 7d 2f 69 6e 63 6c 75 64 65 5c 22 20 2d 2d 70 R}/include\" --p
07b0: 72 65 66 69 78 3d 5c 22 24 7b 50 4c 41 54 44 49 refix=\"${PLATDI
07c0: 52 7d 5c 22 20 2d 2d 6c 69 62 64 69 72 3d 5c 22 R}\" --libdir=\"
07d0: 24 7b 50 4c 41 54 44 49 52 7d 5c 22 20 2d 2d 62 ${PLATDIR}\" --b
07e0: 69 6e 64 69 72 3d 5c 22 24 7b 50 4c 41 54 44 49 indir=\"${PLATDI
07f0: 52 7d 5c 22 20 24 7b 43 4f 4e 46 49 47 55 52 45 R}\" ${CONFIGURE
0800: 45 58 54 52 41 7d 22 0a 09 65 76 61 6c 20 22 62 EXTRA}"..eval "b
0810: 61 73 68 20 2e 2f 63 6f 6e 66 69 67 75 72 65 20 ash ./configure
0820: 2d 2d 65 6e 61 62 6c 65 2d 73 68 61 72 65 64 20 --enable-shared
0830: 2d 2d 77 69 74 68 2d 74 63 6c 3d 5c 22 24 7b 54 --with-tcl=\"${T
0840: 43 4c 43 4f 4e 46 49 47 44 49 52 7d 5c 22 20 2d CLCONFIGDIR}\" -
0850: 2d 77 69 74 68 2d 74 63 6c 2d 69 6e 63 6c 75 64 -with-tcl-includ
0860: 65 73 3d 5c 22 24 7b 54 43 4c 49 4e 53 54 44 49 es=\"${TCLINSTDI
0870: 52 7d 2f 69 6e 63 6c 75 64 65 5c 22 20 2d 2d 70 R}/include\" --p
0880: 72 65 66 69 78 3d 5c 22 24 7b 50 4c 41 54 44 49 refix=\"${PLATDI
0890: 52 7d 5c 22 20 2d 2d 6c 69 62 64 69 72 3d 5c 22 R}\" --libdir=\"
08a0: 24 7b 50 4c 41 54 44 49 52 7d 5c 22 20 2d 2d 62 ${PLATDIR}\" --b
08b0: 69 6e 64 69 72 3d 5c 22 24 7b 50 4c 41 54 44 49 indir=\"${PLATDI
08c0: 52 7d 5c 22 22 20 22 24 7b 43 4f 4e 46 49 47 55 R}\"" "${CONFIGU
08d0: 52 45 45 58 54 52 41 7d 22 0a 0a 09 24 7b 4d 41 REEXTRA}"...${MA
08e0: 4b 45 3a 2d 6d 61 6b 65 7d 20 7c 7c 20 65 78 69 KE:-make} || exi
08f0: 74 20 31 0a 0a 09 24 7b 4d 41 4b 45 3a 2d 6d 61 t 1...${MAKE:-ma
0900: 6b 65 7d 20 69 6e 73 74 61 6c 6c 20 7c 7c 20 65 ke} install || e
0910: 78 69 74 20 31 0a 0a 29 20 7c 7c 20 65 78 69 74 xit 1..) || exit
0920: 20 31 0a 0a 23 20 52 65 2d 77 72 69 74 65 20 69 1..# Re-write i
0930: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 74 6f 20 6d nstallation to m
0940: 61 74 63 68 20 65 78 70 65 63 74 61 74 69 6f 6e atch expectation
0950: 73 0a 28 0a 09 63 64 20 22 24 7b 50 4c 41 54 44 s.(..cd "${PLATD
0960: 49 52 7d 22 20 7c 7c 20 65 78 69 74 20 31 0a 0a IR}" || exit 1..
0970: 09 6d 76 20 6c 69 62 2f 74 63 6c 72 65 61 64 6c .mv lib/tclreadl
0980: 69 6e 65 2a 2f 2a 20 2e 0a 09 72 6d 20 2a 2e 61 ine*/* ...rm *.a
0990: 20 2a 2e 6c 61 0a 0a 09 72 6d 20 2d 72 66 20 6c *.la...rm -rf l
09a0: 69 62 2f 0a 09 72 6d 20 2d 72 66 20 69 6e 63 6c ib/..rm -rf incl
09b0: 75 64 65 2f 0a 09 72 6d 20 2d 72 66 20 73 68 61 ude/..rm -rf sha
09c0: 72 65 2f 0a 0a 09 23 20 44 65 6c 65 74 65 20 73 re/...# Delete s
09d0: 79 6d 6c 69 6e 6b 0a 09 72 6d 20 2d 66 20 6c 69 ymlink..rm -f li
09e0: 62 74 63 6c 72 65 61 64 6c 69 6e 65 2e 73 6f 0a btclreadline.so.
09f0: 0a 09 23 20 52 65 6e 61 6d 65 20 61 63 74 75 61 ..# Rename actua
0a00: 6c 20 66 69 6c 65 20 74 6f 20 73 79 6d 6c 69 6e l file to symlin
0a10: 6b 0a 09 6d 76 20 6c 69 62 74 63 6c 72 65 61 64 k..mv libtclread
0a20: 6c 69 6e 65 2d 2a 2e 73 6f 20 6c 69 62 74 63 6c line-*.so libtcl
0a30: 72 65 61 64 6c 69 6e 65 2e 73 6f 0a 0a 09 23 20 readline.so...#
0a40: 43 6f 72 72 65 63 74 20 54 63 6c 20 73 63 72 69 Correct Tcl scri
0a50: 70 74 0a 09 73 65 64 20 27 73 40 20 2f 2e 2a 2f pt..sed 's@ /.*/
0a60: 74 63 6c 72 65 61 64 6c 69 6e 65 2f 6f 75 74 2f tclreadline/out/
0a70: 5b 5e 2f 5d 2a 2f 6c 69 62 40 20 5b 66 69 6c 65 [^/]*/lib@ [file
0a80: 20 64 69 72 6e 61 6d 65 20 5b 69 6e 66 6f 20 73 dirname [info s
0a90: 63 72 69 70 74 5d 5d 40 27 20 74 63 6c 72 65 61 cript]]@' tclrea
0aa0: 64 6c 69 6e 65 49 6e 69 74 2e 74 63 6c 20 3e 20 dlineInit.tcl >
0ab0: 74 63 6c 72 65 61 64 6c 69 6e 65 49 6e 69 74 2e tclreadlineInit.
0ac0: 74 63 6c 2e 6e 65 77 0a 09 6d 76 20 74 63 6c 72 tcl.new..mv tclr
0ad0: 65 61 64 6c 69 6e 65 49 6e 69 74 2e 74 63 6c 2e eadlineInit.tcl.
0ae0: 6e 65 77 20 74 63 6c 72 65 61 64 6c 69 6e 65 49 new tclreadlineI
0af0: 6e 69 74 2e 74 63 6c 0a 0a 09 65 78 69 74 20 30 nit.tcl...exit 0
0b00: 0a 29 20 7c 7c 20 65 78 69 74 20 31 0a 0a 0a 23 .) || exit 1...#
0b10: 20 43 72 65 61 74 65 20 6d 65 74 61 64 61 74 61 Create metadata
0b20: 0a 2e 2e 2f 63 72 65 61 74 65 5f 74 65 61 70 6f .../create_teapo
0b30: 74 20 22 24 7b 50 4c 41 54 44 49 52 7d 2f 74 65 t "${PLATDIR}/te
0b40: 61 70 6f 74 2e 74 78 74 22 20 22 74 63 6c 72 65 apot.txt" "tclre
0b50: 61 64 6c 69 6e 65 22 20 22 24 7b 56 45 52 53 7d adline" "${VERS}
0b60: 22 20 22 24 7b 53 52 43 55 52 4c 7d 22 20 22 24 " "${SRCURL}" "$
0b70: 7b 50 4c 41 54 46 4f 52 4d 7d 22 20 22 54 63 6c {PLATFORM}" "Tcl
0b80: 20 38 2e 34 22 20 22 52 65 61 64 6c 69 6e 65 20 8.4" "Readline
0b90: 70 61 63 6b 61 67 65 20 66 6f 72 20 54 63 6c 22 package for Tcl"
0ba0: 0a 0a 65 78 69 74 20 30 0a ..exit 0.