mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-25 08:59:58 +00:00
80 lines
2.3 KiB
Bash
Executable File
80 lines
2.3 KiB
Bash
Executable File
#! /usr/bin/env bash
|
|
# vim: set ts=3 sw=3 noet ft=sh : bash
|
|
|
|
# TODO: This entire script _should_ be replaced with git submodules, but
|
|
# that cannot be done until we sort out the limitations of that option. At
|
|
# this time, this script is called by libretro-super. Revisit the whole
|
|
# issue at some point.
|
|
|
|
SCRIPT="${0#./}"
|
|
BASE_DIR="${SCRIPT%/*}"
|
|
WORKDIR="$PWD"
|
|
|
|
if [ "$BASE_DIR" = "$SCRIPT" ]; then
|
|
BASE_DIR="$WORKDIR"
|
|
else
|
|
if [[ "$0" != /* ]]; then
|
|
# Make the path absolute
|
|
BASE_DIR="$WORKDIR/$BASE_DIR"
|
|
fi
|
|
fi
|
|
|
|
# Inserted here is libretro-super's script-modules/fetch-rules.sh, with a
|
|
# couple of features related to core submodules removed from fetch_git. If
|
|
# that file is changed, it should be safe to import it verbatim.
|
|
|
|
### START OF FETCH-RULES.SH (with mods)
|
|
|
|
# fetch_git: Clones or pulls updates from a git repository into a local directory
|
|
#
|
|
# $1 The URI to fetch
|
|
# $2 The local directory to fetch to (relative)
|
|
#
|
|
# NOTE: git _now_ has a -C argument that would replace the cd commands in
|
|
# this rule, but this is a fairly recent addition to git, so we can't
|
|
# use it here. --iKarith
|
|
fetch_git() {
|
|
fetch_dir="$WORKDIR/$2"
|
|
if [ -d "$fetch_dir/.git" ]; then
|
|
echo "cd \"$fetch_dir\""
|
|
cd "$fetch_dir"
|
|
echo "git pull"
|
|
git pull
|
|
else
|
|
clone_type=
|
|
[ -n "$SHALLOW_CLONE" ] && depth="--depth 1"
|
|
echo "git clone $depth \"$1\" \"$WORKDIR/$2\""
|
|
git clone $depth "$1" "$WORKDIR/$2"
|
|
fi
|
|
}
|
|
|
|
# fetch_revision_git: Output the hash of the last commit in a git repository
|
|
#
|
|
# $1 Local directory to run git in
|
|
fetch_revision_git() {
|
|
[ -n "$1" ] && cd "$1"
|
|
git log -n 1 --pretty=format:%H
|
|
}
|
|
|
|
|
|
# fetch_revision: Output SCM-dependent revision string of a module
|
|
# (currently just calls fetch_revision_git)
|
|
#
|
|
# $1 The directory of the module
|
|
fetch_revision() {
|
|
fetch_revision_git $1
|
|
}
|
|
|
|
|
|
### END OF FETCH-RULES.SH
|
|
|
|
|
|
echo "Fetching RetroArch's submodules..."
|
|
fetch_git "https://github.com/libretro/common-shaders.git" "media/shaders_cg"
|
|
fetch_git "https://github.com/libretro/common-overlays.git" "media/overlays"
|
|
fetch_git "https://github.com/libretro/retroarch-assets.git" "media/assets"
|
|
fetch_git "https://github.com/libretro/retroarch-joypad-autoconfig.git" "media/autoconfig"
|
|
fetch_git "https://github.com/libretro/libretro-database.git" "media/libretrodb"
|
|
|
|
git submodule update --init --recursive
|