freebsd-ports/graphics/mapnik/Makefile

141 lines
4.7 KiB
Makefile

PORTNAME= mapnik
DISTVERSIONPREFIX= v
DISTVERSION= 4.0.3
PORTREVISION= 5
CATEGORIES= graphics geography
MAINTAINER= hummeltech@sherpaguru.com
COMMENT= Free Toolkit For Developing Mapping Applications
WWW= http://www.mapnik.org/
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${LOCALBASE}/share/fonts/dejavu/DejaVuSans.ttf:x11-fonts/dejavu \
protozero>0:devel/protozero
LIB_DEPENDS= libboost_program_options.so:devel/boost-libs \
libboost_regex.so:devel/boost-libs \
libboost_system.so:devel/boost-libs \
libfreetype.so:print/freetype2 \
libharfbuzz.so:print/harfbuzz \
libicuuc.so:devel/icu
RUN_DEPENDS= dejavu>0:x11-fonts/dejavu
USE_GITHUB= yes
GH_ACCOUNT= mapnik
GH_PROJECT= mapnik
GH_TUPLE= mapbox:geometry.hpp:c83a2ab:geometry_hpp/deps/mapbox/geometry \
mapbox:polylabel:51f09d0:polylabel/deps/mapbox/polylabel \
mapbox:variant:a2a4858:variant/deps/mapbox/variant \
catchorg:Catch2:v2.13.10:catch2/test/catch2 \
mapnik:test-data:fd9ab43:test_data/test/data
USES= compiler:c++17-lang cmake:testing gnome pkgconfig
USE_GNOME= libxml2
USE_LDCONFIG= yes
CMAKE_ARGS= -DFONTS_INSTALL_DIR:PATH=share/fonts/dejavu
CMAKE_ON= USE_EXTERNAL_MAPBOX_PROTOZERO
OPTIONS_DEFINE= CAIRO DOCS JPEG PNG PROJ TIFF WEBP
OPTIONS_DEFAULT= CAIRO JPEG PNG PROJ TIFF WEBP \
GDAL OGR PGRASTER POSTGIS SQLITE3 \
TESTING \
GEOMETRY_TO_WKB MAPNIK_INDEX MAPNIK_RENDER PGSQL2SQLITE SHAPEINDEX SVG2PNG
OPTIONS_GROUP= INPUT TESTS UTILS
OPTIONS_GROUP_INPUT= GDAL OGR PGRASTER POSTGIS SQLITE3
OPTIONS_GROUP_TESTS= BENCHMARK DEMO_CPP DEMO_VIEWER TESTING
OPTIONS_GROUP_UTILS= GEOMETRY_TO_WKB MAPNIK_INDEX MAPNIK_RENDER OGRINDEX PGSQL2SQLITE SHAPEINDEX SVG2PNG
OPTIONS_SUB= yes
JPEG_CMAKE_BOOL= USE_JPEG
JPEG_USES= jpeg
PNG_CMAKE_BOOL= USE_PNG
PNG_LIB_DEPENDS= libpng.so:graphics/png
TIFF_CMAKE_BOOL= USE_TIFF
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
WEBP_CMAKE_BOOL= USE_WEBP
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
CAIRO_DESC= Enable cairo rendering
PROJ_DESC= Enable PROJ support
INPUT_DESC= Input plugins
GDAL_DESC= GDAL input plugin
OGR_DESC= OGR input plugin
PGRASTER_DESC= PGraster input plugin
POSTGIS_DESC= PostGIS input plugin
SQLITE3_DESC= SQLite input plugin
TESTS_DESC= Tests & Demos, etc.
BENCHMARK_DESC= Benchmark project
DEMO_CPP_DESC= Demo c++ application
DEMO_VIEWER_DESC= Demo viewer
TESTING_DESC= Tests
UTILS_DESC= Utilities
GEOMETRY_TO_WKB_DESC= geometry_to_wkb utility
MAPNIK_INDEX_DESC= mapnik_index utility
MAPNIK_RENDER_DESC= mapnik_render utility
OGRINDEX_DESC= ogrindex utility (currently doesn't build)
PGSQL2SQLITE_DESC= pgsql2sqlite utility
SHAPEINDEX_DESC= shapeindex utility
SVG2PNG_DESC= svg2png utility
CAIRO_CMAKE_BOOL= USE_CAIRO
CAIRO_LIB_DEPENDS= libcairo.so:graphics/cairo
PROJ_CMAKE_BOOL= USE_PROJ
PROJ_LIB_DEPENDS= libproj.so:graphics/proj
GDAL_CMAKE_BOOL= USE_PLUGIN_INPUT_GDAL
GDAL_LIB_DEPENDS= libgdal.so:graphics/gdal
OGR_CMAKE_BOOL= USE_PLUGIN_INPUT_OGR
OGR_LIB_DEPENDS= libgdal.so:graphics/gdal
PGRASTER_CMAKE_BOOL= USE_PLUGIN_INPUT_PGRASTER
PGRASTER_USES= pgsql
POSTGIS_CMAKE_BOOL= USE_PLUGIN_INPUT_POSTGIS
POSTGIS_USES= pgsql
SQLITE3_CMAKE_BOOL= USE_PLUGIN_INPUT_SQLITE
SQLITE3_USES= sqlite:3
BENCHMARK_CMAKE_BOOL= BUILD_BENCHMARK
DEMO_CPP_CMAKE_BOOL= BUILD_DEMO_CPP
DEMO_VIEWER_CMAKE_BOOL= BUILD_DEMO_VIEWER
TESTING_CMAKE_BOOL= BUILD_TESTING
GEOMETRY_TO_WKB_CMAKE_BOOL= BUILD_UTILITY_GEOMETRY_TO_WKB
MAPNIK_INDEX_CMAKE_BOOL= BUILD_UTILITY_MAPNIK_INDEX
MAPNIK_RENDER_CMAKE_BOOL= BUILD_UTILITY_MAPNIK_RENDER
OGRINDEX_CMAKE_BOOL= BUILD_UTILITY_OGRINDEX
PGSQL2SQLITE_CMAKE_BOOL= BUILD_UTILITY_PGSQL2SQLITE
SHAPEINDEX_CMAKE_BOOL= BUILD_UTILITY_SHAPEINDEX
SVG2PNG_CMAKE_BOOL= BUILD_UTILITY_SVG2PNG
pre-configure-SQLITE3-on:
@if ! ${LOCALBASE}/bin/sqlite3 :memory: 'create virtual table foo using rtree(pkid, xmin, xmax, ymin, ymax)' > /dev/null 2>&1; then \
${ECHO_MSG} "" ; \
${ECHO_MSG} "The SQLite plugin requires libsqlite3 built with RTREE support"; \
${ECHO_MSG} "Please, reinstall 'databases/sqlite3' port with R*Tree module enabled"; \
${ECHO_MSG} "" ; \
${FALSE} ; \
fi
post-patch:
@${REINPLACE_CMD} -e 's#GIT_REPOSITORY https://github.com/catchorg/Catch2.git#SOURCE_DIR ${WRKSRC}/test/catch2)#g' \
-e 's#GIT_TAG v2.13.7)##g' \
${WRKSRC}/test/CMakeLists.txt
post-install:
@${RM} -r ${STAGEDIR}${PREFIX}/share/fonts
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mapnik/input/*.input
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
@cd ${WRKSRC} && ${INSTALL_DATA} AUTHORS.md CHANGELOG.md CODE_OF_CONDUCT.md INSTALL.md README.md ${STAGEDIR}${DOCSDIR}
@${MKDIR} ${STAGEDIR}${DOCSDIR}/docs
@cd ${WRKSRC} && ${INSTALL_DATA} docs/* ${STAGEDIR}${DOCSDIR}/docs
.include <bsd.port.mk>