summaryrefslogtreecommitdiff
path: root/comms/gammu
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2009-05-25 12:50:00 +0000
committerwiz <wiz@pkgsrc.org>2009-05-25 12:50:00 +0000
commit3bf1244faee8f46048dfa5a8591f26ce8efc783d (patch)
tree0e8e8bc4abbcf83db436479f68357d5e4ee692c8 /comms/gammu
parent8d87662b900705dfdcaaa00c3c5d7756e02460c8 (diff)
downloadpkgsrc-3bf1244faee8f46048dfa5a8591f26ce8efc783d.tar.gz
Initial import of gammu-1.24.0. Bluetooth support by plunky.
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.
Diffstat (limited to 'comms/gammu')
-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)