1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-21 00:25:50 +00:00

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>)
This commit is contained in:
Rene Ladan 2014-06-22 21:11:41 +00:00
parent 1bb96a2f96
commit f6d3acfe3c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=358829
3 changed files with 23 additions and 50 deletions

View File

@ -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
# no license required
LICENSE= BSD2CLAUSE
SSP_UNSAFE= kernel module does not support ssp
NO_LICENSES_INSTALL= yes
NO_LICENSES_DIALOGS= yes
# need to enforce installation into kernel module directory
MAKE_ENV+= KMODDIR=${KMODDIR}
PREFIX= ${KMODDIR}
NO_STAGE= yes
.include <bsd.port.pre.mk>
SRCPREFIX?= ${SRC_BASE}
# 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>

View File

@ -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

View File

@ -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