Package Details: leap-motion-sdk 2.3.1-7

Git Clone URL: (read-only, click to copy)
Package Base: leap-motion
Description: The Leap Motion Developer SDK
Upstream URL:
Licenses: custom
Submitter: robertfoster
Maintainer: rigred
Last Packager: rigred
Votes: 31
Popularity: 0.000000
First Submitted: 2017-04-16 17:28 (UTC)
Last Updated: 2019-01-31 23:15 (UTC)

Latest Comments

pix3l commented on 2021-01-29 20:26 (UTC)

@rigred: I've came to conlcusion that all archlinux build infrastructure is bunch of broken hacky scripts. Why? It's one of the examples (take a look on different pkgrels [totally different PKGBUILD] returned trough git): Package Details: leap-motion-sdk 2.3.1-7 404 - Page Not Found

git clone "" grep pkgrel leap-motion-sdk/PKGBUILD pkgrel=2

git clone "" grep pkgrel leap-motion-sdk/PKGBUILD pkgrel=2

I know that most of archlinux devs deserve that, but i have sometimes feeeling that it's directed by bunch of clowns. Not because of bugs(shit happens), but because how hard it's to communicate with them. They have many mailing lists listed on site, but after writing with bug reports and PKGBUILD diffs once, I've got mails bounced to me(because of unsuficient priviliges. Then I wonder why they are listed publicly and not marked as dev-only). And once I found list where my mail has been accepted, while it has been pointing valid bug in PKGBUILD it has been rejected, because I've used AUR as conflict example (it has been corrected soon, after fighting more on lists).

