summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authortaotieren2023-07-19 23:18:00 +0800
committertaotieren2023-07-19 23:18:00 +0800
commitd928699f48c94f994d1b1b0c301c57030a91b431 (patch)
treedd28cfc5d929cd104d14b8750f93576e23023d81
downloadaur-d928699f48c94f994d1b1b0c301c57030a91b431.tar.gz
Add ch343ser-dkms-git
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD69
2 files changed, 89 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..703c1e196761
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = ch343ser-git
+ pkgdesc = USB serial driver for ch342/ch343/ch344/ch347/ch9101/ch9102/ch9103/ch9104, etc (dkms).
+ pkgver = 20230719.77d0a22
+ pkgrel = 1
+ url = https://github.com/WCHSoftGroup/ch343ser_linux
+ arch = x86_64
+ arch = i686
+ arch = aarch64
+ license = GPL
+ makedepends = gcc
+ depends = dkms
+ optdepends = linux-headers: build the module against Arch kernel
+ optdepends = linux-ck-headers: build the module against Linux-ck kernel
+ optdepends = linux-lts-headers: build the module against LTS Arch kernel
+ provides = ch343ser-dkms
+ conflicts = ch343ser-dkms
+ source = ch343ser-git::git+https://github.com/WCHSoftGroup/ch343ser_linux.git
+ md5sums = SKIP
+
+pkgname = ch343ser-dkms-git
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..84dae4df622a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,69 @@
+# Maintainer: taotieren <admin@taotieren.com>
+
+pkgbase=ch343ser-git
+pkgname=ch343ser-dkms-git
+pkgver=20230719.77d0a22
+pkgrel=1
+pkgdesc="USB serial driver for ch342/ch343/ch344/ch347/ch9101/ch9102/ch9103/ch9104, etc (dkms)."
+arch=('x86_64' 'i686' 'aarch64')
+url="https://github.com/WCHSoftGroup/ch343ser_linux"
+license=('GPL')
+provides=(${pkgname%-git})
+conflicts=(${pkgname%-git})
+depends=(dkms)
+makedepends=('gcc')
+optdepends=('linux-headers: build the module against Arch kernel'
+ 'linux-ck-headers: build the module against Linux-ck kernel'
+ 'linux-lts-headers: build the module against LTS Arch kernel')
+source=("${pkgbase}::git+${url}.git")
+md5sums=('SKIP')
+
+pkgver() {
+ cd "$srcdir/${pkgbase}"
+# git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
+ date '+%Y%m%d'.$(git describe --always | sed 's/^v//g' | sed 's/\([^-]*-g\)/r\1/;s/-/./g')
+}
+
+package() {
+ cd "$srcdir/${pkgbase}/driver"
+ rm -rf Makefile
+ install -Dm755 /dev/stdin Makefile <<EOF
+KERNELDIR := /lib/modules/\$(shell uname -r)/build
+obj-m := ch343.o
+
+ifdef KERNELDIR
+all:
+ \$(MAKE) -C \$(KERNELDIR) M=\$(PWD) modules
+else
+all:
+ @echo "Error: KERNELDIR is undefined. Please specify KERNELDIR=\$(KERNELDIR)"
+ @exit 1
+endif
+
+clean:
+ \$(MAKE) -C \$(KERNELDIR) M=\$(PWD) clean
+EOF
+ install -dm755 "${pkgdir}/usr/src/${pkgbase}/"
+ for i in "${srcdir}/${pkgbase}/driver/"{Makefile,*.c,*.h}; do
+ install -D -m644 "${i}" "${pkgdir}/usr/src/${pkgbase}/"
+ done
+
+ install -Dm0644 /dev/stdin "${pkgdir}/usr/src/${pkgbase}/dkms.conf" <<EOF
+PACKAGE_NAME="ch343ser"
+PACKAGE_VERSION="git"
+MAKE[0]="make"
+BUILT_MODULE_NAME[0]="ch343"
+MAKEFILE="Makefile"
+DEST_MODULE_LOCATION[0]="/kernel/drivers/usb/serial"
+AUTOINSTALL="yes"
+EOF
+ # autoload
+ install -Dm644 /dev/stdin "${pkgdir}/etc/modules-load.d/ch343.conf" <<EOF
+ch343
+EOF
+
+ # Blacklists conflicting module
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/cdc_acm.conf" <<EOF
+blacklist cdc_acm
+EOF
+}