1
2
3PORTNAME=	evdev-proto
4PORTVERSION=	5.8
5CATEGORIES=	devel
6MASTER_SITES=	https://github.com/torvalds/linux/raw/v${PORTVERSION}/include/uapi/linux/
7DISTFILES=	input.h input-event-codes.h joystick.h uinput.h
8DIST_SUBDIR=	${PORTNAME}-${PORTVERSION}
9
10MAINTAINER=	ports@MidnightBSD.org
11COMMENT=	Input event device header files
12
13LICENSE=	gpl2
14
15NO_BUILD=	yes
16NO_ARCH=	yes
17NO_WRKSUBDIR=	yes
18
19PLIST_FILES=	${DISTFILES:S|^|include/linux/|}
20
21do-extract:
22	@${MKDIR} ${WRKSRC}
23.for i in ${DISTFILES}
24	@${CP} ${DISTDIR}/${DIST_SUBDIR}/${i} ${WRKSRC}
25.endfor
26
27post-patch:
28	@${REINPLACE_CMD} -i '' -E -e \
29		's/__u([[:digit:]]+)/uint\1_t/g ; \
30		s/__s([[:digit:]]+)/int\1_t/g ; \
31		/# *include/ s|<sys/ioctl.h>|<sys/ioccom.h>| ; \
32		/# *include[[:space:]]+<linux\/types.h>/d ; \
33		/EVIOC(RMFF|GRAB|REVOKE)/ s/_IOW(.*), *int/_IOWINT\1/ ; \
34		/EVIOCGKEYCODE/ s/_IOR/_IOWR/ ; \
35		/EVIOCGMASK/ s/_IOR/_IOW/ ; \
36		/EVIOCGMTSLOTS/ s/_IOC_READ/IOC_INOUT/ ; \
37		/#define/ s/_IOC_READ/IOC_OUT/ ; \
38		/#define/ s/_IOC_WRITE/IOC_IN/ ; \
39		s/[[:space:]]+__user[[:space:]]+/ / ; \
40		/__USE_TIME_BITS64/ s|^#if (.*)$$|#if 1 /* \1 */|' \
41		${WRKSRC}/input.h
42	@${REINPLACE_CMD} -i '' -E -e \
43		's/__u([[:digit:]]+)/uint\1_t/g ; \
44		s/__s([[:digit:]]+)/int\1_t/g ; \
45		/# *include/s|<linux/types.h>|<sys/types.h>| ; \
46		/#define/ s/_IOW(.*), *int/_IOWINT\1/ ; \
47		/#define/ s/_IOW(.*), *char\*/_IO\1/ ; \
48		/#define/ s/_IOC_READ/IOC_OUT/' \
49		${WRKSRC}/joystick.h \
50		${WRKSRC}/uinput.h
51
52do-install:
53	@${MKDIR} ${PREFIX}/include/linux/
54.for i in ${DISTFILES}
55	${INSTALL_DATA} ${WRKSRC}/${i} \
56		${PREFIX}/include/linux/
57.endfor
58
59.include <bsd.port.mk>
60