diff -pruN 0.7.1-2/debian/changelog 0.7.1-3/debian/changelog
--- 0.7.1-2/debian/changelog	2024-11-05 04:26:45.000000000 +0000
+++ 0.7.1-3/debian/changelog	2025-10-14 13:40:45.000000000 +0000
@@ -1,3 +1,11 @@
+rust-input-linux (0.7.1-3) unstable; urgency=medium
+
+  * Team upload.
+  * Package input-linux 0.7.1 from crates.io using debcargo 2.7.8
+  * Add patch for nix 0.30.
+
+ -- Peter Michael Green <plugwash@debian.org>  Tue, 14 Oct 2025 13:40:45 +0000
+
 rust-input-linux (0.7.1-2) unstable; urgency=medium
 
   * Team upload.
diff -pruN 0.7.1-2/debian/control 0.7.1-3/debian/control
--- 0.7.1-2/debian/control	2024-11-05 04:26:45.000000000 +0000
+++ 0.7.1-3/debian/control	2025-10-14 13:40:45.000000000 +0000
@@ -2,20 +2,20 @@ Source: rust-input-linux
 Section: rust
 Priority: optional
 Build-Depends: debhelper-compat (= 13),
- dh-cargo (>= 25),
- cargo:native <!nocheck>,
+ dh-sequence-cargo
+Build-Depends-Arch: cargo:native <!nocheck>,
  rustc:native <!nocheck>,
  libstd-rust-dev <!nocheck>,
  librust-input-linux-sys-0.9+default-dev <!nocheck>,
- librust-nix-0.29+default-dev <!nocheck>
+ librust-nix-0.30+default-dev <!nocheck>
 Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
 Uploaders:
  Andreas Henriksson <andreas@fatal.se>
-Standards-Version: 4.7.0
+Standards-Version: 4.7.2
 Vcs-Git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/input-linux]
 Vcs-Browser: https://salsa.debian.org/rust-team/debcargo-conf/tree/master/src/input-linux
+Homepage: https://github.com/arcnmx/input-linux-rs
 X-Cargo-Crate: input-linux
-Rules-Requires-Root: no
 
 Package: librust-input-linux-dev
 Architecture: any
@@ -24,7 +24,7 @@ Depends:
  ${misc:Depends},
  librust-bytes-1+default-dev,
  librust-input-linux-sys-0.9+default-dev,
- librust-nix-0.29+default-dev,
+ librust-nix-0.30+default-dev,
  librust-serde-1+default-dev,
  librust-serde-1+derive-dev,
  librust-tokio-util-0.7+codec-dev
