| 1 | # Wedge definition for zsh
 | 
| 2 | #
 | 
| 3 | # Loaded by deps/wedge.sh.
 | 
| 4 | 
 | 
| 5 | set -o nounset
 | 
| 6 | set -o pipefail
 | 
| 7 | set -o errexit
 | 
| 8 | 
 | 
| 9 | # sourced
 | 
| 10 | WEDGE_NAME='zsh'
 | 
| 11 | WEDGE_VERSION='5.1.1'
 | 
| 12 | 
 | 
| 13 | wedge-make() {
 | 
| 14 |   local src_dir=$1
 | 
| 15 |   local build_dir=$2
 | 
| 16 |   local install_dir=$3
 | 
| 17 | 
 | 
| 18 |   # FIX for Github Actions, there's "no controlling tty", so add --with-tcsetpgrp
 | 
| 19 |   # https://www.linuxfromscratch.org/blfs/view/7.5/postlfs/zsh.html
 | 
| 20 | 
 | 
| 21 |   # Fedora has a conflict with zsh/Src/Modules/termcap.c and
 | 
| 22 |   # /usr/include/term.h
 | 
| 23 |   # Happens from zsh 5.1.1 all the way to zsh 5.9.
 | 
| 24 |   # This doesn't happen on Debian/Ubuntu.
 | 
| 25 | 
 | 
| 26 |   # This creates config.modules
 | 
| 27 |   time $src_dir/configure \
 | 
| 28 |     --disable-dynamic --with-tcsetpgrp \
 | 
| 29 |     --prefix=$install_dir 
 | 
| 30 | 
 | 
| 31 |   # For some reason the regex module isn't included if we --disable-dynamic?
 | 
| 32 |   # name=zsh/regex modfile=Src/Modules/regex.mdd link=no
 | 
| 33 |   # ->
 | 
| 34 |   # name=zsh/regex modfile=Src/Modules/regex.mdd link=static
 | 
| 35 | 
 | 
| 36 |   # INSTALL says I need this after editing config.modules.
 | 
| 37 |   sed -i 's/regex.mdd link=no/regex.mdd link=static/' config.modules
 | 
| 38 |   make prep
 | 
| 39 | 
 | 
| 40 |   time make
 | 
| 41 |   # make test?
 | 
| 42 | }
 | 
| 43 | 
 | 
| 44 | wedge-install() {
 | 
| 45 |   local build_dir=$1
 | 
| 46 | 
 | 
| 47 |   pushd $build_dir
 | 
| 48 | 
 | 
| 49 |   #time make install-strip
 | 
| 50 |   time make install
 | 
| 51 | 
 | 
| 52 |   popd
 | 
| 53 | }
 | 
| 54 | 
 | 
| 55 | wedge-smoke-test() {
 | 
| 56 |   local install_dir=$1
 | 
| 57 | 
 | 
| 58 |   $install_dir/bin/zsh -c 'echo "hi from zsh"'
 | 
| 59 | }
 |