Skip to content

Instantly share code, notes, and snippets.

@voodooattack
Created December 26, 2011 17:02
Show Gist options
  • Save voodooattack/1521650 to your computer and use it in GitHub Desktop.
Save voodooattack/1521650 to your computer and use it in GitHub Desktop.
MinGW package installer [INSTALLS ALL PACKAGES]
#!/bin/sh
(env sed --version &> /dev/null || (echo -e "GNU sed not found, attempting to install package:\n";\
(exec 3>&1 4>&2; sed_error=$( { mingw-get install msys-sed 2>&4 1>&3; } 2>&1 ); exec 3>&- 4>&-;\
if ($sed_error); then echo "Could not install GNU sed, aborting.."; exit 1; fi))) && sed_ver_str=\
$(env sed --version) && sed_ver=$(echo $sed_ver_str | sed -n 's/.*version \([0-9\.]*\).*/\1/p') &&\
echo "GNU sed is already installed. (version $sed_ver)" && mingw-get update && PACKAGES=$(mingw-get list\
| sed -ne "s/\(^Package\:\)[[:blank:]]\?\([[:alnum:][:punct:]]\+\).*$/\2\\n/p")\ && echo -en \
"\nInstalling packages:\n\n$(echo $PACKAGES | tr ' ' '\n' | sort -d | pr -3 -atT)\n\n" && echo -en\
"Package Count: $(echo $PACKAGES | tr ' ' '\n' | wc -l -- | tr -d '[:space:]' && echo)\n\n" && read\
-p "Press return to install" -s && mingw-get --verbose=2 install $PACKAGES
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment