| 1 | #!/bin/sh |
| 2 | #/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
| 3 | # * Mupen64plus - build_bundle_bin.sh * |
| 4 | # * Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ * |
| 5 | # * Copyright (C) 2009-2013 Richard Goedeken * |
| 6 | # * * |
| 7 | # * This program is free software; you can redistribute it and/or modify * |
| 8 | # * it under the terms of the GNU General Public License as published by * |
| 9 | # * the Free Software Foundation; either version 2 of the License, or * |
| 10 | # * (at your option) any later version. * |
| 11 | # * * |
| 12 | # * This program is distributed in the hope that it will be useful, * |
| 13 | # * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
| 14 | # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
| 15 | # * GNU General Public License for more details. * |
| 16 | # * * |
| 17 | # * You should have received a copy of the GNU General Public License * |
| 18 | # * along with this program; if not, write to the * |
| 19 | # * Free Software Foundation, Inc., * |
| 20 | # * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * |
| 21 | # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ |
| 22 | |
| 23 | # terminate the script if any commands return a non-zero error code |
| 24 | set -e |
| 25 | |
| 26 | if [ $# -lt 2 ]; then |
| 27 | echo "Usage: build_bundle_bin.sh <tag-name> <build-name> [<makefile_param> ...]" |
| 28 | exit 1 |
| 29 | fi |
| 30 | |
| 31 | TEMPDIR="mupen64plus-temp-build" |
| 32 | |
| 33 | rm -rf ${TEMPDIR} |
| 34 | mkdir -p ${TEMPDIR}/source |
| 35 | cd ${TEMPDIR}/source |
| 36 | |
| 37 | echo "************************************ Downloading Mupen64Plus module source code" |
| 38 | hg clone -r $1 http://bitbucket.org/richard42/mupen64plus-core |
| 39 | hg clone -r $1 http://bitbucket.org/richard42/mupen64plus-rom |
| 40 | hg clone -r $1 http://bitbucket.org/richard42/mupen64plus-ui-console |
| 41 | hg clone -r $1 http://bitbucket.org/richard42/mupen64plus-audio-sdl |
| 42 | hg clone -r $1 http://bitbucket.org/richard42/mupen64plus-input-sdl |
| 43 | hg clone -r $1 http://bitbucket.org/richard42/mupen64plus-rsp-hle |
| 44 | hg clone -r $1 http://bitbucket.org/richard42/mupen64plus-video-rice |
| 45 | hg clone -r $1 http://bitbucket.org/richard42/mupen64plus-video-glide64mk2 |
| 46 | shift |
| 47 | for dirname in ./mupen64plus-*; do rm -rf ${dirname}/.hg*; done |
| 48 | |
| 49 | OUTPUTDIR="mupen64plus-bundle-$1" |
| 50 | shift |
| 51 | |
| 52 | echo "************************************ Building Mupen64Plus modules" |
| 53 | cd .. |
| 54 | tar xzvf source/mupen64plus-core/tools/m64p_helper_scripts.tar.gz |
| 55 | |
| 56 | ./m64p_build.sh COREDIR=/usr/local/lib/ $@ |
| 57 | mv "test" "${OUTPUTDIR}" |
| 58 | |
| 59 | echo "************************************ Creating archive" |
| 60 | cp source/mupen64plus-core/tools/install_binary_bundle.sh "${OUTPUTDIR}/install.sh" |
| 61 | cp source/mupen64plus-core/tools/uninstall_binary_bundle.sh "${OUTPUTDIR}/uninstall.sh" |
| 62 | |
| 63 | tar c "${OUTPUTDIR}" --owner 0 --group 0 --numeric-owner | gzip -n > "../${OUTPUTDIR}.tar.gz" |
| 64 | cd .. |
| 65 | rm -rf "${TEMPDIR}" |