mirror of
https://github.com/libretro/Lakka-LibreELEC.git
synced 2025-04-02 10:41:46 -04:00
* Add new platform: Linux4Tegra(L4T) base * L4T: Add Nintendo Switch device to L4T Project * L4T: Add support for Nintendo Switch bootloader package to build system * Script Update: Extract Add support for tbz2 extension * Package Update: Update pulseaudio to latest building version, add patches to support ucm2 as that is what lakka is shipping. * New Package: Add rewritefs package, because we need to edit filenames on the fly, when using nintendo switch, as all data is saved to fat32 partition, where : is not a valid character in file names. eg. Bluetooth Configs * Package Update: Linux Add support for nintendo switch l4t kernel * Package Update: Busybox: Allow L4T device builds to just dump files in initramfs, such as firmware or new init script * New Package: Mergerfs * Package Update: Retroarch Bump version, and Add Nintendo Switch support, add support for X display server to retroarch start enviornment * New Package: xf86-video-nouveau * Package Update: libxkbcommon L4T fixes * Dockerfile: Add needed build dependencies for L4T Platform stuff. * Update Scripts: Add support for building L4T Switch to build_all script * Package Update: Mupen64plus_next Add Nintendo Switch build support * Package Update: Mame2015 Add support for building on Nintendo Switch * Package Update: Bluez Add support for Nintendo Switch * Package Update: libdrm remove libdrm.so.2 symlink with L4T boards, as nvidia supplies their own
74 lines
2.3 KiB
Bash
Executable file
74 lines
2.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
|
|
|
. config/options "${1}"
|
|
|
|
if [ -z "${2}" ]; then
|
|
die "usage: ${0} package_name target_dir"
|
|
fi
|
|
|
|
[ -z "${PKG_URL}" -o -z "${PKG_SOURCE_NAME}" ] && die "${PKG_NAME}: PKG_URL or PKG_SOURCE_NAME undefined"
|
|
[ ! -d "${SOURCES}/${1}" ] && die "${PKG_NAME}: ${SOURCES}/${1} not found"
|
|
[ ! -d "${2}" ] && die "${PKG_NAME}: target ${2} not found"
|
|
|
|
if [[ ${PKG_URL} =~ ^file:// ]]; then
|
|
FULL_SOURCE_PATH="${PKG_SOURCE_NAME}"
|
|
else
|
|
FULL_SOURCE_PATH="${SOURCES}/${1}/${PKG_SOURCE_NAME}"
|
|
fi
|
|
|
|
if [ ! -f "${FULL_SOURCE_PATH}" -a ! -d "${FULL_SOURCE_PATH}" ]; then
|
|
echo "error: File ${PKG_SOURCE_NAME} doesn't exist for package ${1}"
|
|
echo "Have you called scripts/extract before scripts/get ?"
|
|
die
|
|
fi
|
|
|
|
# The build system expects packages to be extracted to
|
|
# ${PKG_BUILD.}
|
|
# Try to strip the top level dir from the archive and extract to
|
|
# the correct directory if possible so packages don't need to
|
|
# set PKG_SOURCE_DIR and scripts/unpack doesn't need to rename
|
|
# the directory.
|
|
# Currently this is only supported for tar archives.
|
|
# If PKG_SOURCE_DIR is set don't apply any directory mangling
|
|
# so advanced renaming (eg stripping more than one directory level)
|
|
# can be performed by scripts/unpack.
|
|
if [ -z "${PKG_SOURCE_DIR}" ]; then
|
|
TAR_OPTS="--strip-components=1"
|
|
DESTDIR="${2}/${PKG_NAME}-${PKG_VERSION}"
|
|
else
|
|
TAR_OPTS=""
|
|
DESTDIR="${2}"
|
|
fi
|
|
|
|
case ${PKG_SOURCE_NAME} in
|
|
*.tar | *.tar.bz2 | *.tbz | *.tar.gz | *.tgz | *.tar.xz | *.txz | *.tbz2)
|
|
mkdir -p "${DESTDIR}"
|
|
tar xf ${FULL_SOURCE_PATH} ${TAR_OPTS} -C "${DESTDIR}"
|
|
;;
|
|
*.7z)
|
|
mkdir -p ${2}/${1}
|
|
7z x -o${2}/${1} ${FULL_SOURCE_PATH}
|
|
;;
|
|
*.zip)
|
|
unzip -q ${FULL_SOURCE_PATH} -d ${2}
|
|
;;
|
|
*.diff | *.patch)
|
|
cat ${FULL_SOURCE_PATH} | patch -d ${2} -p1
|
|
;;
|
|
*.diff.bz2 | *.patch.bz2 | patch-*.bz2)
|
|
bzcat ${FULL_SOURCE_PATH} | patch -d ${2} -p1
|
|
;;
|
|
*.diff.gz | *.patch.gz | patch-*.gz)
|
|
zcat ${FULL_SOURCE_PATH} | patch -d ${2} -p1
|
|
;;
|
|
*)
|
|
FULL_DEST_PATH="${2}/${PKG_NAME}-${PKG_VERSION}"
|
|
mkdir ${FULL_DEST_PATH}
|
|
tar cf - -C ${FULL_SOURCE_PATH} ${PKG_TAR_COPY_OPTS} . | \
|
|
tar xf - -C ${FULL_DEST_PATH}
|
|
;;
|
|
esac
|