summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLavaDesu2021-06-10 20:19:18 +0700
committerLavaDesu2021-06-10 20:33:09 +0700
commitf0ed03944bd0c7f79dfa676287c63466fe9bb2d9 (patch)
treefec1be0f23d571b6b636c960bb988f6929bb1917
downloadaur-f0ed03944bd0c7f79dfa676287c63466fe9bb2d9.tar.gz
Init
-rw-r--r--.SRCINFO35
-rw-r--r--.gitignore4
-rw-r--r--OpenTabletDriver.desktop10
-rw-r--r--PKGBUILD109
-rw-r--r--notes.install43
-rw-r--r--opentabletdriver.service12
-rwxr-xr-xotd13
-rwxr-xr-xotd-gui3
8 files changed, 229 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3557a96f6d82
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,35 @@
+pkgbase = opentabletdriver
+ pkgdesc = A cross-platform open source tablet driver
+ pkgver = 0.5.3.2
+ pkgrel = 1
+ url = https://github.com/OpenTabletDriver/OpenTabletDriver
+ install = notes.install
+ arch = x86_64
+ license = LGPL3
+ makedepends = git
+ makedepends = dotnet-sdk-5.0
+ depends = dotnet-runtime-5.0
+ depends = dotnet-host>=5.0
+ depends = gtk3
+ depends = libevdev
+ optdepends = libxrandr: x11 display querying support
+ optdepends = libx11
+ provides = opentabletdriver
+ conflicts = opentabletdriver
+ source = OpenTabletDriver-0.5.3.2.tar.gz::https://github.com/OpenTabletDriver/OpenTabletDriver/archive/v0.5.3.2.tar.gz
+ source = git+https://github.com/OpenTabletDriver/OpenTabletDriver-udev
+ source = otd
+ source = otd-gui
+ source = opentabletdriver.service
+ source = OpenTabletDriver.desktop
+ source = notes.install
+ sha256sums = 73311dcccf8860393709d38e9e20fe9e0eb4671740119e57a548f70525316f12
+ sha256sums = SKIP
+ sha256sums = 8a09d29e683aefcbf54e5fe891d5688f959d9399804f9c151f0e8f6e6a1ede1a
+ sha256sums = 20aac1584a8e08b5a9add1d02ce38e60ddfede615227df6f25c7422217df82b0
+ sha256sums = 88f7d9ae1e9402cfbf9266ddf0de642195b64de13a3d5ce6f93460ba035cf7f2
+ sha256sums = 4399359bf6107b612d10aaa06abb197db540b00a973cfec64c2b40d1fbbb2834
+ sha256sums = aa10ff32dd3d6762b1cb0174f6000c49bf4d4670887d3f47ec0a4ac584cff859
+
+pkgname = opentabletdriver
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..81a7de4006c3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.pkg.*
+OpenTabletDriver*.tar.gz
+OpenTabletDriver/
+OpenTabletDriver-udev/
diff --git a/OpenTabletDriver.desktop b/OpenTabletDriver.desktop
new file mode 100644
index 000000000000..7eaa6bc46710
--- /dev/null
+++ b/OpenTabletDriver.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=OTD_VERSION
+Name=OpenTabletDriver
+Exec=/usr/bin/otd-gui
+Icon=otd
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=Accessories;
+X-Desktop-File-Install-Version=0.15
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c997773648c9
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,109 @@
+# Maintainer: LavaDesu <me@lava.moe>
+pkgname=opentabletdriver
+_pkgname=OpenTabletDriver
+_lpkgname=opentabletdriver
+_spkgname=otd
+pkgver=0.5.3.2
+pkgrel=1
+pkgdesc="A cross-platform open source tablet driver"
+arch=('x86_64')
+url="https://github.com/OpenTabletDriver/OpenTabletDriver"
+license=('LGPL3')
+depends=('dotnet-runtime-5.0' 'dotnet-host>=5.0' 'gtk3' 'libevdev')
+optdepends=('libxrandr: x11 display querying support' 'libx11')
+makedepends=('git' 'dotnet-sdk-5.0')
+provides=("opentabletdriver")
+conflicts=("opentabletdriver")
+install="notes.install"
+source=("OpenTabletDriver-$pkgver.tar.gz::https://github.com/OpenTabletDriver/OpenTabletDriver/archive/v$pkgver.tar.gz"
+ 'git+https://github.com/OpenTabletDriver/OpenTabletDriver-udev'
+ "$_spkgname"
+ "$_spkgname-gui"
+ "$_lpkgname.service"
+ "$_pkgname.desktop"
+ "notes.install")
+
+sha256sums=('73311dcccf8860393709d38e9e20fe9e0eb4671740119e57a548f70525316f12'
+ 'SKIP'
+ '8a09d29e683aefcbf54e5fe891d5688f959d9399804f9c151f0e8f6e6a1ede1a'
+ '20aac1584a8e08b5a9add1d02ce38e60ddfede615227df6f25c7422217df82b0'
+ '88f7d9ae1e9402cfbf9266ddf0de642195b64de13a3d5ce6f93460ba035cf7f2'
+ '4399359bf6107b612d10aaa06abb197db540b00a973cfec64c2b40d1fbbb2834'
+ 'aa10ff32dd3d6762b1cb0174f6000c49bf4d4670887d3f47ec0a4ac584cff859')
+
+_srcdir="OpenTabletDriver-$pkgver"
+
+prepare() {
+ cd "$srcdir/$_pkgname-udev/.modules"
+ rmdir "$_pkgname"
+ ln -s "$srcdir/$_srcdir" "$_pkgname"
+}
+
+build() {
+ export DOTNET_CLI_TELEMETRY_OPTOUT=1
+ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
+
+ cd "$srcdir/$_srcdir"
+
+ dotnet publish OpenTabletDriver.Daemon \
+ --configuration Release \
+ --framework net5 \
+ --runtime linux-x64 \
+ --self-contained false \
+ --output "./$_pkgname/out" \
+ /p:SuppressNETCoreSdkPreviewMessage=true \
+ /p:PublishTrimmed=false
+
+ dotnet publish OpenTabletDriver.Console \
+ --configuration Release \
+ --framework net5 \
+ --runtime linux-x64 \
+ --self-contained false \
+ --output "./$_pkgname/out" \
+ /p:SuppressNETCoreSdkPreviewMessage=true \
+ /p:PublishTrimmed=false
+
+ dotnet publish OpenTabletDriver.UX.Gtk \
+ --configuration Release \
+ --framework net5 \
+ --runtime linux-x64 \
+ --self-contained false \
+ --output "./$_pkgname/out" \
+ /p:SuppressNETCoreSdkPreviewMessage=true \
+ /p:PublishTrimmed=false
+
+ cd "$srcdir/$_pkgname-udev"
+ dotnet build OpenTabletDriver.udev \
+ --configuration Release \
+ --framework net5 \
+ --runtime linux-x64 \
+ --output "./$_pkgname.udev/out" \
+ /p:SuppressNETCoreSdkPreviewMessage=true
+
+ dotnet "./$_pkgname.udev/out/$_pkgname.udev.dll" \
+ "$srcdir/$_srcdir/$_pkgname/Configurations" \
+ "90-$_lpkgname.rules" > /dev/null
+}
+
+package() {
+ cd "$srcdir"
+
+ install -do root "$pkgdir/usr/share/$_pkgname"
+
+ cd "$srcdir/$_srcdir/$_pkgname/out"
+ for binary in *.dll *.json *.pdb; do
+ install -Dm 755 -o root "$binary" -t "$pkgdir/usr/share/$_pkgname"
+ done
+ cd "$srcdir"
+
+ sed -i "s/OTD_VERSION/$pkgver/" "$_pkgname.desktop"
+
+ install -Dm 644 -o root "$srcdir/$_pkgname-udev/90-$_lpkgname.rules" -t "$pkgdir/usr/lib/udev/rules.d"
+ install -Dm 644 -o root "$srcdir/$_srcdir/$_pkgname.UX/Assets/$_spkgname.png" -t "$pkgdir/usr/share/pixmaps"
+ cp -r "$srcdir/$_srcdir/$_pkgname/Configurations" "$pkgdir/usr/share/$_pkgname/"
+
+ install -Dm 755 -o root "$_spkgname" -t "$pkgdir/usr/bin"
+ install -Dm 755 -o root "$_spkgname-gui" -t "$pkgdir/usr/bin"
+ install -Dm 644 -o root "$_lpkgname.service" -t "$pkgdir/usr/lib/systemd/user"
+ install -Dm 644 -o root "$_pkgname.desktop" -t "$pkgdir/usr/share/applications"
+}
diff --git a/notes.install b/notes.install
new file mode 100644
index 000000000000..a530b9b1cf51
--- /dev/null
+++ b/notes.install
@@ -0,0 +1,43 @@
+BOLD='\033[1m'
+GREEN='\033[32m'
+RESET='\033[0m'
+
+msg_replug() {
+ echo -e "${BOLD}${GREEN}Replug${RESET} your tablet if it is connected. This will re-trigger the udev rules accordingly."
+ echo
+}
+
+msg_starting() {
+ echo "The daemon can be started with:"
+ echo -e " $ ${GREEN}otd${RESET}"
+ echo "You can fork it to the background and use output redirection to a log file if desired."
+ echo "A systemd user service is also provided and can be used instead:"
+ echo -e " $ ${GREEN}systemctl --user enable --now opentabletdriver.service${RESET}"
+ echo
+}
+
+msg_modules() {
+ echo "You will have to manually disable built-in kernel modules in order for this driver to work properly."
+ echo -e "This can be done by blacklisting the kernel module by creating a file in ${GREEN}/etc/modprobe.d/blacklist.conf${RESET} with a single line:"
+ echo -e " ${GREEN}blacklist <module>${RESET}"
+ echo "Where <module> is 'wacom' if you own a wacom tablet, and 'hid_uclogic' otherwise."
+ echo "To unload the module immediately, run:"
+ echo -e " # ${GREEN}rmmod <module>${RESET}"
+ echo
+}
+
+msg_faq() {
+ echo -e "In the case that you still have issues after following these instructions, the FAQ at ${GREEN}https://github.com/InfinityGhost/OpenTabletDriver/wiki/Linux-FAQ${RESET} may help."
+ echo
+}
+
+post_install() {
+ echo
+ echo -e "${BOLD}Welcome to OpenTabletDriver!${RESET}"
+ echo "In order to start using this driver, there are certain things that have to be configured manually."
+ echo
+ msg_replug
+ msg_starting
+ msg_modules
+ msg_faq
+}
diff --git a/opentabletdriver.service b/opentabletdriver.service
new file mode 100644
index 000000000000..96e76e3da8d1
--- /dev/null
+++ b/opentabletdriver.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=OpenTabletDriver Daemon
+StartLimitIntervalSec=300
+StartLimitBurst=5
+
+[Service]
+ExecStart=/usr/bin/otd
+Restart=on-failure
+RestartSec=8s
+
+[Install]
+WantedBy=default.target
diff --git a/otd b/otd
new file mode 100755
index 000000000000..f4a779ebe6ba
--- /dev/null
+++ b/otd
@@ -0,0 +1,13 @@
+#!/bin/bash
+cd /usr/share/OpenTabletDriver
+if [ $# -eq 0 ]
+then
+ if [[ ! -v DISPLAY ]] && [[ ! -v WAYLAND_DISPLAY ]]
+ then
+ echo "DISPLAY and/or WAYLAND_DISPLAY is not set"
+ exit 64
+ fi
+ dotnet ./OpenTabletDriver.Daemon.dll -c ./Configurations
+else
+ dotnet ./OpenTabletDriver.Console.dll "$@"
+fi
diff --git a/otd-gui b/otd-gui
new file mode 100755
index 000000000000..8a71b9faf550
--- /dev/null
+++ b/otd-gui
@@ -0,0 +1,3 @@
+#!/bin/bash
+cd /usr/share/OpenTabletDriver
+dotnet ./OpenTabletDriver.UX.Gtk.dll "$@"