Changeset View
Changeset View
Standalone View
Standalone View
databases/grass7/Makefile
# Created by: Mikael URANKAR and Loïc BARTOLETTI | # Created by: Mikael URANKAR and Loïc BARTOLETTI | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= grass | PORTNAME= grass | ||||
PORTVERSION= 7.6.1 | PORTVERSION= 7.8.2 | ||||
PORTREVISION= 12 | |||||
CATEGORIES= databases geography | CATEGORIES= databases geography | ||||
MASTER_SITES= https://grass.osgeo.org/%SUBDIR%/ \ | MASTER_SITES= https://grass.osgeo.org/%SUBDIR%/ \ | ||||
http://grass.cict.fr/%SUBDIR%/ \ | http://grass.cict.fr/%SUBDIR%/ \ | ||||
http://grass.fbk.eu/%SUBDIR%/ \ | http://grass.fbk.eu/%SUBDIR%/ \ | ||||
http://grass.gis-lab.info/%SUBDIR%/ \ | http://grass.gis-lab.info/%SUBDIR%/ \ | ||||
http://grass.meteo.uni.wroc.pl/%SUBDIR%/ \ | http://grass.meteo.uni.wroc.pl/%SUBDIR%/ \ | ||||
http://grass.polytechnic.edu.na/%SUBDIR%/ \ | http://grass.polytechnic.edu.na/%SUBDIR%/ \ | ||||
http://grass.unibuc.ro/%SUBDIR%/ \ | http://grass.unibuc.ro/%SUBDIR%/ \ | ||||
http://mirrors.ibiblio.org/grass/%SUBDIR%/ \ | http://mirrors.ibiblio.org/grass/%SUBDIR%/ \ | ||||
http://pinus.gntech.ac.kr/grass/%SUBDIR%/ \ | http://pinus.gntech.ac.kr/grass/%SUBDIR%/ \ | ||||
http://wgbis.ces.iisc.ernet.in/grass/%SUBDIR%/ \ | http://wgbis.ces.iisc.ernet.in/grass/%SUBDIR%/ \ | ||||
http://wgrass.media.osaka-cu.ac.jp/grassh/%SUBDIR%/ | http://wgrass.media.osaka-cu.ac.jp/grassh/%SUBDIR%/ | ||||
MASTER_SITE_SUBDIR= grass${VER}/source | MASTER_SITE_SUBDIR= grass${VER}/source | ||||
PKGNAMESUFFIX= 7 | PKGNAMESUFFIX= 7 | ||||
MAINTAINER= lbartoletti@FreeBSD.org | MAINTAINER= lbartoletti@FreeBSD.org | ||||
COMMENT= Open source Geographical Information System (GIS) | COMMENT= Open source Geographical Information System (GIS) | ||||
LICENSE= GPLv2+ | LICENSE= GPLv2+ | ||||
LICENSE_FILE= ${WRKSRC}/GPL.TXT | LICENSE_FILE= ${WRKSRC}/GPL.TXT | ||||
BROKEN_sparc64= Does not configure on sparc64 | BROKEN_sparc64= Does not configure on sparc64 | ||||
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.2:math/py-numpy@${PY_FLAVOR} | BUILD_DEPENDS= ${PY_NUMPY} \ | ||||
${PYTHON_SITELIBDIR}/six.py:devel/py-six@${PY_FLAVOR} | |||||
LIB_DEPENDS= libgdal.so:graphics/gdal \ | LIB_DEPENDS= libgdal.so:graphics/gdal \ | ||||
libpng.so:graphics/png \ | libpng.so:graphics/png \ | ||||
libproj.so:graphics/proj \ | libproj.so:graphics/proj \ | ||||
libtiff.so:graphics/tiff \ | libtiff.so:graphics/tiff \ | ||||
libfftw3.so:math/fftw3 \ | libfftw3.so:math/fftw3 \ | ||||
libfontconfig.so:x11-fonts/fontconfig \ | libfontconfig.so:x11-fonts/fontconfig \ | ||||
libfreetype.so:print/freetype2 \ | libfreetype.so:print/freetype2 \ | ||||
libgeos.so:graphics/geos | libgeos.so:graphics/geos | ||||
RUN_DEPENDS= bash:shells/bash | RUN_DEPENDS= ${PY_NUMPY} \ | ||||
${PYTHON_SITELIBDIR}/six.py:devel/py-six@${PY_FLAVOR} | |||||
USES= blaslapack fortran gmake gl gnome \ | USES= blaslapack compiler:openmp fortran gl gmake gnome iconv \ | ||||
iconv jpeg perl5 pkgconfig python:2.7 \ | jpeg perl5 pkgconfig python:3.6+ readline shebangfix tk xorg | ||||
readline shebangfix tk xorg | SHEBANG_GLOB= *.py | ||||
SHEBANG_LANG= nviz | SHEBANG_LANG= nviz | ||||
nviz_OLD_CMD= nviz | nviz_OLD_CMD= nviz | ||||
nviz_CMD= ${PREFIX}/${GRASS_INST_DIR}/bin/nviz | nviz_CMD= ${PREFIX}/${GRASS_INST_DIR}/bin/nviz | ||||
USE_XORG= sm ice x11 xext xi xmu xrender xt | USE_XORG= sm ice x11 xext xi xmu xrender xt | ||||
USE_GL= gl glu | USE_GL= gl glu | ||||
USE_GNOME= cairo | USE_GNOME= cairo | ||||
USE_WX= 3.0 | USE_WX= 3.0 | ||||
WX_COMPS= wx:build python:run | WX_COMPS= wx:build python:run | ||||
USE_GCC= yes | |||||
GNU_CONFIGURE= yes | GNU_CONFIGURE= yes | ||||
CONFIGURE_ARGS= --with-includes=${LOCALBASE}/include \ | CONFIGURE_ARGS= --with-includes=${LOCALBASE}/include \ | ||||
--with-libs=${LOCALBASE}/lib \ | --with-libs=${LOCALBASE}/lib \ | ||||
--with-opengl-includes=${LOCALBASE}/include/ \ | --with-opengl-includes=${LOCALBASE}/include/ \ | ||||
--with-opengl-libs=${LOCALBASE}/lib/ \ | --with-opengl-libs=${LOCALBASE}/lib/ \ | ||||
--with-freetype \ | --with-freetype \ | ||||
--with-freetype-includes=${LOCALBASE}/include/freetype2 \ | --with-freetype-includes=${LOCALBASE}/include/freetype2 \ | ||||
--with-blas \ | --with-blas \ | ||||
--with-lapack \ | --with-lapack \ | ||||
--with-cairo \ | --with-cairo \ | ||||
--with-readline \ | --with-readline \ | ||||
--enable-largefile \ | --enable-largefile \ | ||||
--with-wxwidgets=${WX_CONFIG} \ | --with-wxwidgets=${WX_CONFIG} \ | ||||
--with-proj-share=${LOCALBASE}/share/proj \ | --with-proj-share=${LOCALBASE}/share/proj \ | ||||
--with-geos=${LOCALBASE}/bin/geos-config \ | --with-geos=${LOCALBASE}/bin/geos-config \ | ||||
--with-gdal=${LOCALBASE}/bin/gdal-config \ | --with-gdal=${LOCALBASE}/bin/gdal-config \ | ||||
--with-pthread=yes | --with-pthread=yes \ | ||||
#--with-openmp | --with-openmp | ||||
SUB_FILES= pkg-message | |||||
SUB_LIST= PYTHON_CMD=${PYTHON_CMD} | |||||
BINARY_ALIAS= python3=${PYTHON_CMD} | |||||
ALL_TARGET= default | ALL_TARGET= default | ||||
USE_LDCONFIG= ${PREFIX}/${GRASS_INST_DIR}/lib | USE_LDCONFIG= ${PREFIX}/${GRASS_INST_DIR}/lib | ||||
MAKE_ENV+= TARGET="${CONFIGURE_TARGET}" | MAKE_ENV+= TARGET="${CONFIGURE_TARGET}" | ||||
VER= ${PORTVERSION:R:C/\.//} | VER= ${PORTVERSION:R:C/\.//} | ||||
PLIST_SUB= GRASS_INST_DIR="${GRASS_INST_DIR}" \ | PLIST_SUB= GRASS_INST_DIR="${GRASS_INST_DIR}" \ | ||||
VERSION="${PORTVERSION}" VERS="${PORTVERSION:C/([0-9]+).([0-9]+)(.*)/\1.\2/}" \ | VERSION="${PORTVERSION}" VERS="${PORTVERSION:C/([0-9]+).([0-9]+)(.*)/\1.\2/}" \ | ||||
VER="${VER}" MAJVER="${PKGNAMESUFFIX}" | VER="${VER}" MAJVER="${PKGNAMESUFFIX}" | ||||
Show All 11 Lines | |||||
#GOTOBLAS_DESC= GotoBLAS implementationS | #GOTOBLAS_DESC= GotoBLAS implementationS | ||||
#ATLAS_USES= blaslapack:atlas | #ATLAS_USES= blaslapack:atlas | ||||
#NETLIB_USES= blaslapack | #NETLIB_USES= blaslapack | ||||
#GOTOBLAS_USES= blaslapack:gotoblas | #GOTOBLAS_USES= blaslapack:gotoblas | ||||
#OPENBLAS_USES= blaslapack:openblas | #OPENBLAS_USES= blaslapack:openblas | ||||
LAS_DESC= Enable LiDAR modules | LAS_DESC= Enable LiDAR modules | ||||
PDAL_DESC= Enable points cloud data modules | PDAL_DESC= Enable points cloud data modules | ||||
DB_DESC= Database support | DB_DESC= Database support | ||||
NLS_CONFIGURE_WITH= nls | |||||
NLS_USES= gettext | |||||
LAS_CONFIGURE_ON= --with-liblas=yes | LAS_CONFIGURE_ON= --with-liblas=yes | ||||
LAS_LIB_DEPENDS= liblas.so:devel/liblas \ | LAS_LIB_DEPENDS= liblas.so:devel/liblas \ | ||||
libboost_program_options.so:devel/boost-libs \ | libboost_program_options.so:devel/boost-libs \ | ||||
libboost_thread.so:devel/boost-libs \ | libboost_thread.so:devel/boost-libs \ | ||||
libgeotiff.so:graphics/libgeotiff | libgeotiff.so:graphics/libgeotiff | ||||
MYSQL_USES= mysql | MYSQL_USES= mysql | ||||
MYSQL_CONFIGURE_ON= --with-mysql \ | MYSQL_CONFIGURE_ON= --with-mysql \ | ||||
--with-mysql-includes=${LOCALBASE}/include/mysql \ | --with-mysql-includes=${LOCALBASE}/include/mysql \ | ||||
--with-mysql-libs=${LOCALBASE}/lib/mysql | --with-mysql-libs=${LOCALBASE}/lib/mysql | ||||
NETCDF_CONFIGURE_ON= --with-netcdf=${LOCALBASE}/bin/nc-config | NETCDF_CONFIGURE_ON= --with-netcdf=${LOCALBASE}/bin/nc-config | ||||
NETCDF_LIB_DEPENDS= libnetcdf.so:science/netcdf | NETCDF_LIB_DEPENDS= libnetcdf.so:science/netcdf | ||||
NLS_CONFIGURE_WITH= nls | |||||
NLS_USES= gettext | |||||
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC | ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC | ||||
ODBC_CONFIGURE_ON= --with-odbc | ODBC_CONFIGURE_WITH= odbc | ||||
PDAL_CONFIGURE_ON= --with-pdal=${LOCALBASE}/bin/pdal-config | PDAL_CONFIGURE_ON= --with-pdal=${LOCALBASE}/bin/pdal-config | ||||
PDAL_LIB_DEPENDS= libpdal_base.so:math/pdal | PDAL_LIB_DEPENDS= libpdal_base.so:math/pdal | ||||
PGSQL_USES= pgsql | PGSQL_USES= pgsql | ||||
PGSQL_CONFIGURE_ON= --with-postgres | PGSQL_CONFIGURE_WITH= postgres | ||||
SQLITE_USES= sqlite | SQLITE_USES= sqlite | ||||
SQLITE_CONFIGURE_ON= --with-sqlite | SQLITE_CONFIGURE_WITH= sqlite | ||||
SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} | SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} | ||||
ZSTD_CONFIGURE_WITH= zstd | ZSTD_CONFIGURE_WITH= zstd | ||||
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd | ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd | ||||
.include <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
.if !defined (GRASS_INST_DIR) | .if !defined (GRASS_INST_DIR) | ||||
GRASS_INST_DIR= ${PORTNAME}${VER} | GRASS_INST_DIR= ${PORTNAME}${VER} | ||||
Show All 13 Lines | ${REINPLACE_CMD} -e \ | ||||
/tar /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | /tar /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | ||||
/chmod /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | /chmod /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | ||||
/tar /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | /tar /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | ||||
/rm /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | /rm /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | ||||
/$$(MAKE) /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | /$$(MAKE) /s| $$(INST_DIR)| $${DESTDIR}$${INST_DIR}|g ; \ | ||||
/^$$(INST_DIR)\//s|$$(INST_DIR)|$${DESTDIR}$${INST_DIR}|g ; \ | /^$$(INST_DIR)\//s|$$(INST_DIR)|$${DESTDIR}$${INST_DIR}|g ; \ | ||||
s|> $$(INST_DIR)|> $${DESTDIR}$${INST_DIR}|' ${WRKSRC}/include/Make/Install.make | s|> $$(INST_DIR)|> $${DESTDIR}$${INST_DIR}|' ${WRKSRC}/include/Make/Install.make | ||||
${REINPLACE_CMD} \ | ${REINPLACE_CMD} \ | ||||
's|= python|= ${PYTHON_CMD:T}|' ${WRKSRC}/include/Make/Platform.make.in | 's|= python3|= ${PYTHON_CMD:T}|' ${WRKSRC}/include/Make/Platform.make.in | ||||
${REINPLACE_CMD} \ | ${REINPLACE_CMD} \ | ||||
"s|'make'|'gmake'|g" ${WRKSRC}/scripts/g.extension/g.extension.py | "s|'make'|'gmake'|g" ${WRKSRC}/scripts/g.extension/g.extension.py | ||||
${REINPLACE_CMD} \ | ${REINPLACE_CMD} \ | ||||
's|$$(ARCH)|$$(TARGET)|g' ${WRKSRC}/include/Make/Grass.make | 's|$$(ARCH)|$$(TARGET)|g' ${WRKSRC}/include/Make/Grass.make | ||||
# Replace hardcoded python interpreter to PYTHON_CMD | # Replace hardcoded python interpreter to PYTHON_CMD | ||||
${REINPLACE_CMD} "s|'GRASS_PYTHON', 'python'|'GRASS_PYTHON', \'${PYTHON_CMD}\'|g" \ | ${REINPLACE_CMD} "s|'GRASS_PYTHON', 'python'|'GRASS_PYTHON', \'${PYTHON_CMD}\'|g" \ | ||||
${WRKSRC}/scripts/wxpyimgview/wxpyimgview.py | ${WRKSRC}/scripts/wxpyimgview/wxpyimgview.py | ||||
${REINPLACE_CMD} 's|GRASS_PYTHON=python|GRASS_PYTHON=${PYTHON_CMD}|g' \ | ${REINPLACE_CMD} 's|GRASS_PYTHON=python|GRASS_PYTHON=${PYTHON_CMD}|g' \ | ||||
${WRKSRC}/lib/init/grass.sh | ${WRKSRC}/lib/init/grass.sh | ||||
${REINPLACE_CMD} \ | ${REINPLACE_CMD} \ | ||||
"s|environ\['GRASS_PYTHON'\] = "'"python"'"|environ['GRASS_PYTHON'] = "'"${PYTHON_CMD}"'"|g" \ | "s|environ\['GRASS_PYTHON'\] = "'"python3"'"|environ['GRASS_PYTHON'] = "'"${PYTHON_CMD}"'"|g" \ | ||||
${WRKSRC}/lib/python/script/setup.py | ${WRKSRC}/lib/python/script/setup.py | ||||
cd ${WRKSRC}; \ | |||||
for i in `${FIND} . -type f -print`; do \ | |||||
${REINPLACE_CMD} \ | |||||
's|#!/usr/bin/env python|#!/usr/bin/env ${PYTHON_CMD}|' $$i; \ | |||||
done | |||||
tcberner: ^couldn't you use USES=shebangfix here?
| |||||
Done Inline ActionsYes. It's done lbartoletti: Yes. It's done | |||||
Not Done Inline Actionstcberner: {meme, src=stlgtm}
| |||||
post-install: | post-install: | ||||
# remove useless files | |||||
${RM} -rf ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/etc/db.test/ | |||||
${RM} -rf ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/demolocation/PERMANENT/.tmp/ | ${RM} -rf ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/demolocation/PERMANENT/.tmp/ | ||||
${RM} -rf ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/docs/html/colortables/*bak.png | ${RM} -rf ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/docs/html/colortables/*bak.png | ||||
${MKDIR} ${STAGEDIR}${LOCALBASE}/${PORTNAME}${VER}/docs/html/ | |||||
.for file in i_atcorr_B02_atcorr.png \ | # fix pkg-plist issues | ||||
i_ortho_photo_step1.png \ | # poudriere testport, poudriere bulk -t and make ports can create different pkg-plist | ||||
i_ortho_photo_step5.png \ | for i in `${FIND} ${WRKSRC}/scripts -type f \( -name *jpg -o -name *png -o -name *gxm \) -print`; do \ | ||||
i_ortho_photo_step6.png \ | ${INSTALL_DATA} $$i ${STAGEDIR}${LOCALBASE}/${PORTNAME}${VER}/docs/html; \ | ||||
i_ortho_photo_step7.png \ | done | ||||
i_ortho_photo_step8.png \ | for i in `${FIND} ${WRKSRC}/gui/wxpython -type f \( -name *jpg -o -name *png -o -name *gxm \) -print`; do \ | ||||
r.viewshed.png \ | ${INSTALL_DATA} $$i ${STAGEDIR}${LOCALBASE}/${PORTNAME}${VER}/docs/html; \ | ||||
rterraflow_accumulation.png \ | done | ||||
rterraflow_dir2.png \ | for i in `${FIND} ${WRKSRC}/raster -type f \( -name *jpg -o -name *png -o -name *gxm \) -print`; do \ | ||||
rterraflow_dir3.png \ | ${INSTALL_DATA} $$i ${STAGEDIR}${LOCALBASE}/${PORTNAME}${VER}/docs/html; \ | ||||
sweep1.png \ | done | ||||
sweep2.png | for i in `${FIND} ${WRKSRC}/imagery -type f \( -name *jpg -o -name *png -o -name *gxm \) -print`; do \ | ||||
${TOUCH} ${STAGEDIR}${LOCALBASE}/${PORTNAME}${VER}/docs/html/${file} | ${INSTALL_DATA} $$i ${STAGEDIR}${LOCALBASE}/${PORTNAME}${VER}/docs/html; \ | ||||
done | |||||
.for file in wms_base.py wms_drv.py wms_gdal_drv.py wms_cap_parsers.py srs.py | |||||
${INSTALL_SCRIPT} ${WRKSRC}/scripts/r.in.wms/${file} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/etc/r.in.wms/${file} | |||||
.endfor | .endfor | ||||
${INSTALL_SCRIPT} ${WRKSRC}/scripts/wxpyimgview/wxpyimgview_gui.py ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/etc/wxpyimgview_gui.py | |||||
${MKDIR} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/etc/d.polar | |||||
${INSTALL_DATA} ${WRKSRC}/scripts/d.polar/ps_defs.eps ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/etc/d.polar | |||||
# STRIP PART | |||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/bin/* | ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/bin/* | ||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/driver/db/* | ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/driver/db/* | ||||
.for i in clean_temp current_time_s_ms echo i.find lock run r.watershed/seg r.watershed/ram | .for i in clean_temp current_time_s_ms echo i.find lock run r.watershed/seg r.watershed/ram lister/vector lister/cell | ||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/etc/${i} | ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/etc/${i} | ||||
.endfor | .endfor | ||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/etc/lister/* | |||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/tools/g.echo | ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/tools/g.echo | ||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GRASS_INST_DIR}/lib/* | |||||
# symlink grass7 | |||||
${LN} -sf ${PORTNAME}${VER} \ | ${LN} -sf ${PORTNAME}${VER} \ | ||||
${STAGEDIR}${PREFIX}/bin/${PORTNAME}${PKGNAMESUFFIX} | ${STAGEDIR}${PREFIX}/bin/${PORTNAME}${PKGNAMESUFFIX} | ||||
.include <bsd.port.mk> | .include <bsd.port.mk> |
^couldn't you use USES=shebangfix here?