diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libwacom')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libwacom/default.nix | 22 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libwacom/surface.nix | 37 |
2 files changed, 56 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libwacom/default.nix b/nixpkgs/pkgs/development/libraries/libwacom/default.nix index 24092d328695..f1f6762bab8c 100644 --- a/nixpkgs/pkgs/development/libraries/libwacom/default.nix +++ b/nixpkgs/pkgs/development/libraries/libwacom/default.nix @@ -8,11 +8,12 @@ , udev , libgudev , python3 +, valgrind }: stdenv.mkDerivation rec { pname = "libwacom"; - version = "2.4.0"; + version = "2.6.0"; outputs = [ "out" "dev" ]; @@ -20,9 +21,13 @@ stdenv.mkDerivation rec { owner = "linuxwacom"; repo = "libwacom"; rev = "libwacom-${version}"; - sha256 = "sha256-9uhnO+MqB7tAnSXjBcJWCzHGiz9izun4nVjFb17G8Gg="; + sha256 = "sha256-9zqW6zPrFcxv/yAAtFgdVavKVMXeDBoMP3E/XriUcT0="; }; + postPatch = '' + patchShebangs test/check-files-in-git.sh + ''; + nativeBuildInputs = [ pkg-config meson @@ -36,13 +41,24 @@ stdenv.mkDerivation rec { libgudev ]; + doCheck = stdenv.hostPlatform == stdenv.buildPlatform && lib.meta.availableOn stdenv.hostPlatform valgrind; + mesonFlags = [ - "-Dtests=disabled" + "-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..6168686cf50b --- /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.6.0-1"; + hash = "sha256-4UOO9LMyCJd4LkqU0uva/0Xc44fIVdIQi27tJOtNEFk="; + }; +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 ]; + }; +}) |