Hopefully fix build on kFreeBSD and non-Linux in general
diff --git a/debian/changelog b/debian/changelog
index 3bb3fe3..073eb29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+gstreamer1.0 (1.5.1-2) experimental; urgency=medium
+
+  * debian/patches/0001-ptp-Check-for-the-actual-API-we-use-instead-of-just-.patch:
+    + Hopefully fix build on kFreeBSD and non-Linux in general.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 09 Jun 2015 11:15:55 +0200
+
 gstreamer1.0 (1.5.1-1) experimental; urgency=medium
 
   * New unstable upstream release.
diff --git a/debian/patches/0001-ptp-Check-for-the-actual-API-we-use-instead-of-just-.patch b/debian/patches/0001-ptp-Check-for-the-actual-API-we-use-instead-of-just-.patch
new file mode 100644
index 0000000..9a6bd3e
--- /dev/null
+++ b/debian/patches/0001-ptp-Check-for-the-actual-API-we-use-instead-of-just-.patch
@@ -0,0 +1,133 @@
+From 1ae38f7ba738c2adaaebc66576143f96cdd5e962 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
+Date: Tue, 9 Jun 2015 10:59:42 +0200
+Subject: [PATCH] ptp: Check for the actual API we use instead of just looking
+ for __APPLE__
+
+Should fix the build on FreeBSD, DragonFly and other BSDs.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=750530
+---
+ configure.ac                      | 38 ++++++++++++++++++++++++++++++++++++++
+ libs/gst/helpers/gst-ptp-helper.c | 14 +++++++++-----
+ 2 files changed, 47 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 71309c9..3717518 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -325,6 +325,44 @@ AC_PATH_PROG([SETCAP], [setcap], [no], [$PATH:/usr/bin:/bin:/usr/sbin:/sbin])
+ if test "x$HAVE_PTP" = "xyes"; then
+ AC_DEFINE(HAVE_PTP, 1, [PTP support available])
+ 
++AC_MSG_CHECKING([for SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
++    [[
++        #include <sys/ioctl.h>
++        #include <net/if.h>
++    ]],
++    [[
++        struct ifreq ifr;
++        struct ifconf ifc;
++        ioctl(0, SIOCGIFCONF, &ifc);
++        ioctl(0, SIOCGIFFLAGS, &ifr);
++        ioctl(0, SIOCGIFHWADDR, &ifr);
++        int dummy = ifr.ifr_hwaddr.sa_data[0];
++    ]])], [
++        AC_MSG_RESULT(yes)
++        AC_DEFINE(HAVE_SIOCGIFCONF_SIOCGIFFLAGS_SIOCGIFHWADDR, 1, [SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR is available])
++    ], [
++        AC_MSG_RESULT(no)
++])
++
++AC_MSG_CHECKING([for getifaddrs() and AF_LINK])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
++    [[
++        #include <ifaddrs.h>
++        #include <net/if.h>
++        #include <net/if_dl.h>
++    ]],
++    [[
++        struct ifaddrs *ifaddr;
++        getifaddrs(&ifaddr);
++        int dummy = (ifaddr->ifa_flags & IFF_LOOPBACK) && ifaddr->ifa_addr->sa_family != AF_LINK;
++    ]])], [
++        AC_MSG_RESULT(yes)
++        AC_DEFINE(HAVE_GETIFADDRS_AF_LINK, 1, [getifaddrs() and AF_LINK is available])
++    ], [
++        AC_MSG_RESULT(no)
++    ])
++
+ AC_MSG_CHECKING([how to install gst-ptp-helper])
+ if test "x$with_ptp_helper_permissions" = "xauto"; then
+     if test "x$gst_ptp_have_cap" = "xyes" -a "x$SETCAP" != "xno"; then
+diff --git a/libs/gst/helpers/gst-ptp-helper.c b/libs/gst/helpers/gst-ptp-helper.c
+index 45a0206..6c753df 100644
+--- a/libs/gst/helpers/gst-ptp-helper.c
++++ b/libs/gst/helpers/gst-ptp-helper.c
+@@ -41,7 +41,7 @@
+ #include <netinet/in.h>
+ #include <string.h>
+ 
+-#ifdef __APPLE__
++#ifdef HAVE_GETIFADDRS_AF_LINK
+ #include <ifaddrs.h>
+ #include <net/if_dl.h>
+ #endif
+@@ -240,7 +240,7 @@ setup_sockets (void)
+ 
+   /* Probe all non-loopback interfaces */
+   if (!ifaces) {
+-#ifndef __APPLE__
++#if defined(HAVE_SIOCGIFCONF_SIOCGIFFLAGS_SIOCGIFHWADDR)
+     struct ifreq ifr;
+     struct ifconf ifc;
+     gchar buf[8192];
+@@ -269,7 +269,7 @@ setup_sockets (void)
+           ifaces = probed_ifaces;
+       }
+     }
+-#else
++#elif defined(HAVE_GETIFADDRS_AF_LINK)
+     struct ifaddrs *ifaddr, *ifa;
+ 
+     if (getifaddrs (&ifaddr) != -1) {
+@@ -291,6 +291,8 @@ setup_sockets (void)
+       g_ptr_array_add (arr, NULL);
+       ifaces = probed_ifaces = (gchar **) g_ptr_array_free (arr, FALSE);
+     }
++#else
++#warning "Implement something to list all network interfaces"
+ #endif
+   }
+ 
+@@ -298,7 +300,7 @@ setup_sockets (void)
+   if (clock_id == (guint64) - 1) {
+     gboolean success = FALSE;
+ 
+-#ifndef __APPLE__
++#if defined(HAVE_SIOCGIFCONF_SIOCGIFFLAGS_SIOCGIFHWADDR)
+     struct ifreq ifr;
+ 
+     if (ifaces) {
+@@ -356,7 +358,7 @@ setup_sockets (void)
+         }
+       }
+     }
+-#else
++#elif defined(HAVE_GETIFADDRS_AF_LINK)
+     struct ifaddrs *ifaddr, *ifa;
+ 
+     if (getifaddrs (&ifaddr) != -1) {
+@@ -405,6 +407,8 @@ setup_sockets (void)
+ 
+       freeifaddrs (ifaddr);
+     }
++#else
++#warning "Implement something to get MAC addresses of network interfaces"
+ #endif
+ 
+     if (!success) {
+-- 
+2.1.4
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..bf9373f
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-ptp-Check-for-the-actual-API-we-use-instead-of-just-.patch