diff options
author | LavaDesu | 2021-06-10 20:19:18 +0700 |
---|---|---|
committer | LavaDesu | 2021-06-10 20:33:09 +0700 |
commit | f0ed03944bd0c7f79dfa676287c63466fe9bb2d9 (patch) | |
tree | fec1be0f23d571b6b636c960bb988f6929bb1917 | |
download | aur-f0ed03944bd0c7f79dfa676287c63466fe9bb2d9.tar.gz |
Init
-rw-r--r-- | .SRCINFO | 35 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | OpenTabletDriver.desktop | 10 | ||||
-rw-r--r-- | PKGBUILD | 109 | ||||
-rw-r--r-- | notes.install | 43 | ||||
-rw-r--r-- | opentabletdriver.service | 12 | ||||
-rwxr-xr-x | otd | 13 | ||||
-rwxr-xr-x | otd-gui | 3 |
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 @@ -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 "$@" |