freebsd-ports/security/zenmap/Makefile
Mathieu Arnold 551be3c723 Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored.  They will
  automatically get flavors (py27, py34, py35, py36) depending on what
  versions they support.

  There is also a USE_PYTHON=flavors for ports that do not use distutils
  but need FLAVORS to be set.  A USE_PYTHON=noflavors can be set if
  using distutils but flavors are not wanted.

  A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
  added to cope with Python ports that did not have the Python
  PKGNAMEPREFIX but are flavored.

  USES=python now also exports a PY_FLAVOR variable that contains the
  current python flavor.  It can be used in dependency lines when the
  port itself is not python flavored.  For example, deskutils/calibre.

  By default, all the flavors are generated.  To only generate flavors
  for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
  BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.

  In all the ports with Python dependencies, the *_DEPENDS entries MUST
  end with the flavor so that the framework knows which to build/use.
  This is done by appending '@${PY_FLAVOR}' after the origin (or
  @${FLAVOR} if in a Python module with Python flavors, as the content
  will be the same).  For example:

    RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}

PR:		223071
Reviewed by:	portmgr, python
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12464
2017-11-30 15:50:30 +00:00

75 lines
2.6 KiB
Makefile

# Created by: Daniel Roethlisberger <daniel@roe.ch>
# $FreeBSD$
PKGNAMEPREFIX= ze
MAINTAINER= woodsb02@FreeBSD.org
COMMENT= GUI frontend for the Nmap scanning utility
RUN_DEPENDS= nmap:security/nmap \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${FLAVOR}
MASTERDIR= ${.CURDIR}/../nmap
PATCHDIR= ${.CURDIR}/files
FILESDIR= ${.CURDIR}/files
DATADIR= ${PREFIX}/share/${PKGNAMEPREFIX}${PORTNAME}
PKGDIR= ${.CURDIR}
WRKSRC_SUBDIR= ${PKGNAMEPREFIX}${PORTNAME}
USES= dos2unix python:2.7 tar:bzip2
DOS2UNIX_GLOB= *.xml
USE_GNOME= pygtk2
USE_PYTHON= autoplist distutils
NO_ARCH= yes
OPTIONS_DEFINE= NLS
OPTIONS_SUB= yes
NLS_CONFIGURE_ENABLE= nls
NLS_USES= gettext
SUB_FILES= zenmap-root
post-patch:
@${RM} ${WRKSRC}/install_scripts/unix/su-to-zenmap.sh
@${CP} -a ${FILESDIR}/pc-su ${WRKSRC}/install_scripts/unix/su-to-zenmap.sh
@${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|' \
-e '/"install": checked_install/d' \
${WRKSRC}/../ndiff/setup.py
@${FIND} ${WRKSRC} -name "*.bak" -delete
@${FIND} ${WRKSRC}/../ndiff -name "*.bak" -delete
post-patch-NLS-off:
@${REINPLACE_CMD} -i '' '/locale_dir, mo_find, /d' ${WRKSRC}/setup.py
post-install:
${INSTALL_SCRIPT} ${WRKDIR}/zenmap-root ${STAGEDIR}${PREFIX}/bin/
@${CHMOD} 754 ${STAGEDIR}${DATADIR}/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 .)
@(cd ${STAGEDIR}${PREFIX}/share/pixmaps && ${LN} -sf ../zenmap/pixmaps/zenmap.png zenmap.png)
.include "${MASTERDIR}/Makefile"