diff options
author | Ivan | 2015-08-05 17:57:39 -0700 |
---|---|---|
committer | Ivan | 2015-08-05 17:57:39 -0700 |
commit | c0ec513da6f19cb0346a4ba5badff29f7703c457 (patch) | |
tree | f8c9e0f3a9c84722ce66733285aad2474758bd8c | |
download | aur-c0ec513da6f19cb0346a4ba5badff29f7703c457.tar.gz |
Initiali commit for DisplayLink USB 3.0 Linux Driver
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | 99-displaylink.rules | 1 | ||||
-rw-r--r-- | PKGBUILD | 88 | ||||
-rw-r--r-- | displaylink.install | 18 | ||||
-rw-r--r-- | displaylink.service | 14 |
5 files changed, 142 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..27e7f7e6ea9b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = displaylink + pkgdesc = DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux + pkgver = 1.0.68 + pkgrel = 1 + url = http://www.displaylink.com/downloads/ubuntu.php + install = displaylink.install + arch = i686 + arch = x86_64 + license = custom + license = GPL2 + license = LGPL2.1 + depends = dkms + source = http://downloads.displaylink.com/publicsoftware/DisplayLink-Ubuntu-1.0.68.zip + source = 99-displaylink.rules + source = displaylink.service + md5sums = 3589332fd5ad70b3d24d9bc512d78b48 + md5sums = b3919af46369e551f94589e1d1c799ec + md5sums = 7e18667b7c0ca55d977a6a3ebbe1cbfe + +pkgname = displaylink + diff --git a/99-displaylink.rules b/99-displaylink.rules new file mode 100644 index 000000000000..e9fd032de8b7 --- /dev/null +++ b/99-displaylink.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="179", ATTR{bNumInterfaces}=="*5", GROUP="plugdev", MODE="0660" diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..14ae1dc7ccf8 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,88 @@ +# Maintainer: Ivan <hideaki02@gmail.com> +pkgname=displaylink +pkgver=1.0.68 +pkgrel=1 +pkgdesc="DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux" +arch=('i686' 'x86_64') +url="http://www.displaylink.com/downloads/ubuntu.php" +license=('custom' 'GPL2' 'LGPL2.1') +groups=() +depends=('dkms') +makedepends=() +optdepends=() +provides=() +conflicts=() +replaces=() +backup=() +options=() +install=${pkgname}.install +changelog= +source=(http://downloads.displaylink.com/publicsoftware/DisplayLink-Ubuntu-$pkgver.zip 99-displaylink.rules displaylink.service) +noextract=() +md5sums=('3589332fd5ad70b3d24d9bc512d78b48' + 'b3919af46369e551f94589e1d1c799ec' + '7e18667b7c0ca55d977a6a3ebbe1cbfe') + +build() { + chmod +x displaylink-driver-$pkgver.run + ./displaylink-driver-$pkgver.run --target $pkgname-$pkgver --noexec + cp 99-displaylink.rules $pkgname-$pkgver + cp displaylink.service $pkgname-$pkgver +} + +package() { + cd "$pkgname-$pkgver" + + COREDIR=$pkgdir/usr/lib/displaylink + LOGSDIR=$pkgdir/var/log/displaylink + mkdir -p $COREDIR + mkdir -p $LOGSDIR + chmod 0755 $COREDIR + chmod 0750 $LOGSDIR + + echo "Configuring EVDI DKMS module" + SRCDIR=$pkgdir/usr/src/evdi-$pkgver + mkdir -p "$SRCDIR" + tar xf "evdi-$pkgver-src.tar.gz" -C "$SRCDIR" + + if [ "$CARCH" == "i686" ]; then + ARCH="x86" + elif [ "$CARCH" == "x86_64" ]; then + ARCH="x64" + fi + local DLM="$ARCH/DisplayLinkManager" + echo "Installing $DLM" + cp -f $DLM $COREDIR + + echo "Installing libraries" + local LIBEVDI="$ARCH/libevdi.so" + local LIBUSB="$ARCH/libusb-1.0.so.0.1.0" + + mv -f $LIBEVDI $COREDIR + mv -f $LIBUSB $COREDIR + ln -s /usr/lib/displaylink/libusb-1.0.so.0.1.0 $COREDIR/libusb-1.0.so.0 + ln -s /usr/lib/displaylink/libusb-1.0.so.0.1.0 $COREDIR/libusb-1.0.so + + chmod 0755 $COREDIR/DisplayLinkManager + chmod 0755 $COREDIR/libevdi.so + chmod 0755 $COREDIR/libusb-1.0.so.0.1.0 + + echo "Installing firmware packages" + cp -f *.spkg $COREDIR + chmod 0644 $COREDIR/*.spkg + + echo "Installing license file" + cp -f LICENSE $COREDIR + chmod 0644 $COREDIR/LICENSE + + echo "Adding udev rule for DisplayLink DL-3xxx/5xxx devices" + mkdir -p $pkgdir/etc/udev/rules.d/ + cp 99-displaylink.rules $pkgdir/etc/udev/rules.d/ + chmod 0644 $pkgdir/etc/udev/rules.d/99-displaylink.rules + + echo "Installing DLM systemd service" + mkdir -p $pkgdir/usr/lib/systemd/system/ + cp displaylink.service $pkgdir/usr/lib/systemd/system/ + chmod 0644 $pkgdir/usr/lib/systemd/system/displaylink.service +} + diff --git a/displaylink.install b/displaylink.install new file mode 100644 index 000000000000..082dbc17f60a --- /dev/null +++ b/displaylink.install @@ -0,0 +1,18 @@ +# old version (without -$pkgrel): ${1%%-*} +# new version (without -$pkgrel): ${2%%-*} + +post_install() { + dkms install evdi/${1%%-*} +} + +pre_upgrade() { + pre_remove ${2%%-*} +} + +post_upgrade() { + post_install ${1%%-*} +} + +pre_remove() { + dkms remove evdi/${1%%-*} --all +} diff --git a/displaylink.service b/displaylink.service new file mode 100644 index 000000000000..8357cadc1507 --- /dev/null +++ b/displaylink.service @@ -0,0 +1,14 @@ +[Unit] +Description=DisplayLink Manager Service +After=display-manager.service +Conflicts=getty@tty7.service + +[Service] +ExecStartPre=/sbin/modprobe evdi +ExecStart=/usr/lib/displaylink/DisplayLinkManager +Restart=always +WorkingDirectory=/usr/lib/displaylink +RestartSec=5 + +[Install] +WantedBy=multi-user.target |