diff options
Diffstat (limited to 'libre')
-rw-r--r-- | libre/ath9k-htc-firmware/PKGBUILD | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/libre/ath9k-htc-firmware/PKGBUILD b/libre/ath9k-htc-firmware/PKGBUILD new file mode 100644 index 000000000..f712395f4 --- /dev/null +++ b/libre/ath9k-htc-firmware/PKGBUILD @@ -0,0 +1,124 @@ +# Maintainer: André Silva <emulatorman@lavabit.com> +# Maintainer: Márcio Silva <coadde@lavabit.com> + +pkgname=ath9k-htc-firmware +pkgver=$(LC_ALL=C date -u +%Y%m%d) +pkgrel=1 +pkgdesc='Free firmware files for the Qualcomm Atheros AR7010 and AR9271 USB 802.11n NICs' +arch=('any') +url=('http://wireless.kernel.org/en/users/Drivers/ath9k_htc') +license=('BSD') +makedepends=('git' 'cmake' 'xtensa-unknown-elf-binutils' 'xtensa-unknown-elf-gcc') +source=("git://github.com/qca/open-ath9k-htc-firmware") +md5sums=('SKIP') + +prepare() { + + # create firmware folder to put the free firmware files there + install -d -m755 $pkgdir/usr/lib/firmware + + cd $srcdir/open-ath9k-htc-firmware/target_firmware + mkdir -p build/{k2,magpie} $pkgdir/usr/lib/firmware + +} + +build() { + + cd $srcdir/open-ath9k-htc-firmware + + export CBUILD=$CHOST + export CHOST="xtensa-unknown-elf" + export CTARGET="xtensa-unknown-elf" + export CFLAGS="-mtext-section-literals -O2 -pipe --param=ssp-buffer-size=4" + export CXXFLAGS="${CFLAGS}" + + export CC=/usr/bin/xtensa-unknown-elf-gcc + export CPP=/usr/bin/xtensa-unknown-elf-cpp + export AR=/usr/bin/xtensa-unknown-elf-ar + export AS=/usr/bin/xtensa-unknown-elf-as + export LD=/usr/bin/xtensa-unknown-elf-ld + export NM=/usr/bin/xtensa-unknown-elf-nm + export OBJCOPY=/usr/bin/xtensa-unknown-elf-objcopy + export OBJDUMP=/usr/bin/xtensa-unknown-elf-objdump + export RANLIB=/usr/bin/xtensa-unknown-elf-ranlib + export STRIP=/usr/bin/xtensa-unknown-elf-strip + + cat > target_firmware/build/toolchain.cmake <<EOF +INCLUDE(CMakeForceCompiler) + +SET(CMAKE_CROSSCOMPILING) +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_PROCESSOR xtensa) +SET(CMAKE_HOST_SYSTEM_PROCESSOR xtensa) +SET(COMPILER_PREFIX "xtensa-unknown-elf") +SET(GNU_HOST "xtensa-unknown-elf") +SET(CMAKE_FIND_ROOT_PATH /usr/xtensa-unknown-elf) +SET(CMAKE_C_COMPILER /usr/bin/xtensa-unknown-elf-gcc) +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY FIRST) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE FIRST) + +CMAKE_FORCE_C_COMPILER(/usr/bin/xtensa-unknown-elf-gcc GNU) +EOF + + cd $srcdir/open-ath9k-htc-firmware/target_firmware/build/k2 + + cmake -DCMAKE_TOOLCHAIN_FILE=$srcdir/open-ath9k-htc-firmware/target_firmware/build/toolchain.cmake "$@" -DTARGET_K2=ON ../.. + cd - + + cd $srcdir/open-ath9k-htc-firmware/target_firmware/build/magpie + + cmake -DCMAKE_TOOLCHAIN_FILE=$srcdir/open-ath9k-htc-firmware/target_firmware/build/toolchain.cmake "$@" -DTARGET_MAGPIE=ON ../.. + cd - + + cd $srcdir/open-ath9k-htc-firmware/target_firmware + + sed -i 's|/usr/bin/gcc|/usr/bin/xtensa-unknown-elf-gcc|g; + s|/usr/bin/cpp|/usr/bin/xtensa-unknown-elf-cpp|g; + s|/usr/bin/ar|/usr/bin/xtensa-unknown-elf-ar|g; + s|/usr/bin/as|/usr/bin/xtensa-unknown-elf-as|g; + s|/usr/bin/ld|/usr/bin/xtensa-unknown-elf-ld|g; + s|/usr/bin/nm|/usr/bin/xtensa-unknown-elf-nm|g; + s|/usr/bin/objcopy|/usr/bin/xtensa-unknown-elf-objcopy|g; + s|/usr/bin/objdump|/usr/bin/xtensa-unknown-elf-objdump|g; + s|/usr/bin/ranlib|/usr/bin/xtensa-unknown-elf-ranlib|g; + s|/usr/bin/strip|/usr/bin/xtensa-unknown-elf-strip|g; + s|/usr/local|/usr|g; + ' $(grep -rlI /usr/bin/gcc) \ + $(grep -rlI /usr/bin/cpp) \ + $(grep -rlI /usr/bin/ld) \ + $(grep -rlI /usr/bin/ar) \ + $(grep -rlI /usr/bin/as) \ + $(grep -rlI /usr/bin/nm) \ + $(grep -rlI /usr/bin/objcopy) \ + $(grep -rlI /usr/bin/objdump) \ + $(grep -rlI /usr/bin/ranlib) \ + $(grep -rlI /usr/bin/strip) \ + $(grep -rlI /usr/local) + + make \ + CC="${CC}" CPP="${CPP}" AR="${AR}" AS="${AS}" LD="${LD}" NM="${NM}" \ + OBJCOPY="${OBJCOPY}" OBJDUMP="${OBJDUMP}" RANLIB="${RANLIB}" STRIP="${STRIP}" \ + -C build/k2 + make \ + CC="${CC}" CPP="${CPP}" AR="${AR}" AS="${AS}" LD="${LD}" NM="${NM}" \ + OBJCOPY="${OBJCOPY}" OBJDUMP="${OBJDUMP}" RANLIB="${RANLIB}" STRIP="${STRIP}" \ + -C build/magpie + +} + +package() { + + cd $srcdir/open-ath9k-htc-firmware/target_firmware + + # move firmware files to firmware folder + cp build/{k2,magpie}/htc_*.fw $pkgdir/usr/lib/firmware + + # create licenses folder to put the licenses files there + install -d -m755 $pkgdir/usr/share/licenses/$pkgname + + # move LICENSE.TXT from ath9k-htc firmware to linux-firmware license folder + cd $srcdir/open-ath9k-htc-firmware-1.3.2 + mv LICENSE.TXT $pkgdir/usr/share/licenses/$pkgname/LICENCE + +} |