aboutsummaryrefslogtreecommitdiff
path: root/graphics/gdal/Makefile
blob: d5eef53868ac1ff39b6bc2415dd05ca223dedb59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
PORTNAME=	gdal
PORTVERSION=	3.8.5
PORTREVISION=	1
CATEGORIES=	graphics geography
MASTER_SITES=	https://download.osgeo.org/gdal/${PORTVERSION}/ \
		LOCAL/sunpoet

MAINTAINER=	sunpoet@FreeBSD.org
COMMENT=	Translator library for raster geospatial data formats
WWW=		https://gdal.org/ \
		https://github.com/OSGeo/gdal

LICENSE=	MIT
LICENSE_FILE=	${WRKSRC}/LICENSE.TXT

BUILD_DEPENDS=	libgeotiff>=1.5.0:graphics/libgeotiff \
		proj>=6,1:graphics/proj
LIB_DEPENDS=	libgeotiff.so:graphics/libgeotiff \
		libgif.so:graphics/giflib \
		libjson-c.so:devel/json-c \
		libpng.so:graphics/png \
		libproj.so:graphics/proj \
		libqhull_r.so:math/qhull \
		libtiff.so:graphics/tiff

USES=		cmake compiler:c++17-lang cpe iconv jpeg localbase pkgconfig ssl tar:xz

CMAKE_OFF=	BUILD_CSHARP_BINDINGS \
		BUILD_DOCS \
		BUILD_JAVA_BINDINGS \
		BUILD_PYTHON_BINDINGS \
		BUILD_TESTING \
		BUILD_VSIPRELOAD \
		CLANG_TIDY_ENABLED \
		CSHARP_MONO \
		ENABLE_DEFLATE64 \
		GDAL_ENABLE_HDF5_GLOBAL_LOCK  \
		GDAL_ENABLE_PLUGINS \
		GDAL_ENABLE_PLUGINS_NO_DEPS \
		GDAL_SET_INSTALL_RELATIVE_RPATH \
		GDAL_USE_INTERNAL_LIBS \
		GDAL_USE_GEOTIFF_INTERNAL \
		GDAL_USE_GIF_INTERNAL \
		GDAL_USE_JPEG12_INTERNAL \
		GDAL_USE_JPEG_INTERNAL \
		GDAL_USE_JSONC_INTERNAL \
		GDAL_USE_LERC_INTERNAL \
		GDAL_USE_LIBCSF_INTERNAL \
		GDAL_USE_OPENCAD \
		GDAL_USE_OPENCAD_INTERNAL \
		GDAL_USE_PNG_INTERNAL \
		GDAL_USE_PUBLICDECOMPWT \
		GDAL_USE_QHULL_INTERNAL \
		GDAL_USE_SHAPELIB \
		GDAL_USE_TIFF_INTERNAL \
		GDAL_USE_ZLIB_INTERNAL \
		HDFS_ENABLED \
		SWIG_REGENERATE_PYTHON
CMAKE_ON=	BUILD_APPS \
		BUILD_SHARED_LIBS \
		BUILD_STATIC_LIBS \
		ENABLE_GNM \
		ENABLE_IPO \
		ENABLE_PAM \
		GDAL_AUTOLOAD_PLUGINS \
		GDAL_BUILD_OPTIONAL_DRIVERS \
		GDAL_HIDE_INTERNAL_SYMBOLS \
		GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE \
		GDAL_SPLIT_EXPORTED_LIBS \
		GDAL_USE_CPL_MULTIPROC_PTHREAD \
		GDAL_USE_EXTERNAL_LIBS \
		GDAL_USE_GEOTIFF \
		GDAL_USE_GIF \
		GDAL_USE_ICONV \
		GDAL_USE_JPEG \
		GDAL_USE_JPEG12 \
		GDAL_USE_JSONC \
		GDAL_USE_LIBCSF \
		GDAL_USE_LIBLZMA \
		GDAL_USE_OPENSSL \
		GDAL_USE_PNG \
		GDAL_USE_QHULL \
		GDAL_USE_SHAPELIB_INTERNAL \
		GDAL_USE_TIFF \
		GDAL_USE_ZLIB \
		OGR_BUILD_OPTIONAL_DRIVERS \
		OGR_SQLITE_ALLOW_LOAD_EXTENSIONS \
		RENAME_INTERNAL_SHAPELIB_SYMBOLS \
		USE_CCACHE
USE_CXXSTD=	c++17
USE_LDCONFIG=	yes

PLIST_SUB=	PORTVERSION=${PORTVERSION}

CPE_VENDOR=	osgeo

