aboutsummaryrefslogtreecommitdiffstats
path: root/comms/uarduno
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2014-06-23 05:11:41 +0800
committerRene Ladan <rene@FreeBSD.org>2014-06-23 05:11:41 +0800
commitf6d3acfe3c19311662aa67cffd56f54b495ce1af (patch)
treeb59e60a00bf404bf007bf040ae1179618aabfec8 /comms/uarduno
parent1bb96a2f96d75fe891aad4550796ee9839e152c6 (diff)
downloadfreebsd-ports-gnome-f6d3acfe3c19311662aa67cffd56f54b495ce1af.tar.gz
freebsd-ports-gnome-f6d3acfe3c19311662aa67cffd56f54b495ce1af.tar.zst
freebsd-ports-gnome-f6d3acfe3c19311662aa67cffd56f54b495ce1af.zip
comms/uarduno: modernize Makefile and add device IDs.
- Use kmod, so add staging support. - Fix license support (BSD2CLAUSE) - Fix packaging as user - Add support for device IDs 0x0010, 0x0042, 0x0043 - Remove superfluous Makefile variables (NO_PACKAGE, SSP_UNSAFE, MAKE_ENV, PREFIX, SRCPREFIX, NO_MTREE) - Remove support for FreeBSD < 8 - Fix WWW line in pkg-descr - Bump PORTREVISION PR: ports/189621 Submitted by: maintainer (Bob Frazier, <bobf@mrp3.com>)
Diffstat (limited to 'comms/uarduno')
-rw-r--r--comms/uarduno/Makefile55
-rw-r--r--comms/uarduno/files/ids.txt16
-rw-r--r--comms/uarduno/pkg-descr2
3 files changed, 23 insertions, 50 deletions
diff --git a/comms/uarduno/Makefile b/comms/uarduno/Makefile
index 4f10c17598a7..2ea3c25bc724 100644
--- a/comms/uarduno/Makefile
+++ b/comms/uarduno/Makefile
@@ -3,70 +3,35 @@
PORTNAME= uarduno
PORTVERSION= 1.02
-CATEGORIES= comms kld
+PORTREVISION= 1
+CATEGORIES= comms
MASTER_SITES= http://mrp3.com/
MAINTAINER= bobf@mrp3.com
COMMENT= FreeBSD Kernel Driver for the Arduino Uno USB interface
-NO_PACKAGE= You must (re)build this port with your kernel source
-
-SSP_UNSAFE= kernel module does not support ssp
-
-# need to enforce installation into kernel module directory
-MAKE_ENV+= KMODDIR=${KMODDIR}
-PREFIX= ${KMODDIR}
-
-NO_STAGE= yes
-.include <bsd.port.pre.mk>
+# no license required
+LICENSE= BSD2CLAUSE
-SRCPREFIX?= ${SRC_BASE}
+NO_LICENSES_INSTALL= yes
+NO_LICENSES_DIALOGS= yes
-# disable mtree or you'll get a /boot/kernel/... directory hierarchy put there
-NO_MTREE= yes
+USES= kmod uidfix
# some test targets need a predictable source directory
WRKSRC= ${WRKDIR}/uarduno
-PLIST_FILES= uarduno.ko \
- "@unexec kldxref ${KMODDIR}"
-
-# no license required
-LICENSE= BSD
-NO_LICENSES_INSTALL= yes
-NO_LICENSES_DIALOGS= yes
+PLIST_FILES= "${KMODDIR}/uarduno.ko"
#
-# version 7xxxx and 8xxxx are very different
-# so make sure I correctly identify them
+# make sure I correctly identify the OS version
#
CFLAGS+= -DKERNELVER=${OSVERSION}
-.if ${OSVERSION} < 800000
-# Simple check for 7.x kernel source (find usb.c)
-.if ! exists(${SRCPREFIX}/sys/dev/usb/usb.c)
-IGNORE= this port will not build without the latest 7.x kernel source
-.endif
-.else
-# 8.x and later kernels (partially tested in 9.x, mabye add to kernel?)
-# simple check for 8.x and later kernel source (find usb_core.c)
-.if ! exists(${SRCPREFIX}/sys/dev/usb/usb_core.c)
-IGNORE= this port will not build without the latest kernel source
-.endif
-.endif
-
# post-patch target, copy 'ids.txt' as 'ids.h' (user-modifiable file)
post-patch:
@${CP} ${FILESDIR}/ids.txt ${WRKSRC}/ids.h
-# post-install target, make sure kernel module is unloaded
-post-install:
- @if kldstat -q -m uhub/uarduno ; then \
- echo "" ; echo " +++ Unloading uarduno.ko (related devices will need to be re-attached)" ; kldunload uarduno ; fi
- @${ECHO_MSG}
- @${CAT} ${PKGMESSAGE}
- @${ECHO_MSG}
-
#
# these next 2 targets are for developer use
#
@@ -86,4 +51,4 @@ uarduno-part-clean:
${MAKE} -C ${WRKSRC} my-clean
${MAKE} patch
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/comms/uarduno/files/ids.txt b/comms/uarduno/files/ids.txt
index f05153f0d8ec..996e740daf1e 100644
--- a/comms/uarduno/files/ids.txt
+++ b/comms/uarduno/files/ids.txt
@@ -16,16 +16,24 @@
// Where '0xaaaa' is the vendor ID, and '0xbbbb' is the product ID that you
// want the driver to recognize as an Arduino UNO. It must end with a ','
//
-// The default value of { 0x2341, 0x0001 } is already included as a reference.
-// NOTE: do not remove or modify this entry unless you really really mean it.
+// The default values for Arduino UNO and MEGA are included as a reference.
+// These are provided 'as-is' though testing suggests they are correct.
//
-// If you change this file, you will need to update it each
+// When new Arduino products are released, you can add the new information to
+// this file. Please let me know so I can update it, too (thanks). Send
+// new submissions to 'bobf@mrp3.com', with an appropriate subject line and
+// description of the entry. Please test it first, thanks.
+//
+// If you change this file yourself, you will need to update it eachdd
// time you obtain a fresh copy of the ports tree.
//
//
{ 0x2341, 0x0001 }, // Arduino UNO, vendor 2341H, product 0001H
-
+ { 0x2341, 0x0042 }, // Arduino MEGA (rev 3), vendor 2341H, product 0042H
+ { 0x2341, 0x0043 }, // Arduino UNO (rev 3), vendor 2341H, product 0043H
+ { 0x2341, 0x0010 }, // Arduino MEGA 2560 R3, vendor 2341H, product 0010H
+
// place your entries below this line
diff --git a/comms/uarduno/pkg-descr b/comms/uarduno/pkg-descr
index d6a4bb82d5ca..0a61777b13bc 100644
--- a/comms/uarduno/pkg-descr
+++ b/comms/uarduno/pkg-descr
@@ -13,4 +13,4 @@ Additionally, some 'ACM' USB Serial devices may work with this driver by
manually adding their Vendor ID and Product ID combination to files/ids.txt
Official web site
-WWW: http://www.mrp3.com/uarduno.html
+WWW: http://www.mrp3.com/uarduno.html