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