freebsd-ports/net-mgmt/netbox/Makefile
Kai Knoblich cc230705c4 net-mgmt/netbox: Update to 3.1.8
Changelog:

Enhancements:
* Linkify devices on the far side of a rack elevation
* Embiggen configuration form fields for banner message content
* Add full username column to changelog table
* Enable tab completion for nbshell

Bug Fixes:
* Implement replaceAll string utility function to improve
  browser compatibility
* Null date columns should return empty strings during CSV export
* Fix display of VC members when position is zero
* Include option to connect a rear port to a console port
* Fix errant table configuration key available_columns
* Show contact assignment counts in global search results
* Object change log tables should honor user's configured preferences
* Fix tag filter on config context list filter form
* Display validation error when attempting to assign VLANs to interface
  with no mode during bulk edit
* Fix bulk editing for certain custom link, webhook, and journal
  entry fields

https://github.com/netbox-community/netbox/releases/tag/v3.1.8
2022-02-16 07:19:31 +01:00

101 lines
4.8 KiB
Makefile

PORTNAME= netbox
DISTVERSIONPREFIX= v
DISTVERSION= 3.1.8
CATEGORIES= net-mgmt python
MAINTAINER= kai@FreeBSD.org
COMMENT= IP address management tool
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
# NetBox has fixed Python package dependencies listed in "requirements.txt"
# which are not checked during build/runtime because they're usually installed
# via devel/py-pip.
#
# As a rule, slight deviations are usally not a problem, but there are a few
# Django packages that are known for regressions in conjunction with NetBox and
# should therefore only be updated with caution.
#
# - devel/py-dj32-django-rq
# - www/py-dj32-django-filter
# - www/py-dj32-django-tables2
# - www/py-dj32-djangorestframework (in conjunction with www/py-dj32-drf-yasg)
#
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markdown-include>=0.6.0<1:textproc/py-markdown-include@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}mkdocs-material>=8.1.11<9:textproc/py-mkdocs-material@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=3.2.11<3.3:www/py-django32@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-cors-headers>=3.11.0<4:www/py-dj32-django-cors-headers@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-debug-toolbar>=3.2.4<4:www/py-dj32-django-debug-toolbar@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-filter>=21.1<22:www/py-dj32-django-filter@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-graphiql-debug-toolbar>=0.2.0<1:www/py-dj32-django-graphiql-debug-toolbar@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-mptt>=0.13.4<0.14:www/py-dj32-django-mptt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-prometheus>=2.1.0<2.3:www/py-dj32-django-prometheus@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-redis>=5.2.0<6:www/py-dj32-django-redis@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-rq>=2.5.1<2.6:devel/py-dj32-django-rq@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-tables2>=2.4.1<2.5:www/py-dj32-django-tables2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-taggit>=2.1.0<3:www/py-dj32-django-taggit@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-django-timezone-field>=4.2.3<5:www/py-dj32-django-timezone-field@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-djangorestframework>=3.12.4<3.13.0:www/py-dj32-djangorestframework@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-drf-yasg>=1.20.0<1.21:www/py-dj32-drf-yasg@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj32-graphene-django>=2.15.0<3:devel/py-dj32-graphene-django@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0.1<4:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}markdown>=3.3.4<3.5:textproc/py-markdown@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netaddr>=0.8.0<1:net/py-netaddr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pillow>=8.2.0:graphics/py-pillow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}psycopg2>=2.9.2<3:databases/py-psycopg2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}social-auth-app-django>=5.0.0<6:www/py-social-auth-app-django@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.1.0<5:security/py-social-auth-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}svgwrite>=1.4.1<2:graphics/py-svgwrite@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tablib>=3.2.0<4:textproc/py-tablib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yaml>=5.4.1<7:devel/py-yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gunicorn>=19.9.0<21:www/py-gunicorn@${PY_FLAVOR}
USES= cpe pgsql:10+ python:3.7+
CPE_VENDOR= netbox_project
USE_GITHUB= yes
GH_ACCOUNT= netbox-community
SUB_FILES= 850.netbox-housekeeping.sample netbox_rq.sample netboxrc.sample pkg-message
SUB_LIST= DATADIR=${DATADIR} PYTHON_CMD=${PYTHON_CMD} PYTHON_VER=${PYTHON_VER} WWWOWN=${WWWOWN}
NO_ARCH= yes
OPTIONS_DEFINE= DOCS EXAMPLES
do-build:
cd ${WRKSRC} && ${PYTHON_CMD} -m mkdocs build
do-install:
cd ${WRKSRC}/netbox ; \
for src in $$( ${FIND} . ! -name '*.bak' ) ; do \
dst=${STAGEDIR}${DATADIR}$${src#.} ; \
if ${TEST} -d "$$src" ; then \
${MKDIR} "$$dst" ; \
else \
${INSTALL_DATA} "$$src" "$$dst" ; \
fi \
done
post-install-DOCS-on:
cd ${WRKSRC}/docs ; \
${MKDIR} ${STAGEDIR}${DOCSDIR} ; \
for src in $$( ${FIND} . ! -name '*.bak' ) ; do \
dst=${STAGEDIR}${DOCSDIR}$${src#.} ; \
if ${TEST} -d "$$src" ; then \
${MKDIR} "$$dst" ; \
else \
${INSTALL_DATA} "$$src" "$$dst" ; \
fi \
done
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKDIR}/850.netbox-housekeeping.sample ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKDIR}/netbox_rq.sample ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKDIR}/netboxrc.sample ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/contrib/apache.conf ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/contrib/gunicorn.py ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/contrib/nginx.conf ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.mk>