blob: 826d29f1f1a10ba72d94f1df499ba20f0d89901c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# Created by: John Marino <marino@FreeBSD.org>
# $FreeBSD$
PORTNAME= pcsc-ada
PORTVERSION= 0.7.2
CATEGORIES= devel
MASTER_SITES= http://www.codelabs.ch/download/
DISTNAME= libpcscada-${PORTVERSION}
MAINTAINER= marino@FreeBSD.org
COMMENT= Ada binding to PC/SC middleware (Smart card interface)
LICENSE= LGPL21
USES= ada tar:bzip2
ALL_TARGET= all
GPRLINK= "-L${LOCALBASE}/lib", "-lpcsclite"
MAKE_ARGS+= NUM_CPUS=${MAKE_JOBS_NUMBER} \
LIBRARY_KIND=static
OPTIONS_DEFINE= UNIT_TEST INTF_TEST DOCS EXAMPLES
OPTIONS_SUB= yes
UNIT_TEST_DESC= Run unit test suite before installation
INTF_TEST_DESC= Run interface tests against installed smart card after build
NO_OPTIONS_SORT=yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MUNIT_TEST} || ${PORT_OPTIONS:MINTF_TEST}
BUILD_DEPENDS+= ${LOCALBASE}/lib/gnat/ahven.gpr:${PORTSDIR}/devel/ahven
. if ${PORT_OPTIONS:MUNIT_TEST}
ALL_TARGET+= utests
. endif
. if ${PORT_OPTIONS:MINTF_TEST}
ALL_TARGET+= itests
. endif
.endif
LIB_DEPENDS+= libpcsclite.so:${PORTSDIR}/devel/pcsc-lite
.if ${PORT_OPTIONS:MDOCS}
BUILD_DEPENDS+= asciidoc:${PORTSDIR}/textproc/asciidoc \
source-highlight:${PORTSDIR}/textproc/source-highlight
ALL_TARGET+= doc
USES+= gmake
.endif
.if ${PORT_OPTIONS:MEXAMPLES}
ALL_TARGET+= examples
PORTEXAMPLES= src bin
.endif
post-patch:
${REINPLACE_CMD} -e 's|"-lpcsclite"|${GPRLINK}|' \
${WRKSRC}/pcscada_lib.gpr
${REINPLACE_CMD} -e 's|gnaty.*|gnatyd",|' ${WRKSRC}/pcscada_common.gpr
(cd ${WRKSRC} && ${REINPLACE_CMD} -e 's|"-lpcsclite");|"-L${LOCALBASE}/lib"); pragma Linker_Options ("-lpcsclite");|' \
examples/cardd/cardd.adb \
examples/sample/sample.adb \
examples/pinverify/pinpad.adb \
examples/thin/thin_example.adb \
tests/runner.adb \
tests/test_pcscada.adb)
do-build:
# We cannot use a redefined ALL_TARGET because MAKE_JOBS_SAFE is set
# for PROCESSORS, but that also sets -j for gmake can break build
(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
${MAKE_CMD} ${MAKE_ARGS:NDESTDIR=*} ${ALL_TARGET})
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/gnat \
${STAGEDIR}${PREFIX}/lib/pcscada \
${STAGEDIR}${PREFIX}/include/pcscada \
${STAGEDIR}${EXAMPLESDIR}/src \
${STAGEDIR}${EXAMPLESDIR}/bin \
${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/src/* ${STAGEDIR}${PREFIX}/include/pcscada
${INSTALL_DATA} ${WRKSRC}/lib/static/* \
${STAGEDIR}${PREFIX}/lib/pcscada
${INSTALL_DATA} ${FILESDIR}/pcscada.gpr ${STAGEDIR}${PREFIX}/lib/gnat
.if ${PORT_OPTIONS:MDOCS}
(cd ${WRKSRC}/doc && ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
.endif
.if ${PORT_OPTIONS:MEXAMPLES}
(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . \
${STAGEDIR}${EXAMPLESDIR}/src)
${RM} ${STAGEDIR}${EXAMPLESDIR}/src/*/*.bak
(cd ${WRKSRC}/obj/examples && ${INSTALL_PROGRAM} cardd pinpad \
thin_example ${STAGEDIR}${EXAMPLESDIR}/bin)
.endif
.include <bsd.port.mk>
|