summaryrefslogtreecommitdiff
path: root/comms/gammu/patches
diff options
context:
space:
mode:
Diffstat (limited to 'comms/gammu/patches')
-rw-r--r--comms/gammu/patches/patch-aa44
-rw-r--r--comms/gammu/patches/patch-ab42
-rw-r--r--comms/gammu/patches/patch-ac17
-rw-r--r--comms/gammu/patches/patch-ad34
-rw-r--r--comms/gammu/patches/patch-ae259
-rw-r--r--comms/gammu/patches/patch-af8
-rw-r--r--comms/gammu/patches/patch-ag17
-rw-r--r--comms/gammu/patches/patch-ai14
-rw-r--r--comms/gammu/patches/patch-aj44
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)