diff options
-rw-r--r-- | comms/gammu/DESCR | 9 | ||||
-rw-r--r-- | comms/gammu/Makefile | 41 | ||||
-rw-r--r-- | comms/gammu/PLIST | 193 | ||||
-rw-r--r-- | comms/gammu/distinfo | 14 | ||||
-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 |
13 files changed, 736 insertions, 0 deletions
diff --git a/comms/gammu/DESCR b/comms/gammu/DESCR new file mode 100644 index 00000000000..0ed9474128b --- /dev/null +++ b/comms/gammu/DESCR @@ -0,0 +1,9 @@ +Gammu is a command line utility and library to work with mobile phones +from many vendors. Support for different models differs, but basic +functions should work with majority of them. The program can work with +contacts, messages (SMS, EMS and MMS), calendar, todos, file system, +integrated radio, camera, etc. It also supports a daemon mode to send +and receive SMS messages. + +Gammu includes Python bindings, which allows easy scripting of +desired functionality using core functions. diff --git a/comms/gammu/Makefile b/comms/gammu/Makefile new file mode 100644 index 00000000000..6d8ece9b98d --- /dev/null +++ b/comms/gammu/Makefile @@ -0,0 +1,41 @@ +# $NetBSD: Makefile,v 1.1.1.1 2009/05/25 12:50:00 wiz Exp $ +# + +DISTNAME= gammu-1.24.0 +CATEGORIES= comms +MASTER_SITES= http://dl.cihar.com/gammu/releases/ \ + http://mirror.clickcreations.com/gammu/releases/ \ + http://dl.cihar.com.nyud.net/gammu/releases/ \ + ftp://dl.cihar.com/gammu/releases/ +EXTRACT_SUFX= .tar.bz2 + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://cihar.com/gammu/ +COMMENT= Command line utility and library to work with mobile phones +LICENSE= gnu-gpl-v2 + +# cmake tests for it; unclear for what it would be used +#BUILD_DEPENDS+= doxygen-[0-9]*:../../devel/doxygen +# for gammu-config +DEPENDS+= dialog-[0-9]*:../../misc/dialog + +PKG_DESTDIR_SUPPORT= user-destdir + +USE_CMAKE= yes +CMAKE_ARGS+= -DINSTALL_MAN_DIR:STRING=${PKGMANDIR} + +USE_LANGUAGES= c c++ +USE_TOOLS+= bash:run +REPLACE_BASH= utils/gammu-config utils/jadmaker +PY_PATCHPLIST= yes + +# needed because of https://bugs.cihar.com/view.php?id=908 +BUILDLINK_TRANSFORM+= rm:-Werror + +#-- MySQL not found. +#-- Could not find PostgreSQL +#-- libdbi not found. +.include "../../lang/python/extension.mk" +.include "../../devel/libusb/buildlink3.mk" +.include "../../www/curl/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/comms/gammu/PLIST b/comms/gammu/PLIST new file mode 100644 index 00000000000..c3f69f9fac5 --- /dev/null +++ b/comms/gammu/PLIST @@ -0,0 +1,193 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2009/05/25 12:50:00 wiz Exp $ +bin/gammu +bin/gammu-config +bin/gammu-smsd +bin/gammu-smsd-inject +bin/gammu-smsd-monitor +bin/jadmaker +include/gammu/gammu-backup.h +include/gammu/gammu-bitmap.h +include/gammu/gammu-calendar.h +include/gammu/gammu-call.h +include/gammu/gammu-callback.h +include/gammu/gammu-category.h +include/gammu/gammu-config.h +include/gammu/gammu-datetime.h +include/gammu/gammu-debug.h +include/gammu/gammu-error.h +include/gammu/gammu-file.h +include/gammu/gammu-info.h +include/gammu/gammu-inifile.h +include/gammu/gammu-keys.h +include/gammu/gammu-limits.h +include/gammu/gammu-memory.h +include/gammu/gammu-message.h +include/gammu/gammu-misc.h +include/gammu/gammu-nokia.h +include/gammu/gammu-ringtone.h +include/gammu/gammu-security.h +include/gammu/gammu-settings.h +include/gammu/gammu-smsd.h +include/gammu/gammu-statemachine.h +include/gammu/gammu-types.h +include/gammu/gammu-unicode.h +include/gammu/gammu-wap.h +include/gammu/gammu.h +lib/libGammu.a +lib/libgsmsd.a +lib/pkgconfig/gammu-smsd.pc +lib/pkgconfig/gammu.pc +${PYSITELIB}/gammu/Data.py +${PYSITELIB}/gammu/Worker.py +${PYSITELIB}/gammu/__init__.py +${PYSITELIB}/gammu/_gammu.so +man/cs/man1/gammu-config.1 +man/cs/man1/gammu-smsd-inject.1 +man/cs/man1/gammu-smsd-monitor.1 +man/cs/man1/gammu-smsd.1 +man/cs/man1/gammu.1 +man/cs/man1/jadmaker.1 +man/cs/man5/gammu-smsdrc.5 +man/cs/man5/gammurc.5 +man/cs/man7/gammu-smsd-dbi.7 +man/cs/man7/gammu-smsd-files.7 +man/cs/man7/gammu-smsd-mysql.7 +man/cs/man7/gammu-smsd-pgsql.7 +man/cs/man7/gammu-smsd-tables.7 +man/man1/gammu-config.1 +man/man1/gammu-smsd-inject.1 +man/man1/gammu-smsd-monitor.1 +man/man1/gammu-smsd.1 +man/man1/gammu.1 +man/man1/jadmaker.1 +man/man5/gammu-smsdrc.5 +man/man5/gammurc.5 +man/man7/gammu-smsd-dbi.7 +man/man7/gammu-smsd-files.7 +man/man7/gammu-smsd-mysql.7 +man/man7/gammu-smsd-pgsql.7 +man/man7/gammu-smsd-tables.7 +share/doc/gammu/COPYING +share/doc/gammu/ChangeLog +share/doc/gammu/README +share/doc/gammu/SUPPORTERS +share/doc/gammu/devel/Gammu.htm +share/doc/gammu/devel/PORTING +share/doc/gammu/devel/develop.txt +share/doc/gammu/devel/examples/Makefile +share/doc/gammu/devel/examples/phone-info.c +share/doc/gammu/devel/examples/sms-send.c +share/doc/gammu/devel/gammu_hints.txt +share/doc/gammu/devel/protocol/TDMA_5120.txt +share/doc/gammu/devel/protocol/carkit.txt +share/doc/gammu/devel/protocol/n6110.txt +share/doc/gammu/devel/protocol/n6510.txt +share/doc/gammu/devel/protocol/n7110.txt +share/doc/gammu/devel/protocol/nokia.txt +share/doc/gammu/devel/protocol/readme +share/doc/gammu/devel/sms/charset.txt +share/doc/gammu/devel/sms/convert.txt +share/doc/gammu/devel/sms/readme +share/doc/gammu/devel/sounds/readme +share/doc/gammu/devel/sounds/ring2.txt +share/doc/gammu/examples/config/gammurc +share/doc/gammu/examples/config/smsdrc +share/doc/gammu/examples/media/aliens.nlm +share/doc/gammu/examples/media/axelf.txt +share/doc/gammu/examples/php/class_gammu/README +share/doc/gammu/examples/php/class_gammu/class.gammu_nix_win32_v2.php +share/doc/gammu/examples/php/class_gammu/class.sms.gammu.php +share/doc/gammu/examples/php/class_gammu/example_gammu_text.php +share/doc/gammu/examples/php/smsd-mysql-admin/admin.php +share/doc/gammu/examples/php/smsd-mysql-intergammu/config.php +share/doc/gammu/examples/php/smsd-mysql-intergammu/funcoes/func.gammu.php +share/doc/gammu/examples/php/smsd-mysql-intergammu/funcoes/func.sql.php +share/doc/gammu/examples/php/smsd-mysql-intergammu/index.php +share/doc/gammu/examples/php/smsd-mysql-intergammu/intergammu.txt +share/doc/gammu/examples/php/smsd-mysql-intergammu/proc/admin.php +share/doc/gammu/examples/php/smsd-mysql-intergammu/proclast.sql +share/doc/gammu/examples/php/smsd-mysql-linked/linked.php +share/doc/gammu/examples/php/smsd-mysql-linked/linked.sql +share/doc/gammu/examples/php/smsd-mysql-list/sms.php +share/doc/gammu/examples/sql/mysql.sql +share/doc/gammu/examples/sql/pgsql.sql +share/doc/gammu/examples/sql/sqlite.sql +share/doc/gammu/gammu.html +share/doc/gammu/gammu.it.txt +share/doc/gammu/readme.html +share/doc/gammu/readme.it.txt +share/doc/gammu/replace.txt +share/doc/gammu/symbian/gnapplet.ini +share/doc/gammu/symbian/gnapplet.sis +share/doc/gammu/symbian/readme.txt +share/locale/af/LC_MESSAGES/gammu.mo +share/locale/af/LC_MESSAGES/libgammu.mo +share/locale/bg/LC_MESSAGES/gammu.mo +share/locale/bg/LC_MESSAGES/libgammu.mo +share/locale/ca/LC_MESSAGES/gammu.mo +share/locale/ca/LC_MESSAGES/libgammu.mo +share/locale/cs/LC_MESSAGES/gammu.mo +share/locale/cs/LC_MESSAGES/libgammu.mo +share/locale/da/LC_MESSAGES/gammu.mo +share/locale/da/LC_MESSAGES/libgammu.mo +share/locale/de/LC_MESSAGES/gammu.mo +share/locale/de/LC_MESSAGES/libgammu.mo +share/locale/el/LC_MESSAGES/gammu.mo +share/locale/el/LC_MESSAGES/libgammu.mo +share/locale/es/LC_MESSAGES/gammu.mo +share/locale/es/LC_MESSAGES/libgammu.mo +share/locale/et/LC_MESSAGES/gammu.mo +share/locale/et/LC_MESSAGES/libgammu.mo +share/locale/fi/LC_MESSAGES/gammu.mo +share/locale/fi/LC_MESSAGES/libgammu.mo +share/locale/fr/LC_MESSAGES/gammu.mo +share/locale/fr/LC_MESSAGES/libgammu.mo +share/locale/gl/LC_MESSAGES/gammu.mo +share/locale/gl/LC_MESSAGES/libgammu.mo +share/locale/he/LC_MESSAGES/gammu.mo +share/locale/he/LC_MESSAGES/libgammu.mo +share/locale/hu/LC_MESSAGES/gammu.mo +share/locale/hu/LC_MESSAGES/libgammu.mo +share/locale/id/LC_MESSAGES/gammu.mo +share/locale/id/LC_MESSAGES/libgammu.mo +share/locale/it/LC_MESSAGES/gammu.mo +share/locale/it/LC_MESSAGES/libgammu.mo +share/locale/ko/LC_MESSAGES/gammu.mo +share/locale/ko/LC_MESSAGES/libgammu.mo +share/locale/nl/LC_MESSAGES/gammu.mo +share/locale/nl/LC_MESSAGES/libgammu.mo +share/locale/pl/LC_MESSAGES/gammu.mo +share/locale/pl/LC_MESSAGES/libgammu.mo +share/locale/pt_BR/LC_MESSAGES/gammu.mo +share/locale/pt_BR/LC_MESSAGES/libgammu.mo +share/locale/ru/LC_MESSAGES/gammu.mo +share/locale/ru/LC_MESSAGES/libgammu.mo +share/locale/sk/LC_MESSAGES/gammu.mo +share/locale/sk/LC_MESSAGES/libgammu.mo +share/locale/sv/LC_MESSAGES/gammu.mo +share/locale/sv/LC_MESSAGES/libgammu.mo +share/locale/zh_CN/LC_MESSAGES/gammu.mo +share/locale/zh_CN/LC_MESSAGES/libgammu.mo +share/locale/zh_TW/LC_MESSAGES/gammu.mo +share/locale/zh_TW/LC_MESSAGES/libgammu.mo +@dirrm share/doc/gammu/symbian +@dirrm share/doc/gammu/examples/sql +@dirrm share/doc/gammu/examples/php/smsd-mysql-list +@dirrm share/doc/gammu/examples/php/smsd-mysql-linked +@dirrm share/doc/gammu/examples/php/smsd-mysql-intergammu/proc +@dirrm share/doc/gammu/examples/php/smsd-mysql-intergammu/funcoes +@dirrm share/doc/gammu/examples/php/smsd-mysql-intergammu +@dirrm share/doc/gammu/examples/php/smsd-mysql-admin +@dirrm share/doc/gammu/examples/php/class_gammu +@dirrm share/doc/gammu/examples/php +@dirrm share/doc/gammu/examples/media +@dirrm share/doc/gammu/examples/config +@dirrm share/doc/gammu/examples +@dirrm share/doc/gammu/devel/sounds +@dirrm share/doc/gammu/devel/sms +@dirrm share/doc/gammu/devel/protocol +@dirrm share/doc/gammu/devel/examples +@dirrm share/doc/gammu/devel +@dirrm share/doc/gammu +@dirrm ${PYSITELIB}/gammu +@dirrm include/gammu diff --git a/comms/gammu/distinfo b/comms/gammu/distinfo new file mode 100644 index 00000000000..2f96828c1f0 --- /dev/null +++ b/comms/gammu/distinfo @@ -0,0 +1,14 @@ +$NetBSD: distinfo,v 1.1.1.1 2009/05/25 12:50:00 wiz Exp $ + +SHA1 (gammu-1.24.0.tar.bz2) = 9c4fc7474c33d3a40e6bf5a2efb7acbbf9b62dc5 +RMD160 (gammu-1.24.0.tar.bz2) = d525fa09dbcdba87cde6730edc5b55f0f412bd31 +Size (gammu-1.24.0.tar.bz2) = 1817681 bytes +SHA1 (patch-aa) = 9e573f48c957152c7893ef05fcabad7ffa581ea0 +SHA1 (patch-ab) = 5ae2725551a1137d2b1306189ede0d52fad3ae5c +SHA1 (patch-ac) = 5fb372f9a1c7f47773c3434daf1e059672d8de24 +SHA1 (patch-ad) = dd01c97c6a660b096a61690376a8159fd7850bbb +SHA1 (patch-ae) = ce77e07f7de9d0efaa5d68e6a97fd4815626925d +SHA1 (patch-af) = 28f77b55e463474f9796ce3f257c785a9755456b +SHA1 (patch-ag) = 6849e39901f08ff402d9a43363c799cae3c6f44e +SHA1 (patch-ai) = 1d3be730d1db223f5a1698e50ecb06ae7e4eec3e +SHA1 (patch-aj) = db99dc9026ae8c70cf68e353f8fbd6ef8e4d20a7 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) |