Skip to content

Instantly share code, notes, and snippets.

@ncopa
Last active August 29, 2015 14:13
Show Gist options
  • Save ncopa/ad4dd5acc99a4239ae3f to your computer and use it in GitHub Desktop.
Save ncopa/ad4dd5acc99a4239ae3f to your computer and use it in GitHub Desktop.
# Contributor: William Pitcock <[email protected]>
# Contributor: Timo Teras <[email protected]>
# Maintainer: Leonardo Arena <[email protected]>
pkgname=u-boot
pkgver=2015.01
pkgrel=0
pkgdesc="Bootloader for ARM"
url="http://www.denx.de/wiki/U-Boot/"
arch="armhf"
license="GPL2"
depends=""
depends_dev=""
makedepends="$depends_dev"
install=""
subpackages=""
source="ftp://ftp.denx.de/pub/u-boot/u-boot-$pkgver.tar.bz2
include-sys-types.patch
"
_srcdir="$srcdir"/u-boot-$pkgver
_builddir="$srcdir"/build
board_configs="
wandboard:wandboard_solo,wandboard_dl,wandboard_quad
beagleboard:am335x_boneblack"
for board_config in $board_configs; do
subpackages="$subpackages $pkgname-${board_config%%:*}"
done
prepare() {
local i
cd "$_srcdir"
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
}
build() {
cd "$_srcdir"
touch include/config.h
LC_ALL=C date +'#define U_BOOT_DATE "%b %d %C%y"' > include/timestamp_autogenerated.h
LC_ALL=C date +'#define U_BOOT_TIME "%T"' >> include/timestamp_autogenerated.h
local board_config board
for board_config in $board_configs; do
local configs="${board_config#*:}"
for board in ${configs//,/ /}; do
msg "Building u-boot for $board"
export BUILD_DIR="$_builddir"/$board
mkdir -p "$BUILD_DIR"
make distclean
make O="$BUILD_DIR" ${board}_config || return 1
make O="$BUILD_DIR" all || return 1
done
done
}
package() {
cd "$_builddir"
mkdir -p "$pkgdir"/usr/share/doc/$pkgname
echo "Dummy package" > "$pkgdir"/usr/share/doc/$pkgname/README
}
_split_boards() {
pkgdesc="u-boot for $1"
shift
cd "$_builddir"
local board
for board; do
msg "Including board $board"
mkdir -p "$subpkgdir"/usr/share/$pkgname/$board
export BUILD_DIR="$_builddir"/$board
if [ -e "$BUILD_DIR"/MLO ]; then
cp "$BUILD_DIR"/MLO \
"$subpkgdir"/usr/share/$pkgname/$board || return 1
fi
cp "$BUILD_DIR"/u-boot.* \
"$subpkgdir"/usr/share/$pkgname/$board || return 1
done
}
for board_config in $board_configs; do
local board=${board_config%%:*}
local configs=${board_config#*:}
eval "${board}() { _split_boards $board ${configs//,/ }; }"
done
md5sums="7f08dc9e98a71652bd6968888ed6ec95 u-boot-2015.01.tar.bz2
946644b87937315253151db8b1ba98ec include-sys-types.patch"
sha256sums="383051a656ebe11757b17d38a3326387e4a1b0949ca8a9e8ee506bf71dac9fde u-boot-2015.01.tar.bz2
675676d857758d2eafab39592ad0f937be4021deb5cc47e44bea174a744871b3 include-sys-types.patch"
sha512sums="6697c6da5f463bdfa75b8025a2dd302e9cda58ce36bc3252590f11976807aeccc1ca76be93cbc83d3367a7557878516bb57130ffb76197ffd513640c48e18938 u-boot-2015.01.tar.bz2
3e3a3a1d0f0fb9a41fe0e1427f91d05ec3c70103d5a185ed1d287ea23032ddcd01c0786ddca1d45d05e34df1b4a54a961bd123115798148205a22f6083142a57 include-sys-types.patch"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment