summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--comms/gammu/DESCR9
-rw-r--r--comms/gammu/Makefile41
-rw-r--r--comms/gammu/PLIST193
-rw-r--r--comms/gammu/distinfo14
-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
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)