# Maintainer: Shiina Rikka _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}/" }