diff -pruN 0.7.1-2/debian/copyright.debcargo.hint 0.7.1-3/debian/copyright.debcargo.hint
--- 0.7.1-2/debian/copyright.debcargo.hint	2024-11-05 04:26:45.000000000 +0000
+++ 0.7.1-3/debian/copyright.debcargo.hint	2025-10-14 13:40:45.000000000 +0000
@@ -21,8 +21,8 @@ Comment:
 
 Files: debian/*
 Copyright:
- 2024 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
- 2024 Andreas Henriksson <andreas@fatal.se>
+ 2024-2025 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+ 2024-2025 Andreas Henriksson <andreas@fatal.se>
 License: MIT
 
 License: MIT
diff -pruN 0.7.1-2/debian/patches/nix-0.30.patch 0.7.1-3/debian/patches/nix-0.30.patch
--- 0.7.1-2/debian/patches/nix-0.30.patch	1970-01-01 00:00:00.000000000 +0000
+++ 0.7.1-3/debian/patches/nix-0.30.patch	2025-10-14 13:40:45.000000000 +0000
@@ -0,0 +1,44 @@
+--- rust-input-linux-0.7.1.orig/Cargo.toml
++++ rust-input-linux-0.7.1/Cargo.toml
+@@ -56,7 +56,7 @@ optional = true
+ version = "0.9.0"
+ 
+ [dependencies.nix]
+-version = "0.29"
++version = "0.30"
+ 
+ [dependencies.serde]
+ version = "1"
+--- rust-input-linux-0.7.1.orig/src/evdev.rs
++++ rust-input-linux-0.7.1/src/evdev.rs
+@@ -85,7 +85,7 @@ impl<F: AsRawFd> EvdevHandle<F> {
+     /// Read events from the input device
+     pub fn read(&self, events: &mut [sys::input_event]) -> io::Result<usize> {
+         let events = unsafe { from_raw_parts_mut(events.as_mut_ptr() as *mut u8, size_of::<sys::input_event>() * events.len()) };
+-        nix::unistd::read(self.fd(), events)
++        nix::unistd::read(self, events)
+             .map(|len| len / size_of::<sys::input_event>())
+             .map_err(convert_error)
+     }
+--- rust-input-linux-0.7.1.orig/src/macros.rs
++++ rust-input-linux-0.7.1/src/macros.rs
+@@ -3,7 +3,7 @@ use crate::sys;
+ 
+ pub(crate) const STRING_BUFFER_LENGTH: usize = 0x200;
+ 
+-pub(crate) fn convert_error(e: sys::Error) -> io::Error {
++pub(crate) fn convert_error(e: impl Into<io::Error>) -> io::Error {
+     e.into()
+ }
+ 
+--- rust-input-linux-0.7.1.orig/src/uinput.rs
++++ rust-input-linux-0.7.1/src/uinput.rs
+@@ -146,7 +146,7 @@ impl<F: AsRawFd> UInputHandle<F> {
+     /// Read events from uinput (see `EV_UINPUT`)
+     pub fn read(&self, events: &mut [sys::input_event]) -> io::Result<usize> {
+         let events = unsafe { from_raw_parts_mut(events.as_mut_ptr() as *mut u8, size_of::<sys::input_event>() * events.len()) };
+-        nix::unistd::read(self.fd(), events)
++        nix::unistd::read(self, events)
+             .map(|len| len / size_of::<sys::input_event>()).map_err(convert_error)
+     }
+ 
diff -pruN 0.7.1-2/debian/patches/series 0.7.1-3/debian/patches/series
--- 0.7.1-2/debian/patches/series	2024-11-05 04:26:45.000000000 +0000
+++ 0.7.1-3/debian/patches/series	2025-10-14 13:40:45.000000000 +0000
@@ -1,2 +1,3 @@
-relax-deps.diff
 fix-time-issues.patch
+relax-deps.diff
+nix-0.30.patch
diff -pruN 0.7.1-2/debian/tests/control 0.7.1-3/debian/tests/control
--- 0.7.1-2/debian/tests/control	2024-11-05 04:26:45.000000000 +0000
+++ 0.7.1-3/debian/tests/control	2025-10-14 13:40:45.000000000 +0000
@@ -1,44 +1,44 @@
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets --all-features
 Features: test-name=rust-input-linux:@
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets --no-default-features --features bytes
 Features: test-name=librust-input-linux-dev:bytes
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets --no-default-features --features codec
 Features: test-name=librust-input-linux-dev:codec
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets
 Features: test-name=librust-input-linux-dev:default
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets --no-default-features --features dox
 Features: test-name=librust-input-linux-dev:dox
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets --no-default-features --features serde
 Features: test-name=librust-input-linux-dev:serde
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets --no-default-features --features tokio-util-0_7
 Features: test-name=librust-input-linux-dev:tokio-util-0_7
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets --no-default-features --features unstable
 Features: test-name=librust-input-linux-dev:unstable
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test input-linux 0.7.1 --all-targets --no-default-features
 Features: test-name=librust-input-linux-dev:
-Depends: dh-cargo (>= 31), rustc:native, @
+Depends: dh-cargo (>= 31), rustc, @
 Restrictions: allow-stderr, skip-not-installable
diff -pruN 0.7.1-2/debian/watch 0.7.1-3/debian/watch
--- 0.7.1-2/debian/watch	2024-11-05 04:26:45.000000000 +0000
+++ 0.7.1-3/debian/watch	2025-10-14 13:40:45.000000000 +0000
@@ -1,4 +1,6 @@
-version=4
-opts=filenamemangle=s/.*\/(.*)\/download/input-linux-$1\.tar\.gz/g,\
-uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/ \
-https://qa.debian.org/cgi-bin/fakeupstream.cgi?upstream=crates.io/input-linux .*/crates/input-linux/@ANY_VERSION@/download
+Version: 5
+
+Source: https://qa.debian.org/cgi-bin/fakeupstream.cgi?upstream=crates.io/input-linux
+Matching-Pattern:  .*/crates/input-linux/@ANY_VERSION@/download
+Filenamemangle: s/.*\/(.*)\/download/input-linux-$1\.tar\.gz/g
+Uversionmangle: s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\.?\d*)$/$1~$2/