It's very dissapointing and frustrating, that devs are acting like politicians/lawyers(non-meritocratically), because I've got many corrected/updated and self-written PKGBUILDs and bug reports saved on HDD, because I don't feel the power to go trough all this cat and mouse game. And, I'm not new to OSS world or distro development. I was an active PLD developer trough many years and I hope I will back soon to it, because happily they returned to RedHat's RPM 4 (from Pacman is the most primitive and frustrating package manager I've ever met(at least in latest release they take package version into account, unlike previous versions that took the one from first repo). And PKGBUILD [especially from AUR, but official too] are the worst build receipes I've ever worked with (I worked with thousands of them from PLD, Fedora, Debian, FreeBSD and Gentoo over the years). And if you ask me, why then I'm using Arch if I hate so much it's tooling and quality? Because I love rolling-release distros(but with frequent python releases[with incompatible ABI] I'm starting to hate it), I like high selection of packages in official and unoficial repos and AUR. The strongest point of Arch is big community of skilled devs. The problem is quality(or lack of and lazyines of many of thems. It's caused by lack of strict rules for PKGBUILDs and lack of enforcement of them). There are thousands packages in arch (and some in extra/commmunity) that got dconflicting files, with python as example where I had to add rm -rf "${pkgdir}/usr/lib/python3./site-packages/tests/" It could be automated and even checked by makepkg(with big red warnings abouy it) there are also many conflicts with and pycache/init.cpython-.pyc

Other distros got easilly accessible mailing lists and IRC channels, while Archlinux is like China with Great FireWall.

Sorry for offtopic, but I'm frustrated with dealing with all this bugs and other inconveniences to fetch latest PKGBUILD. It should be easy as possible (AUR is promoted as one of the strongest points of ArchLinux, but all this svn2git is bugged as hell)

rigred commented on 2021-01-29 12:11 (UTC)

Btw you should really switch to something like yay instead of yaourt. yaourt is vulnerable abandonware at this point

rigred commented on 2021-01-29 12:01 (UTC)

Thanks @pix3l I will take a look at it again and see about cleaning up this package a bit. leap-motion development has stalled almost completely over the past year.

pix3l commented on 2021-01-29 11:57 (UTC)

I found the cause of issue. aur search (and yaourt and webpage) don't find 'leap-motion', 'leap-motion-driver 'leap-motion-sdk' and they are downloaded with older release. Downloading it by aur fetch leap-motion fixes that, but why base name ins not searchable? Am I doing something wrong?

pix3l commented on 2021-01-24 19:13 (UTC) (edited on 2021-01-24 19:13 (UTC) by pix3l)

In the past it worked correctly. Problem appeared in last few months It starts correctly, but hangs on shutdown (systemctl stop), so it slows down shutodown/reboot

systemctl status leapd ● leapd.service - Leap Motion Service Daemon Loaded: loaded (/usr/lib/systemd/system/leapd.service; enabled; vendor preset: disabled) Active: failed (Result: timeout) since Sun 2021-01-24 20:11:13 CET; 1min 52s ago Process: 2698138 ExecStart=/usr/bin/leapd (code=killed, signal=KILL) Main PID: 2698138 (code=killed, signal=KILL)

sty 24 20:11:13 sinistar systemd[1]: leapd.service: State 'stop-sigterm' timed out. Killing. sty 24 20:11:13 sinistar systemd[1]: leapd.service: Killing process 2698138 (leapd) with signal SIGKILL. sty 24 20:11:13 sinistar systemd[1]: leapd.service: Killing process 2698149 (leapd) with signal SIGKILL. sty 24 20:11:13 sinistar systemd[1]: leapd.service: Killing process 2698150 (leapd) with signal SIGKILL. sty 24 20:11:13 sinistar systemd[1]: leapd.service: Killing process 2698152 (leapd) with signal SIGKILL. sty 24 20:11:13 sinistar systemd[1]: leapd.service: Killing process 2698158 (leapd) with signal SIGKILL. sty 24 20:11:13 sinistar systemd[1]: leapd.service: Killing process 2698170 (n/a) with signal SIGKILL. sty 24 20:11:13 sinistar systemd[1]: leapd.service: Main process exited, code=killed, status=9/KILL sty 24 20:11:13 sinistar systemd[1]: leapd.service: Failed with result 'timeout'. sty 24 20:11:13 sinistar systemd[1]: Stopped Leap Motion Service Daemon.

parkerlreed commented on 2019-02-01 16:32 (UTC)

@rigred Thanks

rigred commented on 2019-01-31 23:10 (UTC)

@parkerlreed - fixed with the appropriate systemd syntax.

rigred commented on 2019-01-31 21:51 (UTC)

This package is a bit klunky - and includes a good few workarounds to the strange choices made by leap motion.

I'll have to take a look at things and iron out some of it's naughty behaviour.

parkerlreed commented on 2019-01-31 15:49 (UTC)

A suggestion for the leapd.service


ExecStop=/usr/bin/killall -9 leapd

Since leapd does not respond to SIGINT (^C)

More times than not my shutdown hangs because it doesn't exit properly.

parkerlreed commented on 2019-01-29 20:34 (UTC)

Thanks for keeping this up to date! Such a fun device to play with.

rigred commented on 2018-12-28 18:48 (UTC)

That is correct

I've run run ldd over all the binaries & libraries to check and currently only /usr/bin/LeapControlPanel appears to have been linked against /usr/bin/ but also works with the included arch sqlite library.

The upstream leap-motion uses a very windows-like packaging for the included Mono code.

I'm going to test with preloading the included libs to be sure.

robertfoster commented on 2018-12-28 18:22 (UTC) (edited on 2018-12-28 18:26 (UTC) by robertfoster)


Acccording to POSIX standard and to your observations, you should move not only the previously highlighted libs but also the Playground data folder (now under /usr/bin and that should be moved under /usr/share or /opt). So I humbly suggest to review and check the paths created by this package and use symlinks to static binaries. Maybe after you have to check if these binaries are executed correctly or if LD_LIBRARY_PRELOAD env variable is needed.

rigred commented on 2018-12-28 17:16 (UTC)

Ok wow - sorry Did not mean any offense by this. I just wanted an explanation.

I don't have an issue taking over the package.

robertfoster commented on 2018-12-28 17:09 (UTC)

@rigred Your attitude is not constructive. This is voluntary work and put a simple and critic "this is BAD" is not something that can help to advance in maintaining packages especially if the criticism come from someone that maintain one only package (rocm-smi) and have no past experiences on AUR. The explaination is based on the fact that the original debs distributed by Leap Motion have this folder structure and, until now, I don't realized that. So thanks for your observations on this kind of shitty proprietary software. I abandon it. Take care of it, if you want, and keep calm

rigred commented on 2018-12-28 16:25 (UTC)

Why does this package include /usr/bin/ ?

This is just breaking plenty of other sqlite dependencies particularly when compiling things with cmake - as cmake finds sqlite in /usr/bin/ instead of /usr/lib/

Can you please explain the reasoning for placing these here?

leap-motion-driver /usr/bin/
leap-motion-driver /usr/bin/
leap-motion-driver /usr/bin/
leap-motion-driver /usr/bin/
leap-motion-driver /usr/bin/
leap-motion-driver /usr/bin/
leap-motion-driver /usr/bin/
leap-motion-driver /usr/bin/

This is BAD

commented on 2017-05-20 09:30 (UTC)

Changing the $pkgbase and extension var in this line source=(Leap_Motion_SDK_Linux_${_major}.tgz.tgz::http://warehouse.$ to $pkgbase=leapmotion fixes the download issue. source=(Leap_Motion_SDK_Linux_${_major}.tgz:: The warehouse URL was changed from to

Muflone commented on 2017-04-17 10:13 (UTC)

@M0Rf30 I've just received another request to merge the leap-motion package into leap-motion-driver (and another into leap-motion-sdk). Are you sure you want to delete the package leap-motion and move everything into leap-motion-driver package? About the second request, we'll not have another package to move into leap-motion-sdk. Are you sure about your request?

Muflone commented on 2017-04-09 22:51 (UTC)

@M0Rf30 I'm sorry but I've accepted your request to merge the package leap-motion into leap-motion-drive which is the opposite of what you really wanted. So please submit again the leap-motion package and ask again to merge the leap-motion-driver into leap-motion. Do the same for leap-motion-sdk.

Nagasaki45 commented on 2017-03-17 01:22 (UTC)

The SDK is missing from dropbox, so this is currently broken.

gafalcon commented on 2017-01-16 17:05 (UTC)

Hi, cannot install this package I get the following error: Starting package()... /tmp/yaourt-tmp-gabo/aur-leap-motion-driver/./PKGBUILD: line 27: cd: too many arguments ==> ERROR: A failure occurred in package(). Aborting... ==> ERROR: Makepkg was unable to build leap-motion-driver.

quigybo commented on 2016-04-27 22:02 (UTC)

LeapControlPanel is linked against libxslt, thus it should be added to the dependencies.

ackalker commented on 2016-03-15 16:23 (UTC)

The udev rule for this driver set the device to read/write access for everyone, which is a security risk. Also the rule uses the group "plugdev", which normally does not exist in Arch Linux. Please consider patching the rule to use systemd's uaccess mechanism for setting the proper permissions (based on the active seat and session the user is logged into). I would suggest the following prepare() function (it also takes care of unpacking the nested tarball, which is the primary purpose of the prepare() function): prepare() { cd ${srcdir}/Leap_Motion_Installer_Packages_release_public_linux if [ "$CARCH" == 'x86_64' ]; then bsdtar xf Leap-${_major}+${_build}-x64.deb else bsdtar xf Leap-${_major}+${_build}-x86.deb fi bsdtar xf data.tar.xz # Use systemd's user ACL to manage device access sed -i -e 's/MODE="666", GROUP="plugdev"/TAG+="uaccess"/' lib/udev/rules.d/25-com-leapmotion-leap.rules } To test the patched rule: $ lsusb | grep Leap Bus 003 Device 006: ID f182:0003 Leap Motion Controller $ loginctl seat-status | grep Leap │ │ │ input:input17 "Leap Motion Controller" │ │ video4linux:video0 "Leap Motion Controller" $ ls -l /dev/video0 # Note the '+' at the end of the permission list, this indicates that an ACL has been applied crw-rw----+ 1 root video 81, 0 Mar 15 17:17 /dev/video0 $ getfacl /dev/video0 # Here, "miki" is my username getfacl: Removing leading '/' from absolute path names # file: dev/video0 # owner: root # group: video user::rw- user:miki:rw- group::rw- mask::rw- other::---

ackalker commented on 2016-02-05 15:51 (UTC) (edited on 2016-02-05 15:56 (UTC) by ackalker)

@M0Rf30, @hckr There is no need to parse output from http://.../download URL in PKGBUILD. Simply follow these steps (note: this is for the driver only, the SDK requires a user to sign-up with Leap Motion as well as signing a separate licence agreement before access): - Browse to Official setup URL: - Hover mouse over big LINUX DOWNLOAD button and note the link URL in browser status (likely to change on every version update) - Download redirection snippet (replace with link above) $ curl - Note filename at end of <a href="">...</a>, e.g.: Leap_Motion_Setup_Linux_2.3.1.tgz - Modify _major var and source array in PKGBUILD: - _major=2.3.1 source=(Leap_Motion_Setup_Linux_$_major.tgz:: ... ) Makepkg download client handling will take care of the rest. Please, do not refer the source URL to a DropBox folder.

Nagasaki45 commented on 2016-01-15 10:51 (UTC)

Just sent a pull request to fix the issue as DevPump suggested:

Nautigsam commented on 2015-09-21 12:20 (UTC)

You can modify the PKGBUILD like this: _major=2.3.1 _build=31549 first source: first MD5 sum: d9facdfed290823d3a5358ca5077e883 But i hope that the maintainer will update in a more proper way!

xuv commented on 2015-08-27 00:24 (UTC)

Tried that curl from @hckr, did not work. Just to let you know, the actual version is LeapDeveloperKit_2.3.1+31549_linux

DevPump commented on 2015-08-09 03:17 (UTC)

The issue with '/usr/lib/Leap/' can be fixed by prepending $ {pkgdir} in front of the '' and '' install lines like so: install -D -m644 "${pkgdir}/usr/lib/Leap/" "${pkgdir}/usr/lib/python2.7/site-packages/" install -D -m644 "${pkgdir}/usr/lib/Leap/" "${pkgdir}/usr/lib/python2.7/site-packages/"

bfg commented on 2015-08-08 14:28 (UTC)

Hi. I'm trying to install but the error is: ==> Avvio di package() in corso... install: impossibile eseguire stat di "/usr/lib/Leap/": File o directory non esistente Where is ""?

marcs commented on 2015-08-07 10:04 (UTC)

Hi, 2.3.0 version is out.

0x414A commented on 2015-06-02 16:24 (UTC)

You can grab a URL for the latest download by using curl: curl -s -I -L ''|grep Location|awk '{print $2;}' This should output something like

xiangzhai commented on 2015-04-30 03:20 (UTC)

Hi, Is it ok to merge my PKGBUILD for latest sdk - 2.2.5 and libleap.pc Regards, Leslie Zhai

xiangzhai commented on 2015-04-30 03:18 (UTC)

Hi, Is it ok to merge my PKGBUILD for latest driver - 2.2.5 Regards, Leslie Zhai

AnAkkk commented on 2015-02-11 14:02 (UTC) is still missing from /usr/lib/Leap.

nekoxmachina commented on 2015-01-08 21:22 (UTC)

To fix current problem with: "error: failed to commit transaction (conflicting files) leap-motion-driver: /usr/sbin exists in filesystem Errors occurred, no packages were upgraded. " This needs to be added to package() in PKGBUILD (before cp -R usr): mv ${srcdir}/Leap_Motion_Installer_Packages_release_public_linux/usr/sbin/leapd \ ${srcdir}/Leap_Motion_Installer_Packages_release_public_linux/usr/bin/ rmdir ${srcdir}/Leap_Motion_Installer_Packages_release_public_linux/usr/sbin

ido commented on 2014-12-31 01:31 (UTC)

Version released, with significant improvements: Can you update?

marcs commented on 2014-11-12 23:12 (UTC)

404 on:

marcs commented on 2014-11-12 23:02 (UTC)

Thank you for updating but the package doesn't copy a required library from the tgz: I got it working, coping the whole *.so files, instead doing one by one, here is my modification: if [ "$CARCH" == 'x86_64' ]; then cp LeapSDK/lib/x64/*.so ${pkgdir}/usr/lib/Leap else cp LeapSDK/lib/x86/*.so ${pkgdir}/usr/lib/Leap Also i was asking myself why to copy the same libraries in two different places. /lib/Leap and /usr/lib/Leap Compatibility ?

marcs commented on 2014-11-12 16:20 (UTC)

Version 2.1.6 is out.

ido commented on 2014-07-05 22:24 (UTC)

Latest version as of writing is, please update.

libcg commented on 2014-06-15 00:53 (UTC)

Latest version is, please update.

libcg commented on 2014-06-15 00:51 (UTC)

Can you provide a separate package for the SDK v2? Thanks.

rggjan commented on 2014-05-06 19:17 (UTC)

This line is wrong: cp LeapSDK/lib/x64/{LeapPython,libLeapCSharp,libLeapJava}.so ${pkgdir}/usr/lib/Leap It should also copy Otherwise, the examples will crash, since this is a different one from that of the driver: python2 ./ Traceback (most recent call last): File "./", line 9, in <module> import Leap, sys File "/usr/lib/Leap/", line 26, in <module> LeapPython = swig_import_helper() File "/usr/lib/Leap/", line 22, in swig_import_helper _mod = imp.load_module('LeapPython', fp, pathname, description) ImportError: /usr/lib/Leap/ undefined symbol: _ZNK4Leap4Hand8toStringEv ..DeveloperKit/LeapSDK/samples❯ nm -D /usr/lib/Leap/ | grep Leap4Hand8 ..DeveloperKit/LeapSDK/samples❯ nm -D /home/jan/Downloads/LeapDeveloperKit/LeapSDK/lib/x64/ | grep Leap4Hand8 00000000000aca00 T _ZNK4Leap4Hand8toStringEv

tasqa commented on 2014-04-23 15:31 (UTC)

Not totally sure, but it seems there is a new update:

robertfoster commented on 2014-01-17 22:43 (UTC) is included in leap-motion-driver package

retrakker commented on 2014-01-15 10:50 (UTC)

Seems is not being installed - required by the other modules. Checked on x86-64.

flokli commented on 2014-01-07 14:12 (UTC)

Hi @Morfeo: I splitted leap-motion-sdk into leap-motion-{driver,sdk}, updated to driver to and the SDK to You can find the PKGBUILDs here: Florian If you like it, it would be nice if you could add this to AUR.

robertfoster commented on 2013-09-23 16:36 (UTC)

restored 0.8.0 version

neXyon commented on 2013-09-17 21:26 (UTC)

The naming of this packet is a bit confusing. This is not the SDK but just the libraries and programs, no sample sources or header files are included. The current SDK for linux is still v. according to the website.

robertfoster commented on 2013-07-31 14:36 (UTC)

leapd.service added...waiting for suggestions

commented on 2013-07-30 11:33 (UTC)

Good work! Thanks for the package