diff options
Diffstat (limited to 'comms/gammu/patches')
-rw-r--r-- | comms/gammu/patches/patch-aa | 44 | ||||
-rw-r--r-- | comms/gammu/patches/patch-ab | 42 | ||||
-rw-r--r-- | comms/gammu/patches/patch-ac | 17 | ||||
-rw-r--r-- | comms/gammu/patches/patch-ad | 34 | ||||
-rw-r--r-- | comms/gammu/patches/patch-ae | 259 | ||||
-rw-r--r-- | comms/gammu/patches/patch-af | 8 | ||||
-rw-r--r-- | comms/gammu/patches/patch-ag | 17 | ||||
-rw-r--r-- | comms/gammu/patches/patch-ai | 14 | ||||
-rw-r--r-- | comms/gammu/patches/patch-aj | 44 |
9 files changed, 479 insertions, 0 deletions
diff --git a/comms/gammu/patches/patch-aa b/comms/gammu/patches/patch-aa new file mode 100644 index 00000000000..d952616483d --- /dev/null +++ b/comms/gammu/patches/patch-aa @@ -0,0 +1,44 @@ +$NetBSD: patch-aa,v 1.1.1.1 2009/05/25 12:50:00 wiz Exp $ + +use "BSD" not "FreeBSD" for Bluetooth support. + +We add a check for the sdp_open() in libbluetooth as this is indicative +of the capability to use the new service discovery API. + +--- CMakeLists.txt.orig 2009-04-15 14:39:54.000000000 +0100 ++++ CMakeLists.txt 2009-05-22 09:46:03.000000000 +0100 +@@ -270,12 +271,12 @@ + set(BLUETOOTH_SEARCH TRUE) + message(STATUS "Using BlueZ stack") + endif (BLUEZ_FOUND) +- find_package (FBSDBluetooth) +- if (FBSD_BLUE_FOUND) ++ find_package (BSDBluetooth) ++ if (BSD_BLUE_FOUND) + set(BLUETOOTH_FOUND ON) +- set(BLUETOOTH_SEARCH FALSE) +- message(STATUS "Using FreeBSD Bluetooth stack") +- endif (FBSD_BLUE_FOUND) ++ check_library_exists(bluetooth sdp_open "" BLUETOOTH_SEARCH) ++ message(STATUS "Using BSD Bluetooth stack") ++ endif (BSD_BLUE_FOUND) + find_package (OSXBluetooth) + if (OSX_BLUE_FOUND) + set(BLUETOOTH_FOUND ON) +@@ -360,11 +361,11 @@ + endif (NOT "${BLUEZ_LIBRARIES}" STREQUAL "") + endif (BLUEZ_FOUND) + +-if (FBSD_BLUE_FOUND) +- if (NOT "${FBSD_BLUE_LIBRARIES}" STREQUAL "") +- set (GAMMU_LIBS "${GAMMU_LIBS} -l${FBSD_BLUE_LIBRARIES}") +- endif (NOT "${FBSD_BLUE_LIBRARIES}" STREQUAL "") +-endif (FBSD_BLUE_FOUND) ++if (BSD_BLUE_FOUND) ++ if (NOT "${BSD_BLUE_LIBRARIES}" STREQUAL "") ++ set (GAMMU_LIBS "${GAMMU_LIBS} -l${BSD_BLUE_LIBRARIES}") ++ endif (NOT "${BSD_BLUE_LIBRARIES}" STREQUAL "") ++endif (BSD_BLUE_FOUND) + + if (ICONV_FOUND) + if (NOT "${ICONV_LIBRARIES}" STREQUAL "") diff --git a/comms/gammu/patches/patch-ab b/comms/gammu/patches/patch-ab new file mode 100644 index 00000000000..aff4c73dc5a --- /dev/null +++ b/comms/gammu/patches/patch-ab @@ -0,0 +1,42 @@ +$NetBSD: patch-ab,v 1.1.1.1 2009/05/25 12:50:00 wiz Exp $ + +use "BSD" not "FreeBSD" for Bluetooth support. + +--- /dev/null 1970-01-01 01:00:00.000000000 +0100 ++++ cmake/FindBSDBluetooth.cmake 2009-05-22 09:48:26.000000000 +0100 +@@ -0,0 +1,35 @@ ++# - Finds Bluetooth library on BSD ++# This module defines ++# BSD_BLUE_INCLUDE_DIR, where to find bluetooth.h ++# BSD_BLUE_LIBRARIES, the libraries needed to use BSD Bluetooth. ++# BSD_BLUE_FOUND, If false, do not try to use BSD Bluetooth. ++# ++# Copyright (c) 2007, Michal Cihar, <michal@cihar.com> ++# ++# vim: expandtab sw=4 ts=4 sts=4: ++ ++if (NOT DEFINED BSD_BLUE_FOUND) ++ if (NOT CROSS_MINGW) ++ find_path(BSD_BLUE_INCLUDE_DIR NAMES bluetooth.h ++ PATHS ++ /usr/include ++ /usr/local/include ++ ) ++ ++ find_library(BSD_BLUE_LIBRARIES NAMES bluetooth ++ PATHS ++ /usr/lib ++ /usr/local/lib ++ ) ++ ++ if(BSD_BLUE_INCLUDE_DIR AND BSD_BLUE_LIBRARIES) ++ set(BSD_BLUE_FOUND TRUE CACHE INTERNAL "BSD Bluetooth found") ++ message(STATUS "Found BSD Bluetooth: ${BSD_BLUE_INCLUDE_DIR}, ${BSD_BLUE_LIBRARIES}") ++ else(BSD_BLUE_INCLUDE_DIR AND BSD_BLUE_LIBRARIES) ++ set(BSD_BLUE_FOUND FALSE CACHE INTERNAL "BSD Bluetooth found") ++ message(STATUS "BSD Bluetooth not found.") ++ endif(BSD_BLUE_INCLUDE_DIR AND BSD_BLUE_LIBRARIES) ++ ++ mark_as_advanced(BSD_BLUE_INCLUDE_DIR BSD_BLUE_LIBRARIES) ++ endif (NOT CROSS_MINGW) ++endif (NOT DEFINED BSD_BLUE_FOUND) diff --git a/comms/gammu/patches/patch-ac b/comms/gammu/patches/patch-ac new file mode 100644 index 00000000000..b6a592eadde --- /dev/null +++ b/comms/gammu/patches/patch-ac @@ -0,0 +1,17 @@ +$NetBSD: patch-ac,v 1.1.1.1 2009/05/25 12:50:00 wiz Exp $ + +use "BSD" not "FreeBSD" for Bluetooth support. + +--- cmake/templates/gammu-config.h.cmake.orig 2009-03-17 15:01:11.000000000 +0000 ++++ cmake/templates/gammu-config.h.cmake 2009-05-22 09:49:28.000000000 +0100 +@@ -322,8 +322,8 @@ + /* Do we have libusb-1.0 ? */ + #cmakedefine LIBUSB_FOUND + +-/* Will be used FreeBSD Bluetooth stack ? */ +-#cmakedefine FBSD_BLUE_FOUND ++/* Will be used BSD Bluetooth stack ? */ ++#cmakedefine BSD_BLUE_FOUND + + /* Will be used OSX Bluetooth stack ? */ + #cmakedefine OSX_BLUE_FOUND diff --git a/comms/gammu/patches/patch-ad b/comms/gammu/patches/patch-ad new file mode 100644 index 00000000000..4f7391ee8a1 --- /dev/null +++ b/comms/gammu/patches/patch-ad @@ -0,0 +1,34 @@ +$NetBSD: patch-ad,v 1.1.1.1 2009/05/25 12:50:01 wiz Exp $ + +use "BSD" not "FreeBSD" for Bluetooth support. + +--- libgammu/CMakeLists.txt.orig 2009-03-18 09:16:38.000000000 +0000 ++++ libgammu/CMakeLists.txt 2009-05-22 09:46:23.000000000 +0100 +@@ -76,9 +76,9 @@ + if (LIBUSB_FOUND) + list (APPEND LIBRARY_SRC device/usb/usb.c) + endif (LIBUSB_FOUND) +-if (FBSD_BLUE_FOUND) +- list (APPEND LIBRARY_SRC device/bluetoth/blue_fbsd.c) +-endif (FBSD_BLUE_FOUND) ++if (BSD_BLUE_FOUND) ++ list (APPEND LIBRARY_SRC device/bluetoth/blue_bsd.c) ++endif (BSD_BLUE_FOUND) + if (OSX_BLUE_FOUND) + list (APPEND LIBRARY_SRC device/bluetoth/blue_osx.c) + endif (OSX_BLUE_FOUND) +@@ -126,10 +126,10 @@ + include_directories (${LIBUSB_INCLUDE_DIR}) + endif (LIBUSB_FOUND) + +-if (FBSD_BLUE_FOUND) +- target_link_libraries (libGammu ${FBSD_BLUE_LIBRARIES}) +- include_directories (${FBSD_BLUE_INCLUDE_DIR}) +-endif (FBSD_BLUE_FOUND) ++if (BSD_BLUE_FOUND) ++ target_link_libraries (libGammu ${BSD_BLUE_LIBRARIES}) ++ include_directories (${BSD_BLUE_INCLUDE_DIR}) ++endif (BSD_BLUE_FOUND) + + if (OSX_BLUE_FOUND) + target_link_libraries (libGammu ${OSX_BLUE_LIBS}) diff --git a/comms/gammu/patches/patch-ae b/comms/gammu/patches/patch-ae new file mode 100644 index 00000000000..cc56a4088cd --- /dev/null +++ b/comms/gammu/patches/patch-ae @@ -0,0 +1,259 @@ +$NetBSD: patch-ae,v 1.1.1.1 2009/05/25 12:50:01 wiz Exp $ + +Replace "FreeBSD" Bluetooth support with "BSD". +This should cover NetBSD, FreeBSD, OpenBSD and DragonflyBSD at least. + +The BLUETOOTH_RF_SEARCHING option will only work on systems that have +the later Service Discovery API in libbluetooth. + +--- /dev/null 1970-01-01 01:00:00.000000000 +0100 ++++ libgammu/device/bluetoth/blue_bsd.c 2009-05-22 09:43:12.000000000 +0100 +@@ -0,0 +1,248 @@ ++/*- ++ * Copyright (c) 2009 Iain Hibbert ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#include "../../gsmstate.h" ++ ++#ifdef GSM_ENABLE_BLUETOOTHDEVICE ++#ifdef BSD_BLUE_FOUND ++ ++#include <sys/socket.h> ++#include <sys/time.h> ++ ++#include <bluetooth.h> ++#include <errno.h> ++#include <netdb.h> ++#include <sdp.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <unistd.h> ++ ++#include "../../gsmcomon.h" ++#include "../devfunc.h" ++#include "bluetoth.h" ++ ++/* ++ * Handle FreeBSD compatibility ++ */ ++#ifndef BTPROTO_RFCOMM ++#define BTPROTO_RFCOMM BLUETOOTH_PROTO_RFCOMM ++#define BDADDR_ANY NG_HCI_BDADDR_ANY ++#define sockaddr_bt sockaddr_rfcomm ++#define bt_len rfcomm_len ++#define bt_family rfcomm_family ++#define bt_channel rfcomm_channel ++#define bt_bdaddr rfcomm_bdaddr ++#endif ++ ++static GSM_Error bluetooth_open(GSM_StateMachine *s, bdaddr_t *bdaddr, int channel) ++{ ++ GSM_Device_BlueToothData *d = &s->Device.Data.BlueTooth; ++ struct sockaddr_bt sa; ++ int fd; ++ ++ memset(&sa, 0, sizeof(sa)); ++ sa.bt_len = sizeof(sa); ++ sa.bt_family = AF_BLUETOOTH; ++ ++ smprintf(s, "Connecting to RF channel %i\n", channel); ++ ++ fd = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); ++ if (fd < 0) { ++ smprintf(s, "Can't create socket\n"); ++ return ERR_DEVICENODRIVER; ++ } ++ ++ bdaddr_copy(&sa.bt_bdaddr, BDADDR_ANY); ++ ++ if (bind(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) { ++ smprintf(s, "Can't bind socket: %s\n", strerror(errno)); ++ close(fd); ++ return ERR_DEVICEOPENERROR; ++ } ++ ++ sa.bt_channel = channel; ++ bdaddr_copy(&sa.bt_bdaddr, bdaddr); ++ ++ if (connect(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) { ++ smprintf(s, "Can't connect to %s: %s\n", bt_ntoa(bdaddr, NULL), strerror(errno)); ++ close(fd); ++ return ERR_DEVICEOPENERROR; ++ } ++ ++ d->hPhone = fd; ++ return ERR_NONE; ++} ++ ++GSM_Error bluetooth_connect(GSM_StateMachine *s, int port, char *device) ++{ ++ bdaddr_t bdaddr; ++ struct hostent *he = NULL; ++ ++ if (!bt_aton(device, &bdaddr)) { ++ if ((he = bt_gethostbyname(device)) == NULL) { ++ smprintf(s, "%s: %s\n", device, hstrerror(h_errno)); ++ return ERR_UNKNOWN; ++ } ++ ++ bdaddr_copy(&bdaddr, (bdaddr_t *)he->h_addr); ++ } ++ ++ return bluetooth_open(s, &bdaddr, port); ++} ++ ++#ifdef BLUETOOTH_RF_SEARCHING ++ ++static int bluetooth_channel(sdp_data_t *value) ++{ ++ sdp_data_t pdl, seq; ++ uintmax_t channel; ++ ++ sdp_get_alt(value, value); /* strip any alt container */ ++ ++ while (sdp_get_seq(value, &pdl)) { ++ if (sdp_get_seq(&pdl, &seq) ++ && sdp_match_uuid16(&seq, SDP_UUID_PROTOCOL_L2CAP) ++ && sdp_get_seq(&pdl, &seq) ++ && sdp_match_uuid16(&seq, SDP_UUID_PROTOCOL_RFCOMM) ++ && sdp_get_uint(&seq, &channel) ++ && channel >= 1 && channel <= 30) ++ return channel; ++ } ++ ++ return -1; ++} ++ ++static char *bluetooth_service(sdp_data_t *value) ++{ ++ char *str; ++ size_t len; ++ ++ if (!sdp_get_str(value, &str, &len)) ++ return NULL; ++ ++ return strndup(str, len); ++} ++ ++static GSM_Error bluetooth_search(GSM_StateMachine *s, bdaddr_t *bdaddr) ++{ ++ sdp_data_t rec, rsp, ssp, value; ++ uint8_t buf[3]; ++ uint16_t attr; ++ sdp_session_t ss; ++ int ch, channel, sc, score; ++ char *sv; ++ ++ ss = sdp_open(NULL, bdaddr); ++ if (ss == NULL) { ++ smprintf(s, "SDP Connection failed: %s\n", strerror(errno)); ++ return ERR_TIMEOUT; ++ } ++ ++ ssp.next = buf; ++ ssp.end = buf + sizeof(buf); ++ sdp_put_uuid16(&ssp, SDP_UUID_PROTOCOL_RFCOMM); ++ ssp.end = ssp.next; ++ ssp.next = buf; ++ ++ if (!sdp_service_search_attribute(ss, &ssp, NULL, &rsp)) { ++ smprintf(s, "SDP Service Search Attribute failed: %s\n", strerror(errno)); ++ sdp_close(ss); ++ return ERR_UNKNOWN; ++ } ++ ++ channel = -1; ++ score = 0; ++ ++ while (sdp_get_seq(&rsp, &rec)) { ++ ch = -1; ++ sv = NULL; ++ ++ while (sdp_get_attr(&rec, &attr, &value)) { ++ switch (attr) { ++ case SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST: ++ ch = bluetooth_channel(&value); ++ break; ++ ++ case SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET: ++ sv = bluetooth_service(&value); ++ break; ++ ++ default: ++ break; ++ } ++ } ++ ++ if (ch != -1) { ++ smprintf(s, " Channel %i", ch); ++ if (sv != NULL) { ++ sc = bluetooth_checkservicename(s, sv); ++ smprintf(s, " - \"%s\" (score=%d)", sv, sc); ++ if (sc > score) { ++ score = sc; ++ channel = ch; ++ } ++ } ++ smprintf(s, "\n"); ++ } ++ ++ free(sv); ++ } ++ ++ sdp_close(ss); ++ ++ if (channel == -1) { ++ smprintf(s, "No suitable service found!\n"); ++ return ERR_NOTSUPPORTED; ++ } ++ ++ return bluetooth_open(s, bdaddr, channel); ++} ++ ++GSM_Error bluetooth_findchannel(GSM_StateMachine *s) ++{ ++ char *device = s->CurrentConfig->Device; ++ bdaddr_t bdaddr; ++ struct hostent *he = NULL; ++ ++ if (!bt_aton(device, &bdaddr)) { ++ if ((he = bt_gethostbyname(device)) == NULL) { ++ smprintf(s, "%s: %s\n", device, hstrerror(h_errno)); ++ return ERR_UNKNOWN; ++ } ++ ++ bdaddr_copy(&bdaddr, (bdaddr_t *)he->h_addr); ++ } ++ ++ return bluetooth_search(s, &bdaddr); ++} ++ ++#endif ++#endif ++#endif ++ ++/* How should editor hadle tabs in this file? Add editor commands here. ++ * vim: noexpandtab sw=8 ts=8 sts=8: ++ */ diff --git a/comms/gammu/patches/patch-af b/comms/gammu/patches/patch-af new file mode 100644 index 00000000000..b5f99aa44c7 --- /dev/null +++ b/comms/gammu/patches/patch-af @@ -0,0 +1,8 @@ +$NetBSD: patch-af,v 1.1.1.1 2009/05/25 12:50:01 wiz Exp $ + +use "BSD" instead of "FreeBSD" for Bluetooth support. + +--- /dev/null 1970-01-01 01:00:00.000000000 +0100 ++++ libgammu/device/bluetoth/blue_bsd.h 2009-05-22 09:43:12.000000000 +0100 +@@ -0,0 +1,1 @@ ++ /* empty file */ diff --git a/comms/gammu/patches/patch-ag b/comms/gammu/patches/patch-ag new file mode 100644 index 00000000000..1adffd3b9b9 --- /dev/null +++ b/comms/gammu/patches/patch-ag @@ -0,0 +1,17 @@ +$NetBSD: patch-ag,v 1.1.1.1 2009/05/25 12:50:01 wiz Exp $ + +use "BSD" instead of "FreeBSD" for Bluetooth support. + +--- libgammu/device/bluetoth/bluetoth.c.orig 2009-02-12 14:19:01.000000000 +0000 ++++ libgammu/device/bluetoth/bluetoth.c 2009-05-22 09:44:29.000000000 +0100 +@@ -21,8 +21,8 @@ + #ifdef BLUEZ_FOUND + # include "bluez.h" + #endif +-#ifdef FBSD_BLUE_FOUND +-# include "blue_fbsd.h" ++#ifdef BSD_BLUE_FOUND ++# include "blue_bsd.h" + #endif + #ifdef OSX_BLUE_FOUND + # include "blue_osx.h" diff --git a/comms/gammu/patches/patch-ai b/comms/gammu/patches/patch-ai new file mode 100644 index 00000000000..e43e02e8667 --- /dev/null +++ b/comms/gammu/patches/patch-ai @@ -0,0 +1,14 @@ +$NetBSD: patch-ai,v 1.1.1.1 2009/05/25 12:50:00 wiz Exp $ + +https://bugs.cihar.com/view.php?id=909 + +--- cmake/GammuTuneFlags.cmake.orig 2009-05-22 09:57:08.000000000 +0000 ++++ cmake/GammuTuneFlags.cmake +@@ -0,0 +1,7 @@ ++macro (GAMMU_TUNE_SHARED _target) ++ if(CMAKE_COMPILER_IS_GNUCC AND NOT (CMAKE_COMPILER_IS_MINGW OR ++ CMAKE_COMPILER_IS_CYGWIN OR CMAKE_COMPILER_IS_GNUCXX)) ++ set_target_properties (${_target} PROPERTIES COMPILE_FLAGS -fPIC) ++ endif(CMAKE_COMPILER_IS_GNUCC AND NOT (CMAKE_COMPILER_IS_MINGW OR ++ CMAKE_COMPILER_IS_CYGWIN OR CMAKE_COMPILER_IS_GNUCXX)) ++endmacro (GAMMU_TUNE_SHARED) diff --git a/comms/gammu/patches/patch-aj b/comms/gammu/patches/patch-aj new file mode 100644 index 00000000000..243efda9d89 --- /dev/null +++ b/comms/gammu/patches/patch-aj @@ -0,0 +1,44 @@ +$NetBSD: patch-aj,v 1.1.1.1 2009/05/25 12:50:00 wiz Exp $ + +https://bugs.cihar.com/view.php?id=909 + +--- helper/CMakeLists.txt.orig 2009-02-12 14:05:40.000000000 +0000 ++++ helper/CMakeLists.txt +@@ -5,24 +5,30 @@ + project (gammu-helper C) + + include(GammuTuneCompiler) ++include(GammuTuneFlags) + + include_directories ( + "${Gammu_BINARY_DIR}/include" + ) + + add_library(string STATIC string.c) ++GAMMU_TUNE_SHARED(string) + + add_library (printing STATIC printing.c) ++GAMMU_TUNE_SHARED(printing) + + add_library (memorydisplay STATIC memory-display.c) ++GAMMU_TUNE_SHARED(memorydisplay) + target_link_libraries (memorydisplay libGammu) + + add_library (messagecmdline STATIC message-cmdline.c) ++GAMMU_TUNE_SHARED(messagecmdline) + target_link_libraries (messagecmdline libGammu) + target_link_libraries (messagecmdline printing) + target_link_libraries (messagecmdline string) + + add_library (messagedisplay STATIC message-display.c) ++GAMMU_TUNE_SHARED(messagedisplay) + target_link_libraries (messagedisplay libGammu) + target_link_libraries (messagedisplay memorydisplay) + +@@ -39,5 +45,6 @@ endif(WIN32 AND NOT CMAKE_COMPILER_IS_MI + + if (NOT HAVE_STRPTIME) + add_library(strptime STATIC strptime.c) ++ GAMMU_TUNE_SHARED(strptime) + target_link_libraries (strptime string) + endif (NOT HAVE_STRPTIME) |