summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: b709a2d4faea82650b0b7aee3a219a86cb4e3a16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (Parabola): David P. <megver83@parabola.nu>
# Contributor (Parabola): André Silva <emulatorman@hyperbola.info>
# Contributor (Parabola): Márcio Silva <coadde@hyperbola.info>
# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net>

# # I maintain this because:
# Parabola version conflict with non-libre packages

pkgname=linux-libre-firmware
pkgver=1.3.1
pkgrel=3
pkgdesc='Firmware files for Linux-libre'
arch=(any)
url='https://jxself.org/firmware'
license=(GPL3)
makedepends=(arm-linux-gnueabi-gcc # av7110
             arm-none-eabi-gcc # aica
             avr-gcc avr-libc dfu-util # atusb
             sh-elf-gcc sh-elf-newlib cmake # carl9170fw
             xtensa-elf-gcc # ath9k_htc
)
optdepends=('dfu-util: to flash the atusb firmware')
provides=(linux-firmware)
conflicts=(linux-firmware
           linux-firmware-git
           kernel26-firmware
           ar9170-fw
           iwlwifi-1000-ucode
           iwlwifi-3945-ucode
           iwlwifi-4965-ucode
           iwlwifi-5000-ucode
           iwlwifi-5150-ucode
           iwlwifi-6000-ucode
           rt2870usb-fw
           rt2x00-rt61-fw
           rt2x00-rt71w-fw
           openfwwf
           ath9k-htc-firmware)
options=(!buildflags !makeflags)
source=(
  "https://jxself.org/firmware/$pkgname-$pkgver.tar.lz"{,.asc}
  0001-Update-carl9170-to-latest-upstream.patch
  0002-Add-firmware-for-the-ATUSB-IEEE-802.15.4-USB-Adapter.patch
  0003-Update-INSTALL-document.patch
  0004-atusb-Build-updates.patch
  0006-Makefile-Change-spaces-for-atusb-to-tab.patch
  0007-Makefile-Add-atusb-to-all.patch
  0008-Makefile-Set-shell-to-bin-bash.patch
)
b2sums=('14819ab3f0582d13c8e0024d9e67738ca77cf6aadb7f5c9b603892a4d1e11b09b4efdefc76a6c94a84b0c54b486410fa75028df5b6dab56d6ba8aabe18f81feb'
        'SKIP'
        '6ddd6cbe4cd02e98a992188b8cfe1b534950f8835e33ec8921c1eb08fb082b612a6183c440bbbb17cef38e338e9a994df0515f3a59f2e39130bf5d8ffa0ff52b'
        '2ea6ce1111d288e2e0b5e141f05a10f96494cd2747ca135448e4ad4b6ca65ffc593b37fd6af294bfebb5e98ffa192f8b45401d1149171c3b6455f41a4e50092f'
        '787cd84ab0b6811e22cd6486bacfc5b196cd3b1645ea30ec541e8b4536fea90b41826e0435b4e136a0d5a80c4880e34135ded0173a7ef1616671356c4b309ddd'
        'dc76474982273f64613a8637122176e62fd3ac0a7104bd496e9b23f130626e1133692e2d354b540bb60c7b305e9262269183dd5bd0d0dec8e1a82733912b11b4'
        '2ac961369744e19c037490820480d16449390cc3b1b0497d3105ec1242b93c86f0001561b2b1b530f11110d9c52542a0541c2be679d105a563f0a5b3e28d5773'
        'fc265216531b2f6dcd7822da184a2ac701897b8ac2145530afd0f375805ad559d939ed3d8758dd333eab3226bfb52fcb2ff016001a8865937e33eea9615bb416'
        '0c425324adb026d1b274a0d4a818697f5a64b5b605efacaf1369f6a95225c37fbf088214eeec4c2e45d1f9676ba14d8afd7a92cb3cf2661bcef46d9bbb60aebc')
validpgpkeys=('F611A908FFA165C699584ED49D0DB31B545A3198') # Jason Self

prepare(){
  cd $pkgname-$pkgver/src

  local src
  for src in "${source[@]}"; do
    src="${src%%::*}"
    src="${src##*/}"
    [[ $src = *.patch ]] || continue
    echo "Applying patch $src..."
    patch -Np1 < "$srcdir/$src"
  done

  # Use our cross compilers and build carl9170fw with the default config
  sed -e 's|$PWD/../toolchain/inst/bin/||g' \
      -e 's|${CMAKE_SOURCE_DIR}/toolchain/inst/bin/||g' \
      -e '/CMAKE_FIND_ROOT_PATH/d' \
      -e 's/: ath9k_htc_toolchain$/:/' \
      -e 's/: carl9170fw-toolchain$/:/' \
      -e '/cd carl9170fw && .\/autogen.sh$/ s/$/ --alldefconfig/' \
      -i Makefile \
         ath9k_htc/target_firmware/configure \
         carl9170fw/extra/sh-elf-linux.cmake
}

build(){
  make -C $pkgname-$pkgver/src
}

package(){
  cd $pkgname-$pkgver/src

  make prefix=$pkgdir/usr/lib/firmware install
  install -Dm644 WHENCE $pkgdir/usr/share/licenses/$pkgname/WHENCE
}