freebsd-ports/security/zenmap/Makefile
Rusmir Dusko 0776918621 - Update to 6.47, announce message:
Avoid crashing when users have the antiquated PyXML package
 installed. Python tries to be nice and loads it when we import xml, but it
 isn't compatible. Instead, we force Python to use the standard library xml
 module. [Daniel Miller]

 Fix a bug in DiffViewer causing this crash:
 TypeError: GtkTextBuffer.set_text() argument 1 must be string or read-only
 buffer, not NmapParserSAX
 Crash happened when trying to compare two scans within Zenmap. [Daniel Miller]

- USES python instead of USE_PYTHON=yes
- Use USE_PYTHON=distutils instead of USE_PYDISTUTILS=yes
- Use USE_PYTHON=autoplist instead of PYDISTUTILS_AUTOPLIST=yes
2014-09-05 09:52:34 +00:00

86 lines
2.7 KiB
Makefile

# Created by: Daniel Roethlisberger <daniel@roe.ch>
# $FreeBSD$
PORTNAME= zenmap
PORTVERSION= 6.47
CATEGORIES= security ipv6
MASTER_SITES= http://nmap.org/dist/ \
SF/nemysisfreebsdp/security/:icons
DISTNAME= nmap-${PORTVERSION}
DISTFILES= nmap-${PORTVERSION}${EXTRACT_SUFX} \
${PORTNAME}.png:icons
EXTRACT_ONLY= nmap-${PORTVERSION}${EXTRACT_SUFX}
MAINTAINER= nemysis@FreeBSD.org
COMMENT= GUI frontend for the Nmap scanning utility
LICENSE= GPLv2
RUN_DEPENDS= nmap:${PORTSDIR}/security/nmap \
${PYTHON_PACKAGENAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3
WRKSRC= ${WRKDIR}/${DISTNAME}/${PORTNAME}
USES= dos2unix python tar:bzip2
DOS2UNIX_GLOB= *.xml
USE_GNOME= pygtk2
USE_PYTHON= autoplist distutils
OPTIONS_DEFINE= NLS
OPTIONS_SUB= yes
NLS_CONFIGURE_ENABLE= nls
NLS_USES= gettext
SUB_FILES= zenmap-root
.include <bsd.port.options.mk>
post-extract:
@${RM} -f ${WRKSRC}/install_scripts/unix/su-to-zenmap.sh
@${CP} -a ${FILESDIR}/pc-su ${WRKSRC}/install_scripts/unix/su-to-zenmap.sh
post-patch:
@${FIND} ${WRKSRC} -name '*.py' -or -name '*.pyw' | ${XARGS} \
${REINPLACE_CMD} -e 's|^.*#!.*python.*$$|#!${PYTHON_CMD}|'
@${REINPLACE_CMD} -e 's|^.*#!.*python.*$$|#!${PYTHON_CMD}|' \
${WRKSRC}/zenmap
@${FIND} ${WRKSRC}/../ndiff -name '*.py' | ${XARGS} \
${REINPLACE_CMD} -e 's|^.*#!.*python.*$$|#!${PYTHON_CMD}|'
@${REINPLACE_CMD} -e 's|su-to-zenmap.sh|zenmap-root|; \
s| %F||' \
${WRKSRC}/install_scripts/unix/zenmap-root.desktop
@${REINPLACE_CMD} -e 's|Security;|Security;System;|' \
${WRKSRC}/install_scripts/unix/zenmap-root.desktop \
${WRKSRC}/install_scripts/unix/zenmap.desktop
@${REINPLACE_CMD} \
-e '/self.create_uninstaller/s|^|#|; \
s|distutils\.command\.install |setuptools\.command\.install |; \
s|self.saved_prefix, pixmaps_dir, ||' \
${WRKSRC}/setup.py
@${REINPLACE_CMD} \
-e 's|share/man/man1|man/man1|; \
s|"install": checked_install||' \
${WRKSRC}/../ndiff/setup.py
@${FIND} ${WRKSRC} -name "*.bak" -delete
@${FIND} ${WRKSRC}/../ndiff -name "*.bak" -delete
.if ! ${PORT_OPTIONS:MNLS}
@${REINPLACE_CMD} -i '' '/locale_dir, mo_find, /d' ${WRKSRC}/setup.py
.endif
post-install:
${INSTALL_SCRIPT} ${WRKDIR}/zenmap-root ${STAGEDIR}${PREFIX}/bin/
@(cd ${STAGEDIR}${DATADIR} && ${CHMOD} 754 su-to-zenmap.sh)
${INSTALL_MAN} ${WRKSRC}/../docs/zenmap.1 \
${STAGEDIR}${MAN1PREFIX}/man/man1/
@(cd ${WRKSRC}/../ndiff \
&& ${PYTHON_CMD} setup.py install --prefix=${STAGEDIR}${PREFIX})
@(cd ${STAGEDIR}${PYTHON}${PYTHON_SITELIBDIR} && ${RM} ndiff.pyc)
@(cd ${STAGEDIR}${PYTHON}${PYTHON_SITELIBDIR} && ${PYTHON_CMD} -m compileall .)
@(cd ${STAGEDIR}${PYTHON}${PYTHON_SITELIBDIR} && ${PYTHON_CMD} -O -m compileall .)
${INSTALL_DATA} ${_DISTDIR}/${PORTNAME}.png \
${STAGEDIR}${PREFIX}/share/pixmaps/
.include <bsd.port.mk>