#!/bin/bash -e #--------------------------------------------------------------------- # explanation #--------------------------------------------------------------------- cat << END > /dev/null 1. The Laclin source tarball "src-haskell-packages.tgz" was created using this script. This script requires both Internet access and a compatible setup at one or more Haskell-related website[s]. It probably won't work in the future. On boxes with reasonable hardware and network speeds, the time needed to run this script is probably on the order of 1.5 to 2.5 hours. In runs on both August 24, 2022 and March 26, 2003, it was 97 minutes (1.62 hours) both times. It was unexpected for the times to come out the same, because a number of things had changed between the two da- tes. In a run on April 07, 2024, run time was 1.25 hours. #--------------------------------------------------------------------- 2. Requirements: 2.1. Get a copy of "cabal" 3.4.0.0 [exactly that release] built. Name the executable as follows and make sure that it's accessible by PATH: cabal #--------------------------------------------------------------------- 2.2. Additional dependencies (not a complete list): Laclin "srcpkgpaths" in Laclin actools bash fontconfig freetype2 gawk ghc0865 grep gtkcore lapack libffi libgmp libicu libpng ncurses numactl pulseaudio sdl2 sed tar xorg zlib END #--------------------------------------------------------------------- # main program #--------------------------------------------------------------------- . srcpkgpaths fontconfig freetype2 lapack libgmp libpng . srcpkgpaths pulseaudio ncurses xorg TMPDIR=/tmp/moocow mkdir -p $TMPDIR || exit 1 rm -fr $TMPDIR || exit 1 mkdir $TMPDIR || exit 1 export HOME=$TMPDIR || exit 1 cd $HOME || exit 1 touch STARTED cabal update || exit 1 PATH=$HOME/.cabal/bin:$PATH || exit 1 hash cabal || exit 1 which cabal || exit 1 cabal --version || exit 1 for pkg in \ pandoc-cli \ BigPixel FractalArt Raincat \ ascii-holidays asciidiagram cutter \ darcs dice friendly \ gearbox gitit hackertyper \ hscurses-fish-ex life mancala \ morph nyan only \ rss2irc simplex snowglobe \ time-compat tomlcheck turing-music \ uniq-deep warc wedged do echo ==== `date` Building $pkg cabal --installdir=$HOME/.cabal/bin/ \ --overwrite-policy=always install $pkg || exit 1 done cd .cabal || exit 1 rm -fr bin/* lib/* logs/* share/* store/* || exit 1 sed -e 's@/.*\/.cabal@MOOCOW/.cabal@g' \ -e s@MOOCOW@$PRODTREE/ghc0865/home@g \ -i config cd .. tar zcf src-haskell-packages.tgz .cabal || exit 1 ls -l `pwd`/*.tgz || exit 1 touch FINISHED #--------------------------------------------------------------------- # End of file.