Files
omarchy-pkgs/pkgbuilds/yt6801-dkms/PKGBUILD
T

55 lines
1.8 KiB
Bash

# Maintainer: Shiina Rikka <rikka@rikka.im>
_pkgbase=yt6801
pkgname=yt6801-dkms
pkgver=1.0.34
pkgrel=2
pkgdesc="Kernel module for Motorcomm YT6801 ethernet controller (DKMS)"
arch=('x86_64')
url="https://www.motor-comm.com/product/ethernet-control-chip"
license=('GPL-2.0-or-later')
depends=('dkms')
source=(${_pkgbase}-${pkgver}.zip::'https://www.motor-comm.com/Cn/Skippower/downloadFile.html?id=1817'
'patch.diff')
sha256sums=('877e6953fc6eb47232a74e47b0daf33de0e7f9e9a395d3bc10d500d3c4150af8'
'3bad74e58b248d28212f9af468c0522440b9b96a335930f97595cd9f1a5c7b25')
prepare() {
cd "$srcdir"
mkdir -p src
tar -zxf "${_pkgbase}-${pkgver}.tar.gz" -C src
patch --fuzz=0 -p1 < patch.diff
rm -- src/fuxi-gmac-ioctl.c
}
check() {
local result file pattern
[[ ! -e $srcdir/src/fuxi-gmac-ioctl.c ]] || return 1
# A missing or unreadable input is a failed verification, not proof that the
# private interface is absent. grep returns 1 only for a successful no-match.
for file in fuxi-gmac-net.c Makefile; do
[[ -f $srcdir/src/$file && -r $srcdir/src/$file ]] || return 1
if [[ $file == "Makefile" ]]; then
pattern='fuxi-gmac-ioctl\.o'
else
pattern='\.ndo_(do_ioctl|siocdevprivate)'
fi
if grep -E "$pattern" "$srcdir/src/$file" >/dev/null; then
return 1
else
result=$?
(( result == 1 )) || return 1
fi
done
}
package() {
mkdir -p "$pkgdir/usr/src/${_pkgbase}-${pkgver}"
install -Dm644 "$srcdir"/src/*.c "$pkgdir/usr/src/${_pkgbase}-${pkgver}/"
install -Dm644 "$srcdir"/src/*.h "$pkgdir/usr/src/${_pkgbase}-${pkgver}/"
install -Dm644 "$srcdir"/src/Makefile "$pkgdir/usr/src/${_pkgbase}-${pkgver}/"
install -Dm644 "$srcdir"/src/dkms.conf "$pkgdir/usr/src/${_pkgbase}-${pkgver}/"
install -Dm644 "$srcdir"/src/motorcomm "$pkgdir/usr/src/${_pkgbase}-${pkgver}/"
}