freebsd-ports/databases/duckdb/Makefile
Yuri Victorovich a313aafb0e databases/duckdb: Add pre-compiled sqlite extension; Fix version reported by DuckDB
Other extensions should be added as pre-compiled extensions the same way,
because otherwise DuckDB attempts to download pre-compiled extensions
as binaries which only works for Linux, and is also very insecure.
2023-11-15 22:40:47 -08:00

55 lines
1.5 KiB
Makefile

PORTNAME= duckdb
DISTVERSIONPREFIX= v
DISTVERSION= 0.9.2
PORTREVISION= 1
CATEGORIES= databases
MAINTAINER= yuri@FreeBSD.org
COMMENT= In-process SQL OLAP database management system
WWW= https://duckdb.org/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cmake:testing compiler:c++11-lang ssl
USE_GITHUB= yes
GH_TUPLE= duckdb:sqlite_scanner:ef91604:sqlite/extension/sqlite_scanner
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_OFF= BUILD_UNITTESTS
CMAKE_TESTING_ON= BUILD_UNITTESTS
CMAKE_TESTING_TARGET= ${ALL_TARGET} # hack: works as empty target
BINARY_ALIAS= git=false
OPTIONS_DEFINE= TPCE
OPTIONS_DEFAULT= TPCE
OPTIONS_GROUP= EXTENSIONS
OPTIONS_GROUP_EXTENSIONS= AUTOCOMPLETE EXCEL FTS HTTPFS ICU INET JEMALLOC JSON PARQUET SQLSMITH TPCDS TPCH VISUALIZER \
SQLITE_SCANNER
EXTENSIONS_DESC= Extensions:
.for opt in ${OPTIONS_GROUP_EXTENSIONS}
. if "${${opt}_BROKEN}" == ""
OPTIONS_DEFAULT+= ${opt}
. endif
${opt}_DESC= Build the ${opt} extension
DUCKDB_EXTENSIONS+= ;${opt:tl}
${opt}_PLIST_FILES= lib/lib${opt:tl}_extension.a
.endfor
CMAKE_ARGS= -DBUILD_EXTENSIONS="${DUCKDB_EXTENSIONS:tW:S/ //g:S/^;//}" \
-DDUCKDB_MAJOR_VERSION=${PORTVERSION:R:R} \
-DDUCKDB_MINOR_VERSION=${PORTVERSION:R:E} \
-DDUCKDB_PATCH_VERSION=${PORTVERSION:E}
SQLITE_SCANNER_CXXFLAGS= -I${WRKSRC}/extension/sqlite_scanner/src/include # workaround for the header not being found
TPCE_DESC= Enable building of the TPC-E tool
TPCE_CMAKE_BOOL= BUILD_TPCE
post-test: # run tests
@cd ${TEST_WRKSRC} && test/unittest
.include <bsd.port.mk>