80 lines
3.3 KiB
Makefile
80 lines
3.3 KiB
Makefile
PORTNAME= duckdb
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 1.3.2
|
|
CATEGORIES= databases
|
|
|
|
MAINTAINER= yuri@FreeBSD.org
|
|
COMMENT= In-process SQL OLAP database management system
|
|
WWW= https://duckdb.org/ \
|
|
https://github.com/duckdb/duckdb
|
|
|
|
LICENSE= MIT
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
USES= cmake:testing compiler:c++11-lang ssl
|
|
USE_GITHUB= yes
|
|
GH_TUPLE= \
|
|
duckdb:duckdb-delta:6d626173e9efa6615c25eb08d979d1372100d5db:delta/extension/delta \
|
|
duckdb:duckdb-encodings:dc3c206e237b517abcdd95ebe40d02dcd0f71084:encodings/extension/encodings \
|
|
duckdb:duckdb-excel:cf00672f2d16685d9aefcca48c6a04d8c37d7015:excel/extension/excel \
|
|
duckdb:duckdb-fts:3aa6a180b9c101d78070f5f7214c27552bb091c8:fts/extension/fts \
|
|
duckdb:duckdb-httpfs:af7bcaf40c775016838fef4823666bd18b89b36b:httpfs/extension/httpfs \
|
|
duckdb:duckdb-inet:eb2455703ca0665e69b9fd20fd1d8816c547cb49:inet/extension/inet \
|
|
duckdb:duckdb-spatial:d1ffa8c21fe1f90064956a119491e6d6d993192a:spatial/extension/spatial \
|
|
duckdb:duckdb-sqlite:ed38d770e0bbf1d5a6660ec1887cc5abef65be15:sqlite/extension/sqlite_scanner \
|
|
duckdb:duckdb-sqlsmith:3b1ad2bd7234c1143b4a819517873f4b465168d2:sqlsmith/extension/sqlsmith \
|
|
duckdb:duckdb-vss:ccfa7c9c1f1f540fa7f433a93d32bed772aa44f4:vss/extension/vss
|
|
# the list of out-of-tree extensions is here: .github/config/out_of_tree_extensions.cmake
|
|
|
|
CXXFLAGS+= -I${WRKSRC}/extension/inet/src/include
|
|
CXXFLAGS+= -I${WRKSRC}/extension/sqlsmith/src/include # https://github.com/duckdb/duckdb/issues/13971
|
|
CXXFLAGS+= -I${WRKSRC}/extension/fts/extension/fts/include # --""--
|
|
CXXFLAGS+= -I${WRKSRC}/extension/httpfs/extension/httpfs/include # --""--
|
|
CMAKE_ON= BUILD_SHARED_LIBS
|
|
CMAKE_OFF= BUILD_UNITTESTS
|
|
CMAKE_ARGS= -DOVERRIDE_GIT_DESCRIBE=v${DISTVERSION}-0-g0000000000
|
|
CMAKE_TESTING_ON= BUILD_UNITTESTS # 1 test fails, Signal 11 during tests, see https://github.com/duckdb/duckdb/issues/13972
|
|
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 FTS HTTPFS ICU INET JSON PARQUET SQLSMITH TPCDS TPCH \
|
|
SQLITE_SCANNER VSS
|
|
|
|
EXTENSIONS_DESC= Extensions:
|
|
|
|
.for opt in ${OPTIONS_GROUP_EXTENSIONS}
|
|
. if "${${opt}_BROKEN}" == ""
|
|
OPTIONS_DEFAULT+= ${opt}
|
|
. endif
|
|
${opt}_DESC= Build the ${opt} extension
|
|
DUCKDB_EXTENSIONS+= ${PORT_OPTIONS:M${opt}:S/${opt}/;${opt:tl}/}
|
|
${opt}_PLIST_FILES= ${PORT_OPTIONS:M${opt}:S/${opt}/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}
|
|
CMAKE_ARGS+= -DSKIP_EXTENSIONS=jemalloc # temporary? see https://github.com/duckdb/duckdb/issues/14363#issuecomment-2412095766
|
|
|
|
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
|
|
|
|
VSS_CXXFLAGS= -I${WRKSRC}/extension/vss/src/include # workaround for the header not being found
|
|
|
|
post-extract: # remove the jemalloc extension directory just in case
|
|
@${RM} -r ${WRKSRC}/extension/jemalloc
|
|
|
|
post-test: # run tests
|
|
@cd ${TEST_WRKSRC} && test/unittest
|
|
|
|
# tests as of 1.3.2: All tests passed (50 skipped tests, 385129 assertions in 3789 test cases)
|
|
|
|
.include <bsd.port.mk>
|