diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libwacom')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libwacom/default.nix | 66 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libwacom/surface.nix | 37 |
2 files changed, 103 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libwacom/default.nix b/nixpkgs/pkgs/development/libraries/libwacom/default.nix new file mode 100644 index 000000000000..c03dd99a125b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libwacom/default.nix @@ -0,0 +1,66 @@ +{ stdenv +, lib +, fetchFromGitHub +, meson +, ninja +, glib +, pkg-config +, udev +, libgudev +, python3 +, valgrind +}: + +stdenv.mkDerivation rec { + pname = "libwacom"; + version = "2.7.0"; + + outputs = [ "out" "dev" ]; + + src = fetchFromGitHub { + owner = "linuxwacom"; + repo = "libwacom"; + rev = "libwacom-${version}"; + sha256 = "sha256-NNfhZMshM5U/EfJHuNgkDe5NEkEGKtJ56vSpXyGf/xw="; + }; + + postPatch = '' + patchShebangs test/check-files-in-git.sh + ''; + + nativeBuildInputs = [ + pkg-config + meson + ninja + python3 + ]; + + buildInputs = [ + glib + udev + libgudev + ]; + + doCheck = stdenv.hostPlatform == stdenv.buildPlatform && lib.meta.availableOn stdenv.hostPlatform valgrind; + + mesonFlags = [ + "-Dtests=${if doCheck then "enabled" else "disabled"}" + ]; + + nativeCheckInputs = [ + valgrind + ] ++ (with python3.pkgs; [ + libevdev + pytest + pyudev + ]); + + meta = with lib; { + platforms = platforms.linux; + homepage = "https://linuxwacom.github.io/"; + changelog = "https://github.com/linuxwacom/libwacom/blob/${src.rev}/NEWS"; + description = "Libraries, configuration, and diagnostic tools for Wacom tablets running under Linux"; + maintainers = teams.freedesktop.members; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/libwacom/surface.nix b/nixpkgs/pkgs/development/libraries/libwacom/surface.nix new file mode 100644 index 000000000000..22707a375954 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libwacom/surface.nix @@ -0,0 +1,37 @@ +{ lib +, fetchFromGitHub +, libwacom +}: + +let + libwacom-surface = fetchFromGitHub { + owner = "linux-surface"; + repo = "libwacom-surface"; + rev = "v2.7.0-1"; + hash = "sha256-LgJ8YFQQN05kyd6kxBakIIiGgZ9icW27xKK3Dz6TwLs="; + }; +in libwacom.overrideAttrs (old: { + pname = "libwacom-surface"; + + # These patches will not be included upstream: + # https://github.com/linux-surface/libwacom/issues/2 + patches = old.patches or [ ] ++ map (p: "${libwacom-surface}/patches/v2/${p}") [ + "0001-Add-support-for-BUS_VIRTUAL.patch" + "0002-Add-support-for-Intel-Management-Engine-bus.patch" + "0003-data-Add-Microsoft-Surface-Pro-3.patch" + "0004-data-Add-Microsoft-Surface-Pro-4.patch" + "0005-data-Add-Microsoft-Surface-Pro-5.patch" + "0006-data-Add-Microsoft-Surface-Pro-6.patch" + "0007-data-Add-Microsoft-Surface-Pro-7.patch" + "0008-data-Add-Microsoft-Surface-Book.patch" + "0009-data-Add-Microsoft-Surface-Book-2-13.5.patch" + "0010-data-Add-Microsoft-Surface-Book-2-15.patch" + "0011-data-Add-Microsoft-Surface-Book-3-13.5.patch" + "0012-data-Add-Microsoft-Surface-Book-3-15.patch" + ]; + + meta = old.meta // { + homepage = "https://github.com/linux-surface/libwacom-surface"; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +}) |