# Created by: Ying-Chieh Liao # $FreeBSD: head/databases/sqlite3/Makefile 568415 2021-03-14 20:33:03Z amdmi3 $ PORTNAME= sqlite3 DISTVERSION= 3.34.1 PORTEPOCH= 1 CATEGORIES= databases MASTER_SITES= https://www.sqlite.org/2021/ https://www2.sqlite.org/2021/ https://www3.sqlite.org/2021/ DISTNAME= sqlite-src-${PORTVERSION:C/\.([[:digit:]])[[:>:]]/0\1/g:S/.//g}00 MAINTAINER= pavelivolkov@gmail.com COMMENT= SQL database engine in a C library LICENSE= PD USES= libtool pathfix zip USE_LDCONFIG= yes GNU_CONFIGURE= yes MAKE_JOBS_UNSAFE= yes ALL_TARGET= all CONFIGURE_ENV= TCLSH_CMD="${TCLSH}" PLIST_SUB= TCL_VER="${TCL_VER}" # Compilation Options For SQLite https://www.sqlite.org/compile.html OPTIONS_DEFINE= FTS4 URI URI_AUTHORITY METADATA \ DIRECT_READ MEMMAN SECURE_DELETE UNLOCK_NOTIFY THREADS \ EXTENSION ARMOR STMT DBPAGE DBSTAT FTS5 RBU NULL_TRIM \ LIKENOTBLOB STSHELL FTS3_TOKEN UNKNOWN_SQL SORT_REF \ NORMALIZE DQS TRUSTED_SCHEMA TCL OPTIONS_SINGLE= RAMT OPTIONS_RADIO= STAT RL OPTIONS_GROUP= OPT_EXT OPT_FUNC UNICODE RTREEG OPTIONS_SUB= yes OPTIONS_GROUP_OPT_EXT= JSON1 SESSION OPTIONS_GROUP_OPT_FUNC= OFFSET SER1 SOUNDEX OPT_EXT_DESC= Optional extensions OPT_FUNC_DESC= Optional functions URI_DESC= Enable use the URI filename URI_AUTHORITY_DESC= Allow convert URL into a UNC SOUNDEX_DESC= Enable the soundex() SQL function METADATA_DESC= Enable column metadata DIRECT_READ_DESC= File is read directly from disk MEMMAN_DESC= Allow it to release unused memory SECURE_DELETE_DESC= Overwrite deleted information with zeros UNLOCK_NOTIFY_DESC= Enable notification on unlocking EXTENSION_DESC= Allow loadable extensions STSHELL_DESC= Statically link libsqlite3 into shell NORMALIZE_DESC= Enable normalized sql function TCL_DESC= Enable tcl extension and sqlite_analyzer # https://www.sqlite.org/compile.html#dqs DQS_DESC= Double-quoted String Literals # https://sqlite.org/compile.html#enable_null_trim NULL_TRIM_DESC= Omits NULL columns at the ends of rows # http://www.sqlite.org/compile.html#enable_offset_sql_func OFFSET_DESC= Enable sqlite_offset() returning record's file offset # https://www.sqlite.org/compile.html#enable_deserialize SER1_DESC= Enable the sqlite3_[de]serialize() interface # https://www.sqlite.org/sessionintro.html SESSION_DESC= Enable the session extension # https://sqlite.org/compile.html#like_doesnt_match_blobs LIKENOTBLOB_DESC= LIKE does not match blobs # https://www.sqlite.org/compile.html#enable_api_armor ARMOR_DESC= Detect misuse of the API # http://sqlite.org/compile.html#enable_unknown_sql_function UNKNOWN_SQL_DESC= Suppress unknown function errors # https://www.sqlite.org/fts3.html # https://www.sqlite.org/compile.html#enable_fts3_parenthesis FTS4_DESC= Enable FTS3/4 (Full Text Search) module # https://www.sqlite.org/fts5.html FTS5_DESC= Enable version 5 full-text search engine # https://www.sqlite.org/compile.html#enable_fts3_tokenizer # https://www.sqlite.org/fts3.html#f3tknzr FTS3_TOKEN_DESC= Enable two-args version fts3_tokenizer # https://www.sqlite.org/json1.html JSON1_DESC= Enable the JSON1 extension # https://www.sqlite.org/rbu.html RBU_DESC= Enable the resumable bulk update # https://www.sqlite.org/c3ref/stmt_scanstatus.html STMT_DESC= Prepared statement scan status # https://www.sqlite.org/compile.html#enable_sorter_references SORT_REF_DESC= To use references in the sorter # https://www.sqlite.org/compile.html#trusted_schema TRUSTED_SCHEMA_DESC= SQL functions & virtual tables are considered unsafe # https://www.sqlite.org/tempfiles.html#tempstore OPTIONS_SINGLE_RAMT= TS0 TS1 TS2 TS3 RAMT_DESC= Where to store temporary file TS0_DESC= Always use temporary file TS1_DESC= File by default, change allowed PRAGMA TS2_DESC= Memory by default, change allowed PRAGMA TS3_DESC= Always use memory # https://www.sqlite.org/queryplanner-ng.html#qpstab OPTIONS_RADIO_STAT= STAT3 STAT4 STAT_DESC= Which query planner to use, stability or ... STAT3_DESC= Collect histogram data from leftmost column STAT4_DESC= Collect histogram data from all columns # https://sqlite.org/compile.html#enable_dbpage_vtab DBPAGE_DESC= Enable DBPAGE Virtual Table # https://www.sqlite.org/dbstat.html DBSTAT_DESC= Enable DBSTAT Virtual Table # https://www.sqlite.org/fts3.html#tokenizer OPTIONS_GROUP_UNICODE= ICU UNICODE61 UNICODE61_DESC= Unicode Version 6.1 tokenizer # https://www.sqlite.org/rtree.html OPTIONS_GROUP_RTREEG= RTREE RTREE_INT GEOPOLY RTREEG_DESC= Index type for range queries RTREE_DESC= Enable R*Tree module RTREE_INT_DESC= Store 32-bit sig int (no float) coordinates # https://www.sqlite.org/geopoly.html GEOPOLY_DESC= Uses the GeoJSON notation (RFC-7946) GEOPOLY_IMPLIES= RTREE OPTIONS_RADIO_RL= READLINE LIBEDIT RL_DESC= Command line editing library OPTIONS_DEFAULT= FTS4 URI METADATA SECURE_DELETE UNLOCK_NOTIFY THREADS \ EXTENSION TS1 UNICODE61 RTREE DBSTAT STSHELL LIBEDIT \ FTS3_TOKEN FTS5 DQS JSON1 # SECURE_DELETE, UNLOCK_NOTIFY, DBSTAT (since 41.0) used by www/firefox et al. # RTREE used by graphics/mapnik, databases/spatialite # FTS3_TOKEN used by audio/clementine-player, mail/thunderbird, www/seamonkey # FTS5 used by sysutils/tracker # JSON1 used by net-im/py-matrix-synapse # The default numeric file permissions for newly created database files under unix. # If not specified, the default is 0644 which means that the files is globally # readable but only writable by the creator. .ifdef DEFAULT_FILE_PERMISSIONS CPPFLAGS+= -DSQLITE_DEFAULT_FILE_PERMISSIONS=${DEFAULT_FILE_PERMISSIONS} .endif # Use an in-ram database for temporary tables (never,no,yes,always), TS0_CPPFLAGS= -DSQLITE_TEMP_STORE=0 TS1_CPPFLAGS= -DSQLITE_TEMP_STORE=1 TS2_CPPFLAGS= -DSQLITE_TEMP_STORE=2 TS3_CPPFLAGS= -DSQLITE_TEMP_STORE=3 RTREE_CPPFLAGS= -DSQLITE_ENABLE_RTREE=1 RTREE_INT_CPPFLAGS= -DSQLITE_RTREE_INT_ONLY=1 GEOPOLY_CPPFLAGS= -DSQLITE_ENABLE_GEOPOLY=1 FTS4_CPPFLAGS= -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 FTS5_CONFIGURE_ENABLE= fts5 FTS5_LIBS= -lm FTS3_TOKEN_CPPFLAGS= -DSQLITE_ENABLE_FTS3_TOKENIZER=1 SOUNDEX_CPPFLAGS= -DSQLITE_SOUNDEX=1 MEMMAN_CPPFLAGS= -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 SECURE_DELETE_CPPFLAGS= -DSQLITE_SECURE_DELETE=1 UNLOCK_NOTIFY_CPPFLAGS= -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 METADATA_CPPFLAGS= -DSQLITE_ENABLE_COLUMN_METADATA=1 STAT3_CPPFLAGS= -DSQLITE_ENABLE_STAT3=1 STAT4_CPPFLAGS= -DSQLITE_ENABLE_STAT4=1 DBPAGE_CPPFLAGS= -DSQLITE_ENABLE_DBPAGE_VTAB=1 DBSTAT_CPPFLAGS= -DSQLITE_ENABLE_DBSTAT_VTAB=1 URI_CPPFLAGS= -DSQLITE_USE_URI=1 URI_AUTHORITY_CPPFLAGS= -DSQLITE_ALLOW_URI_AUTHORITY=1 DIRECT_READ_CPPFLAGS= -DSQLITE_DIRECT_OVERFLOW_READ=1 ARMOR_CPPFLAGS= -DSQLITE_ENABLE_API_ARMOR=1 STMT_CPPFLAGS= -DSQLITE_ENABLE_STMT_SCANSTATUS=1 EXTENSION_CONFIGURE_ENABLE= dynamic-extensions THREADS_CONFIGURE_ENABLE= threadsafe THREADS_LIBS= -lpthread TRUSTED_SCHEMA_CPPFLAGS= -DSQLITE_TRUSTED_SCHEMA=0 ICU_BUILD_DEPENDS= ${LOCALBASE}/bin/icu-config:devel/icu ICU_LIB_DEPENDS= libicudata.so:devel/icu ICU_CPPFLAGS= `${LOCALBASE}/bin/icu-config --cppflags` -DSQLITE_ENABLE_ICU=1 ICU_LIBS= `${LOCALBASE}/bin/icu-config --ldflags` UNICODE61_CPPFLAGS= "" UNICODE61_CPPFLAGS_OFF= -DSQLITE_DISABLE_FTS3_UNICODE=1 LIBEDIT_CONFIGURE_ENABLE= editline LIBEDIT_USES= libedit READLINE_CONFIGURE_ENABLE= readline READLINE_USES= readline JSON1_CONFIGURE_ENABLE= json1 RBU_CPPFLAGS= -DSQLITE_ENABLE_RBU=1 LIKENOTBLOB_CPPFLAGS= -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 STSHELL_CONFIGURE_ENABLE= static-shell SESSION_CONFIGURE_ENABLE= session UNKNOWN_SQL_CPPFLAGS= -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION=1 NULL_TRIM_CPPFLAGS= -DSQLITE_ENABLE_NULL_TRIM=1 OFFSET_CPPFLAGS= -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1 SER1_CPPFLAGS= -DSQLITE_ENABLE_DESERIALIZE=1 SORT_REF_CPPFLAGS= -DSQLITE_ENABLE_SORTER_REFERENCES=1 NORMALIZE_CPPFLAGS= -DSQLITE_ENABLE_NORMALIZE=1 DQS_CPPFLAGS= -DSQLITE_DQS=3 DQS_CPPFLAGS_OFF= -DSQLITE_DQS=0 TCL_CONFIGURE_ENABLE= tcl TCL_ALL_TARGET= sqlite3_analyzer TCL_USES= tcl TCL_USES_OFF= tcl:build .include # Platform Configuration CPPFLAGS+= -DHAVE_ISNAN=1 -DHAVE_MALLOC_USABLE_SIZE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_USLEEP=1 -DHAVE_STRCHRNUL=1 CFLAGS_powerpc64le= -DSQLITE_BYTEORDER=1234 post-configure: @${ECHO_MSG} "===> CONFIGURE_ARGS=${CONFIGURE_ARGS}" @${ECHO_MSG} "===> CPPFLAGS=${CPPFLAGS}" @${ECHO_MSG} "===> CFLAGS=${CFLAGS}" @${ECHO_MSG} "===> LDFLAGS=${LDFLAGS}" @${ECHO_MSG} "===> LIBS=${LIBS}" post-build: .if ${ARCH}=="i386" @${ECHO_MSG} "===> WARNING: on ${ARCH} don't pass atof1-* tests" .endif post-stage: ${SETENV} LD_LIBMAP_DISABLE=1 ldd -a "${STAGEDIR}${PREFIX}/bin/${PORTNAME}" post-install: ${INSTALL_MAN} ${WRKSRC}/sqlite3.1 ${STAGEDIR}${PREFIX}/man/man1 ${RM} ${STAGEDIR}${PREFIX}/include/msvc.h ${SETENV} LD_LIBMAP_DISABLE=1 ldd -a "${STAGEDIR}${PREFIX}/bin/${PORTNAME}" "${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so" post-install-TCL-on: ${INSTALL_PROGRAM} ${WRKSRC}/sqlite3_analyzer ${STAGEDIR}${PREFIX}/bin # for compares with checksum from of the site sha1: checksum .if defined(SHA1) && !empty(SHA1) @sha1 -c ${SHA1} ${DISTDIR}/${ALLFILES} .else @sha1 ${DISTDIR}/${ALLFILES} .endif # For compare with checksum from of the site. Now, this is a NIST SHA3-256 hash. sha256 not suitable for compare. # But the creation of a new target does not justify the emergence of dependence on the perl5. # sha3sum maybe installed with p5-Digest-SHA3 port. # EXTRACT_DEPENDS=p5-Digest-SHA3:security/p5-Digest-SHA3; USES=perl5; USE_PERL5=extract; # @${PERL} -MDigest::SHA3 -le 'print Digest::SHA3->new(sha_256_hex)->add(<>)->hexdigest' < ${DISTDIR}/${ALLFILES} sha3: checksum @sha3sum -a 256 ${DISTDIR}/${ALLFILES} .include