summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD83
1 files changed, 83 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b6b93ad98c6f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,83 @@
+# Maintainer: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG
+
+pkgname=devkita64
+pkgver=r9
+_buildscriptsver=20180514
+_binutilsver=2.30
+_gccver=8.1.0
+_newlibver=3.0.0
+_gdbver=8.0
+pkgrel=1
+pkgdesc="AArch64 toolchain for Nintendo Switch homebrew development"
+arch=('x86_64')
+url="http://devkitpro.org"
+license=('GPL')
+options=(!strip libtool staticlibs emptydirs)
+depends=('flex' 'libmpc' 'python' 'xz')
+install=devkita64.install
+source=("https://github.com/devkitPro/buildscripts/releases/download/v$_buildscriptsver/buildscripts-$_buildscriptsver.tar.bz2"
+ "https://github.com/devkitPro/buildscripts/releases/download/sources/binutils-$_binutilsver.tar.bz2"
+ "https://github.com/devkitPro/buildscripts/releases/download/sources/gcc-$_gccver.tar.xz"
+ "https://github.com/devkitPro/buildscripts/releases/download/sources/newlib-$_newlibver.tar.gz"
+ "https://github.com/devkitPro/buildscripts/releases/download/sources/gdb-$_gdbver.tar.xz"
+ "devkita64.sh"
+ "devkita64.fish")
+sha256sums=('c7c11bacfdbcc634d2d70ac17785a0701d5eaaa6753762ca57a918c3841119ac'
+ 'efeade848067e9a03f1918b1da0d37aaffa0b0127a06b5e9236229851d9d0c09'
+ '1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153'
+ 'c8566335ee74e5fcaeb8595b4ebd0400c4b043d6acb3263ecb1314f8f5501332'
+ 'f6a24ffe4917e67014ef9273eb8b547cb96a13e5ca74895b06d683b391f3f4ee'
+ 'c71d64c68947c25bf48a5141589f107f5d6269e38e37c4bf528f614ff37b8981'
+ 'a068e1d2fbbd07f4f520824d256696244bcf85da7bf2142a1a0fe1bd550490e8')
+noextract=("binutils-$_binutilsver.tar.bz2" "gcc-$_gccver.tar.xz"
+ "newlib-$_newlibver.tar.gz" "gdb-$_gdbver.tar.xz")
+
+prepare() {
+ # reset build dir and force reinstalling already built tools
+ rm -rf build
+ [ -d buildscripts/.devkitA64 ] && find buildscripts/.devkitA64 \
+ \( -name "installed-*" -o -name "installed" \) -delete
+
+ (cd buildscripts
+ # generate config file for automatic build
+ cat << END > config.sh
+#!bin/sh
+BUILD_DKPRO_PACKAGE=3
+BUILD_DKPRO_INSTALLDIR="$srcdir"/build
+BUILD_DKPRO_SRCDIR="$srcdir"
+BUILD_DKPRO_SKIP_LIBRARIES=1
+BUILD_DKPRO_SKIP_TOOLS=1
+BUILD_DKPRO_AUTOMATED=1
+
+END
+
+ # do not try to download or extract tool packages
+ sed 's/ \$hostarchives/ ""/g' -i build-devkit.sh
+
+ # do not build gdb with guile support (broken)
+ sed '/gdb/,$ s/--disable-werror/& --with-guile=no/' -i dka64/scripts/build-gcc.sh
+
+ # fix search path to use correct tools
+ sed 's|$PATH:$TOOLPATH/$package/bin|$TOOLPATH/$package/bin:$PATH|' -i \
+ build-devkit.sh
+ )
+}
+
+build() {
+ cd buildscripts
+
+ # disable conflicting build flags
+ unset CPPFLAGS
+ ./build-devkit.sh
+}
+
+package() {
+ install -d "$pkgdir"/opt/devkitpro
+ cp -r build/devkitA64 "$pkgdir"/opt/devkitpro
+ # gzip manually, as makepkg only cares for standard directories
+ gzip "$pkgdir"/opt/devkitpro/devkitA64/share/man/man*/*
+ gzip "$pkgdir"/opt/devkitpro/devkitA64/share/info/*
+ # export environment variable
+ install -Dm755 devkita64.sh "$pkgdir"/etc/profile.d/devkita64.sh
+ install -Dm644 devkita64.fish "$pkgdir"/etc/fish/conf.d/devkita64.fish
+}