summaryrefslogtreecommitdiff
path: root/libre/linux-libre-firmware/PKGBUILD
blob: 298491a6225d70d9fca50fd23a294be99994fdd6 (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
# Maintainer: David P. <megver83@parabola.nu>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Contributor: Márcio Silva <coadde@hyperbola.info>
# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>

pkgname=linux-libre-firmware
pkgver=1.1
pkgrel=2
epoch=1
pkgdesc='Firmware files for Linux-libre'
arch=('any')
url='https://jxself.org/firmware'
license=('GPL3' 'GPL2' 'MPL')
depends=('ath9k-htc-firmware')
makedepends=('cmake' 'gmp' 'gperf' 'arm-linux-gnueabi-gcc' 'sh-elf-gcc' 'sh-elf-newlib' 'xtensa-unknown-elf-gcc')
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'
           'amd-ucode'
           'openfwwf')
replaces=(${conflicts[@]})
options=(!strip)
source=("${url}/${pkgname}-${pkgver}.tar.lz"{,.asc}
        'remove-wget.patch' # remove the download of external toolchains
        'config'            # carl9170fw configuration
)
sha512sums=('4ef111f86e8a87bab31e02be171e09f47d71884f1737f5329e9dd07e9f799436d8ff2de5aa0b2cfb4bc921ed02bb2b59b9a1ea69176dcef5f902364d8725e75a'
            'SKIP'
            'ed4af53a48efd512809a490f9f558fc94f71950b847547bbec175c3bf805fa2bf7c6fea6cec77f454e37d4650b6339c384f5458b979221490921935bd7c044d1'
            '4e596db89f88ed24db3eaff8ed2853d2a07128ba430a26bc63e08f29e4cd4c7093d358df35f580ede563103f0cf720f0f81f517108c79e80d8cf2aee786023f4')
validpgpkeys=('F611A908FFA165C699584ED49D0DB31B545A3198') # Jason Self

prepare() {
  cd $srcdir/$pkgname-$pkgver
  
  # Some firmwares download toolchains with wget. We don't want that
  patch -p1 -i ../remove-wget.patch

  # CARL9170 configuration
  cp -Tf ../config src/carl9170fw/.config
  sed -e '13s|config/conf|config/conf --config|' \
      -i src/carl9170fw/autogen.sh
}  

build() {
  cd "${srcdir}/${pkgname}-${pkgver}/src"
  
  # NOTE: usbdux will only build in 32-bits systems/chroots (i686 and armv7h for instance),
  # however compiling it manually (without makepkg) on a 64-bits machine works.
  # Building with makepkg in a 64-bits system or chroot ends into a segmentation fault.
  # Source: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887320
  make cis isci keyspan_pda openfwwf av7110 dsp56k usbdux carl9170fw # ath9k_htc
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}/src"

  install -dm755 $pkgdir/usr/lib/firmware
  make prefix=$pkgdir/usr/lib/firmware install

  install -Dm644 WHENCE $pkgdir/usr/share/licenses/$pkgname/WHENCE
}