Index: rust-mac-address-1.1.8/src/lib.rs
===================================================================
--- rust-mac-address-1.1.8.orig/src/lib.rs
+++ rust-mac-address-1.1.8/src/lib.rs
@@ -2,7 +2,7 @@
 //! network hardware. See [the Wikipedia
 //! entry](https://en.wikipedia.org/wiki/MAC_address) for more information.
 //!
-//! Supported platforms: Linux, Windows, MacOS, FreeBSD, NetBSD
+//! Supported platforms: Linux, Windows, MacOS, FreeBSD, NetBSD, Hurd
 
 #![deny(missing_docs)]
 
@@ -22,7 +22,9 @@ mod os;
 #[path = "linux.rs"]
 mod os;
 
+#[cfg(not(target_os = "hurd"))]
 mod iter;
+#[cfg(not(target_os = "hurd"))]
 pub use iter::MacAddressIterator;
 
 /// Possible errors when attempting to retrieve a MAC address.
@@ -42,6 +44,7 @@ pub enum MacAddressError {
     target_os = "openbsd",
     target_os = "android",
     target_os = "illumos",
+    target_os = "hurd",
 ))]
 impl From<nix::Error> for MacAddressError {
     fn from(_: nix::Error) -> MacAddressError {
@@ -118,6 +121,7 @@ impl serde::Serialize for MacAddress {
 
 /// Calls the OS-specific function for retrieving the MAC address of the first
 /// network device containing one, ignoring local-loopback.
+#[cfg(not(target_os = "hurd"))]
 pub fn get_mac_address() -> Result<Option<MacAddress>, MacAddressError> {
     let bytes = os::get_mac(None)?;
 
@@ -127,6 +131,7 @@ pub fn get_mac_address() -> Result<Optio
 /// Attempts to look up the MAC address of an interface via the specified name.
 /// **NOTE**: On Windows, this uses the `FriendlyName` field of the adapter, which
 /// is the same name shown in the "Network Connections" Control Panel screen.
+#[cfg(not(target_os = "hurd"))]
 pub fn mac_address_by_name(name: &str) -> Result<Option<MacAddress>, MacAddressError> {
     let bytes = os::get_mac(Some(name))?;
 
@@ -134,6 +139,7 @@ pub fn mac_address_by_name(name: &str) -
 }
 
 /// Attempts to look up the interface name via MAC address.
+#[cfg(not(target_os = "hurd"))]
 pub fn name_by_mac_address(mac: &MacAddress) -> Result<Option<String>, MacAddressError> {
     os::get_ifname(&mac.bytes)
 }
@@ -322,6 +328,7 @@ mod tests {
         );
     }
 
+    #[cfg(not(target_os = "hurd"))]
     #[test]
     fn convert() {
         for mac in MacAddressIterator::new().unwrap() {
Index: rust-mac-address-1.1.8/Cargo.toml
===================================================================
--- rust-mac-address-1.1.8.orig/Cargo.toml
+++ rust-mac-address-1.1.8/Cargo.toml
@@ -58,6 +58,6 @@ version = "1.0.59"
 [dev-dependencies.serde_test]
 version = "1.0.117"
 
-[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd", target_os = "android", target_os = "illumos"))'.dependencies.nix]
+[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd", target_os = "android", target_os = "illumos", target_os = "hurd"))'.dependencies.nix]
 version = ">= 0.29, < 1.0"
 features = ["net"]