HEADER_FILES=	alg/gdalwarpkernel_opencl.h \
		alg/gvgcpfit.h \
		alg/internal_qhull_headers.h \
		alg/thinplatespline.h\
		gcore/gdalexif.h \
		gcore/gdaljp2metadatagenerator.h \
		gcore/gdalsse_priv.h \
		gnm/gnm_priv.h \
		port/cpl_aws.h \
		port/cpl_cpu_features.h \
		port/cpl_google_cloud.h \
		port/cpl_odbc.h \
		port/cpl_sha1.h \
		port/cpl_sha256.h \
		port/cpl_vsil_curl_priv.h \
		port/cpl_worker_thread_pool.h

OPTIONS_DEFINE=	AEC ARMADILLO BRUNSLI CFITSIO CRYPTOPP CURL DEFLATE ECW EXPAT EXR FREEXL GEOS GTA HDF5 HEIF JXL KML LERC LIBXML2 LZ4 MYSQL NETCDF ODBC OPENJPEG PCRE2 PGSQL RASTERLITE2 SFCGAL SPATIALITE SQLITE TILEDB WEBP XERCES ZSTD
OPTIONS_RADIO=	PDF
OPTIONS_RADIO_PDF=	PODOFO POPPLER
OPTIONS_DEFAULT=AEC CURL DEFLATE EXPAT FREEXL GEOS LERC LIBXML2 LZ4 OPENJPEG PCRE2 PGSQL POPPLER WEBP ZSTD \
		HDF5 KML NETCDF SPATIALITE SFCGAL SQLITE XERCES
OPTIONS_EXCLUDE_powerpc=	LERC
OPTIONS_EXCLUDE_powerpc64=	LERC
OPTIONS_SUB=	yes
AEC_DESC=	Adaptive entropy coding library
BRUNSLI_DESC=	Brunsli support via libbrunsli library
CRYPTOPP_DESC=	Cryptopp support
DEFLATE_DESC=	Faster deflate support via libdeflate library
EXR_DESC=	EXR support via OpenEXR library
LERC_DESC=	LERC (Limited Error Raster Compression) support
PCRE2_DESC=	Regular expression support for SQLite
RASTERLITE2_DESC=	RasterLite2 support
TILEDB_DESC=	TileDB support

AEC_CMAKE_BOOL=		GDAL_USE_LIBAEC
AEC_LIB_DEPENDS=	libaec.so:science/libaec
ARMADILLO_CMAKE_BOOL=	GDAL_USE_ARMADILLO
ARMADILLO_LIB_DEPENDS=	libarmadillo.so:math/armadillo
BRUNSLI_CMAKE_BOOL=	GDAL_USE_BRUNSLI
BRUNSLI_LIB_DEPENDS=	libbrunslidec-c.so:graphics/brunsli
CFITSIO_CMAKE_BOOL=	GDAL_USE_CFITSIO
CFITSIO_LIB_DEPENDS=	libcfitsio.so:astro/cfitsio
CRYPTOPP_CMAKE_BOOL=	GDAL_USE_CRYPTOPP
CRYPTOPP_LIB_DEPENDS=	libcryptopp.so:security/cryptopp
CURL_CMAKE_BOOL=	GDAL_USE_CURL
CURL_LIB_DEPENDS=	libcurl.so:ftp/curl
DEFLATE_CMAKE_BOOL=	GDAL_USE_DEFLATE
DEFLATE_LIB_DEPENDS=	libdeflate.so:archivers/libdeflate
ECW_CMAKE_BOOL=		GDAL_USE_ECW
ECW_LIB_DEPENDS=	libNCSEcw.so:graphics/libecwj2
EXPAT_CMAKE_BOOL=	GDAL_USE_EXPAT
EXPAT_LIB_DEPENDS=	libexpat.so:textproc/expat2
EXR_CFLAGS=		-DInt64=uint64_t
EXR_CMAKE_BOOL=		GDAL_USE_EXR
EXR_LIB_DEPENDS=	libImath.so:math/Imath \
			libOpenEXR.so:graphics/openexr
FREEXL_CMAKE_BOOL=	GDAL_USE_FREEXL
FREEXL_LIB_DEPENDS=	libfreexl.so:textproc/freexl
GEOS_CMAKE_BOOL=	GDAL_USE_GEOS
GEOS_LIB_DEPENDS=	libgeos.so:graphics/geos
GTA_CMAKE_BOOL=		GDAL_USE_GTA
GTA_LIB_DEPENDS=	libgta.so:devel/libgta
HDF5_CMAKE_BOOL=	GDAL_USE_HDF5
HDF5_LIB_DEPENDS=	libhdf5.so:science/hdf5
HEIF_CMAKE_BOOL=	GDAL_USE_HEIF
HEIF_LIB_DEPENDS=	libheif.so:graphics/libheif
JXL_CMAKE_BOOL=		GDAL_USE_JXL GDAL_USE_JXL_THREADS
JXL_LIB_DEPENDS=	libjxl.so:graphics/libjxl
KML_CMAKE_BOOL=		GDAL_USE_LIBKML
KML_LIB_DEPENDS=	libkmlbase.so:science/libkml \
			liburiparser.so:net/uriparser
