Merge from vendor branch TNF:
[pkgsrcv2.git] / sysutils / xentools41 / Makefile
1 # $NetBSD: Makefile,v 1.15 2012/02/03 17:00:25 bouyer Exp $
2 #
3 # VERSION is set in version.mk as it is shared with other packages
4 .include                "version.mk"
5
6 DISTNAME=               xen-${VERSION}
7 PKGNAME=                xentools41-${VERSION}
8 PKGREVISION=            4
9 CATEGORIES=             sysutils
10 MASTER_SITES=   http://bits.xensource.com/oss-xen/release/${VERSION}/
11
12 DISTFILES=              ${DISTNAME}.tar.gz
13 DISTFILES+=             ipxe-git-v1.0.0.tar.gz
14 SITES.ipxe-git-v1.0.0.tar.gz += http://xenbits.xensource.com/xen-extfiles/
15
16 MAINTAINER=             cegger@NetBSD.org
17 HOMEPAGE=               http://xen.org/
18 COMMENT=                Userland Tools for Xen 4.1.x
19
20 LICENSE=                gnu-gpl-v2
21
22 PKG_DESTDIR_SUPPORT=    user-destdir
23
24 #DEPENDS+=              ${PYPKGPREFIX}-readline-[0-9]*:../../devel/py-readline
25
26 # XXX add version check: Xen requires dev86 >= 0.16.14
27 BUILD_DEPENDS+= dev86-[0-9]*:../../devel/dev86 # needed to build firmware
28 BUILD_DEPENDS+= ocaml-findlib-[0-9]*:../../devel/ocaml-findlib
29 .if !exists(/usr/bin/iasl)
30 BUILD_DEPENDS+= acpica-utils-[0-9]*:../../sysutils/acpica-utils
31 .endif
32
33 PKG_SYSCONFSUBDIR=      xen
34
35 ONLY_FOR_PLATFORM=      Linux-2.6*-i386 Linux-2.6*-x86_64
36 ONLY_FOR_PLATFORM+=     NetBSD-[5-9].*-x86_64 NetBSD-[5-9].*-i386
37
38 CONFLICTS+=             libxen-[0-9]*
39 CONFLICTS+=             xentools20-[0-9]*
40 CONFLICTS+=             xentools3*
41 CONFLICTS+=             xenstoretools-*
42
43 WRKSRC=                 ${WRKDIR}/xen-${VERSION}/tools
44 CHECK_PORTABILITY_SKIP= examples/*
45
46 EGDIR=                  ${PREFIX}/share/examples/xen
47 MESSAGE_SUBST=          EGDIR=${EGDIR}
48
49 USE_TOOLS+=             perl    #for pod2man
50 USE_TOOLS+=             gmake
51
52 MAKE_ENV+=              PREFIX=${prefix:Q} WRKSRC=${WRKSRC}
53 MAKE_ENV+=              EGDIR=${EGDIR:Q}
54 MAKE_ENV+=              BASH_COMPLETION_DIR=${EGDIR:Q}
55 MAKE_ENV+=              MV=${MV:Q} PYTHON=${PYTHONBIN:Q} SED=${SED:Q}
56 MAKE_ENV+=              VARBASE=${VARBASE}
57
58 #MAKE_ENV+=             INSTALL_DIR=${BSD_INSTALL_DATA_DIR}
59 #MAKE_ENV+=             INSTALL_DATA=${BSD_INSTALL_DATA}
60 #MAKE_ENV+=             INSTALL_PROG=${BSD_INSTALL_PROGRAM}
61
62 PY_PATCHPLIST=          yes
63 #PYTHON_PATCH_SCRIPTS+= misc/xm
64 #PYTHON_PATCH_SCRIPTS+= misc/netfix
65 #PYTHON_PATCH_SCRIPTS+= misc/xen-bugtool
66 #PYTHON_PATCH_SCRIPTS+= misc/xencons
67 #PYTHON_PATCH_SCRIPTS+= misc/xend
68 #PYTHON_PATCH_SCRIPTS+= misc/xensymoops
69 #PYTHON_PATCH_SCRIPTS+= misc/xen-python-path
70 #PYTHON_PATCH_SCRIPTS+= pygrub/src/pygrub
71 #PYTHON_PATCH_SCRIPTS+= python/xen/util/*.py
72 #PYTHON_PATCH_SCRIPTS+= python/xen/xend/*.py
73 #PYTHON_PATCH_SCRIPTS+= python/xen/xm/*.py
74 #PYTHON_PATCH_SCRIPTS+= python/xen/util/*.py
75 #PYTHON_PATCH_SCRIPTS+= python/*.py
76 #PYTHON_PATCH_SCRIPTS+= security/python/xensec_gen/cgi-bin/policy.cgi
77 #PYTHON_PATCH_SCRIPTS+= security/python/xensec_gen/*.py
78 #PYTHON_PATCH_SCRIPTS+= security/python/*.py
79 #PYTHON_PATCH_SCRIPTS+= security/*.py
80 #PYTHON_PATCH_SCRIPTS+= xenmon/*.py
81 #PYTHON_PATCH_SCRIPTS+= xentrace/xentrace_format
82
83 REPLACE_PYTHON+=        python/xen/remus/*.py
84 REPLACE_PYTHON+=        python/xen/util/*.py
85 REPLACE_PYTHON+=        python/xen/xend/*.py
86 REPLACE_PYTHON+=        python/xen/xm/*.py
87 REPLACE_PYTHON+=        xenmon/xenmon.py
88
89 SUBST_CLASSES+=         pathsvar
90 SUBST_STAGE.pathsvar=   pre-configure
91 SUBST_FILES.pathsvar=   Makefile \
92                         examples/xend-config.sxp \
93                         hotplug/Linux/init.d/sysconfig.xendomains \
94                         python/xen/xend/XendOptions.py \
95                         python/xen/xend/server/relocate.py \
96                         python/xen/xend/tests/xend-config.sxp \
97                         security/Makefile \
98                         security/python/xensec_gen/main.py \
99                         xenstore/xs_lib.c
100 SUBST_SED.pathsvar=     -e "s|/var/lib|${VARBASE}/run|g"
101
102 SUBST_CLASSES+=         conf
103 SUBST_STAGE.conf=       pre-configure
104 SUBST_FILES.conf+=      python/xen/xm/create.py
105 SUBST_SED.conf=         -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g"
106
107 .include "../../mk/bsd.prefs.mk"
108
109 XEND_SCRIPTS=           block vif-bridge vif-ip qemu-ifup hotplugpath.sh
110
111 .if ${OPSYS} == "NetBSD"
112 SUBST_CLASSES+=         proc
113 SUBST_STAGE.proc=       pre-configure
114 SUBST_FILES.proc=       python/xen/xend/XendVnet.py
115 SUBST_SED.proc=         -e "s|/proc|/kern|g"
116 PROCPATH=               /kern
117 .else
118 PROCPATH=               /proc
119 .endif
120
121 RCD_SCRIPTS=            xen-watchdog xencommons xend xendomains
122 FILES_SUBST+=           RCD_INTERPRETER=${PYTHONBIN:Q}
123 FILES_SUBST+=           PROCPATH=${PROCPATH:Q}
124 FILES_SUBST+=           PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q}
125 FILES_SUBST+=           PREFIX=${PREFIX:Q}
126
127 BLKTAP_FILES=           blk_netbsd.c blktapctrl_netbsd.c
128
129 CONF_FILES+=            ${EGDIR}/xend-config.sxp ${PKG_SYSCONFDIR}/xend-config.sxp
130 CONF_FILES+=            ${EGDIR}/formats ${PKG_SYSCONFDIR}/formats
131 CONF_FILES+=            ${EGDIR}/xm-config.xml ${PKG_SYSCONFDIR}/xm-config.xml
132
133 OWN_DIRS=               ${PKG_SYSCONFDIR}/scripts ${VARBASE}/log/xen ${VARBASE}/lib
134
135 .for s in ${XEND_SCRIPTS}
136 CONF_FILES_PERMS+=      ${EGDIR}/scripts/${s} ${PKG_SYSCONFDIR}/scripts/${s} \
137                         ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0755
138 .endfor
139
140 pre-build:
141         rm -f ${WRKSRC}/check/check_x11_devel
142 .for s in ${BLKTAP_FILES}
143         ${CP} ${FILESDIR}/${s} ${WRKSRC}/blktap/drivers/
144 .endfor
145         pod2man ${WRKSRC}/../docs/man/xend-config.sxp.pod.5  |\
146             ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
147             >${WRKDIR}/xend-config.sxp.5
148         pod2man ${WRKSRC}/../docs/man/xmdomain.cfg.pod.5 |\
149             ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
150             >${WRKDIR}/xmdomain.cfg.5
151         pod2man ${WRKSRC}/../docs/man/xm.pod.1 |\
152             ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
153             >${WRKDIR}/xm.1
154
155 INSTALLATION_DIRS=      ${EGDIR} ${PKGMANDIR}/man5
156
157 post-install:
158         for f in xend-config.sxp xmexample1 xmexample2 xmexample3; do \
159                 ${INSTALL_DATA} ${WRKSRC}/examples/$$f ${DESTDIR}${EGDIR}/$$f;  \
160         done
161         ${INSTALL_DATA} ${WRKDIR}/xend-config.sxp.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5
162         ${INSTALL_DATA} ${WRKDIR}/xmdomain.cfg.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5
163         ${INSTALL_DATA} ${WRKDIR}/xm.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
164
165 .if ${OPSYS} == "NetBSD"
166 CPPFLAGS+=      -Dshm_open=open -Dshm_unlink=unlink
167 .endif
168
169 .include "../../lang/python/application.mk"
170 .include "../../lang/python/extension.mk"
171 .include "../../textproc/py-xml/buildlink3.mk"
172 .include "../../devel/py-curses/buildlink3.mk"
173 .include "../../devel/ncurses/buildlink3.mk"
174 #.include "../../devel/SDL/buildlink3.mk"
175 .include "../../lang/ocaml/buildlink3.mk"
176
177 .include "../../mk/bsd.pkg.mk"