KML_USES=		minizip
LERC_CMAKE_BOOL=	GDAL_USE_LERC
LERC_LIB_DEPENDS=	libLerc.so:graphics/lerc
LIBXML2_CMAKE_BOOL=	GDAL_USE_LIBXML2
LIBXML2_LIB_DEPENDS=	libxml2.so:textproc/libxml2
LZ4_CMAKE_BOOL=		GDAL_USE_LZ4
LZ4_LIB_DEPENDS=	liblz4.so:archivers/liblz4
MYSQL_CMAKE_BOOL=	GDAL_USE_MYSQL
MYSQL_USES=		mysql
NETCDF_CMAKE_BOOL=	GDAL_USE_NETCDF
NETCDF_LIB_DEPENDS=	libnetcdf.so:science/netcdf
ODBC_CMAKE_BOOL=	GDAL_USE_ODBC
ODBC_LIB_DEPENDS=	libodbc.so:databases/unixODBC
OPENJPEG_BUILD_DEPENDS=	openjpeg>=2.1.0:graphics/openjpeg
OPENJPEG_CMAKE_BOOL=	GDAL_USE_OPENJPEG
OPENJPEG_LIB_DEPENDS=	libopenjp2.so:graphics/openjpeg
PCRE2_CMAKE_BOOL=	GDAL_USE_PCRE2
PCRE2_LIB_DEPENDS=	libpcre2-8.so:devel/pcre2
PGSQL_CMAKE_BOOL=	GDAL_USE_POSTGRESQL
PGSQL_USES=		pgsql
PODOFO_CMAKE_BOOL=	GDAL_USE_PODOFO
PODOFO_LIB_DEPENDS=	libpodofo.so:graphics/podofo
POPPLER_CMAKE_BOOL=	GDAL_USE_POPPLER
POPPLER_LIB_DEPENDS=	libpoppler.so:graphics/poppler
RASTERLITE2_CMAKE_BOOL=	GDAL_USE_RASTERLITE2
RASTERLITE2_LIB_DEPENDS=librasterlite2.so:graphics/librasterlite2
SFCGAL_CMAKE_BOOL=	GDAL_USE_SFCGAL
SFCGAL_LIB_DEPENDS=	libSFCGAL.so:databases/sfcgal
SPATIALITE_CMAKE_BOOL=	GDAL_USE_SPATIALITE
SPATIALITE_LIB_DEPENDS=	libspatialite.so:databases/spatialite
SQLITE_CMAKE_BOOL=	GDAL_USE_SQLITE3
SQLITE_USES=		sqlite
TILEDB_CMAKE_BOOL=	GDAL_USE_TILEDB
TILEDB_LIB_DEPENDS=	libtiledb.so:databases/tiledb
WEBP_CMAKE_BOOL=	GDAL_USE_WEBP
WEBP_LIB_DEPENDS=	libwebp.so:graphics/webp
XERCES_CMAKE_BOOL=	GDAL_USE_XERCES
XERCES_LIB_DEPENDS=	libxerces-c.so:textproc/xerces-c3
ZSTD_CMAKE_BOOL=	GDAL_USE_ZSTD
ZSTD_LIB_DEPENDS=	libzstd.so:archivers/zstd

post-patch:
# Clean up bundled libraries
	@${RM} -r ${WRKSRC}/alg/internal_libqhull/
	@${RM} -r ${WRKSRC}/frmts/gif/giflib/
	@${RM} -r ${WRKSRC}/frmts/gtiff/libgeotiff/
	@${RM} -r ${WRKSRC}/frmts/gtiff/libtiff/
	@${RM} -r ${WRKSRC}/frmts/jpeg/libjpeg/
	@${RM} -r ${WRKSRC}/frmts/jpeg/libjpeg12/
	@${RM} -r ${WRKSRC}/frmts/png/libpng/
	@${RM} -r ${WRKSRC}/frmts/zlib/
	@${RM} -r ${WRKSRC}/ogr/ogrsf_frmts/geojson/libjson/
	@${RM} -r ${WRKSRC}/third_party/LercLib/

post-install:
	${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
	${INSTALL_DATA} ${WRKSRC}/scripts/gdal-bash-completion.sh ${STAGEDIR}${PREFIX}/etc/bash_completion.d
	cd ${WRKSRC}/ && ${INSTALL_DATA} ${HEADER_FILES} ${STAGEDIR}${PREFIX}/include/
#	${INSTALL_DATA} ${WRKSRC}/libgdal.a ${STAGEDIR}${PREFIX}/lib/
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libgdal.so

.include <bsd.port.mk>