1 |
< |
# $MidnightBSD: mports/databases/sqlite3/Makefile,v 1.10 2010/03/10 04:54:26 laffer1 Exp $ |
1 |
> |
# $MidnightBSD$ |
2 |
|
|
3 |
< |
PORTNAME= sqlite |
4 |
< |
PORTVERSION= 3.6.15 |
5 |
< |
CATEGORIES= databases lang tcl |
6 |
< |
MASTER_SITES= http://www.sqlite.org/ |
7 |
< |
.if defined(USE_THOL) |
8 |
< |
PKGNAMESUFFIX= -threads |
9 |
< |
.endif |
10 |
< |
DISTNAME= sqlite-${PORTVERSION} |
3 |
> |
PORTNAME= sqlite3 |
4 |
> |
PORTVERSION= 3.11.1 |
5 |
> |
CATEGORIES= databases |
6 |
> |
MASTER_SITES= https://www.sqlite.org/2016/ http://www2.sqlite.org/2016/ http://www3.sqlite.org/2016/ |
7 |
> |
DISTNAME= sqlite-autoconf-${PORTVERSION:C/\.([[:digit:]])[[:>:]]/0\1/g:S/.//g}00 |
8 |
|
|
9 |
|
MAINTAINER= ports@MidnightBSD.org |
10 |
< |
COMMENT= An SQL database engine in a C library w/ Tcl wrapper |
10 |
> |
COMMENT= SQL database engine in a C library |
11 |
> |
|
12 |
|
LICENSE= publicdom |
13 |
|
|
14 |
< |
SLAVEDIRS= databases/sqlite3-threads |
14 |
> |
USES= libtool ncurses pathfix |
15 |
> |
USE_LDCONFIG= yes |
16 |
> |
GNU_CONFIGURE= yes |
17 |
> |
INSTALL_TARGET= install-strip |
18 |
> |
CFLAGS+= -Os |
19 |
> |
CPPFLAGS+= -DHAVE_ISNAN=1 -DHAVE_MALLOC_USABLE_SIZE=1 |
20 |
|
|
21 |
< |
USE_GMAKE= YES |
19 |
< |
USE_GNOME= pkgconfig |
20 |
< |
USE_AUTOTOOLS= libtool:22 |
21 |
< |
USE_LDCONFIG= YES |
22 |
< |
GNU_CONFIGURE= YES |
23 |
< |
CONFIGURE_ARGS= --prefix=${PREFIX} --with-hints=freebsd.hints |
24 |
< |
CONFIGURE_ENV+= TCLLIBDIR=${PREFIX}/lib/${PORTNAME} |
25 |
< |
CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd6.1 |
21 |
> |
MAKE_JOBS_UNSAFE= yes |
22 |
|
|
23 |
< |
OPTIONS= DEBUG "Enable debugging & verbose explain" off \ |
24 |
< |
FTS3 "Enable FTS3 (Full Text Search) module" off \ |
25 |
< |
RAMTABLE "Store temporary tables in RAM" off \ |
26 |
< |
TCLWRAPPER "TCL wrapper for SQLITE" off \ |
27 |
< |
METADATA "Enable column metadata" on |
23 |
> |
# Compilation Options For SQLite https://www.sqlite.org/compile.html |
24 |
> |
OPTIONS_DEFINE= FTS4 UPD_DEL_LIMIT URI URI_AUTHORITY SOUNDEX METADATA \ |
25 |
> |
DIRECT_READ MEMMAN SECURE_DELETE UNLOCK_NOTIFY THREADS \ |
26 |
> |
EXTENSION ARMOR STMT DBSTAT FTS5 JSON1 RBU \ |
27 |
> |
LIKENOTBLOB STSHELL FTS3_TOKEN |
28 |
> |
OPTIONS_SINGLE= RAMT |
29 |
> |
OPTIONS_RADIO= STAT |
30 |
> |
OPTIONS_GROUP= UNICODE RTREEG RL |
31 |
|
|
32 |
< |
.if !defined(USE_THOL) |
33 |
< |
OPTIONS+= THREADS "Enable threads support" off |
34 |
< |
PLIST_SUB+= THOL="@comment " |
35 |
< |
CONFLICTS= sqlite-threads-3* |
36 |
< |
CONFIGURE_ARGS+= --disable-threadsafe |
37 |
< |
.else |
38 |
< |
CONFIGURE_ARGS+= --enable-threadsafe --enable-threads-override-locks \ |
39 |
< |
--enable-cross-thread-connections |
40 |
< |
PLIST_SUB+= THOL="" |
41 |
< |
CONFLICTS= sqlite-3* |
42 |
< |
.endif |
32 |
> |
UPD_DEL_LIMIT_DESC= ORDER BY and LIMIT on UPDATE and DELETE |
33 |
> |
URI_DESC= Enable use the URI filename |
34 |
> |
URI_AUTHORITY_DESC= Allow convert URL into a UNC |
35 |
> |
SOUNDEX_DESC= Enables the soundex() SQL function |
36 |
> |
METADATA_DESC= Enable column metadata |
37 |
> |
DIRECT_READ_DESC= File is read directly from disk |
38 |
> |
MEMMAN_DESC= Allows it to release unused memory |
39 |
> |
SECURE_DELETE_DESC= Overwrite deleted information with zeros |
40 |
> |
UNLOCK_NOTIFY_DESC= Enable notification on unlocking |
41 |
> |
EXTENSION_DESC= Allow loadable extensions |
42 |
> |
STSHELL_DESC= Statically link libsqlite3 into shell |
43 |
|
|
44 |
< |
.include <bsd.port.pre.mk> |
44 |
> |
# https://sqlite.org/compile.html#like_doesnt_match_blobs |
45 |
> |
LIKENOTBLOB_DESC= LIKE does not match blobs |
46 |
|
|
47 |
< |
.if defined(WITH_DEBUG) |
48 |
< |
CONFIGURE_ARGS+= --enable-debug |
49 |
< |
.endif |
47 |
> |
# https://www.sqlite.org/compile.html#enable_api_armor |
48 |
> |
ARMOR_DESC= Detect misuse of the API |
49 |
|
|
50 |
< |
.if defined(WITH_FTS3) |
51 |
< |
CFLAGS+= -DSQLITE_CORE=1 -DSQLITE_ENABLE_FTS3=1 |
52 |
< |
EXTRA_PATCHES+= ${FILESDIR}/fts3_patch-Makefile.in |
54 |
< |
.endif |
50 |
> |
# https://www.sqlite.org/fts3.html |
51 |
> |
# https://www.sqlite.org/compile.html#enable_fts3_parenthesis |
52 |
> |
FTS4_DESC= Enable FTS3/4 (Full Text Search) module |
53 |
|
|
54 |
< |
.if defined(WITH_RAMTABLE) |
55 |
< |
CONFIGURE_ARGS+= --enable-tempstore=yes |
58 |
< |
.endif |
54 |
> |
# https://www.sqlite.org/fts5.html |
55 |
> |
FTS5_DESC= Enable version 5 full-text search engine |
56 |
|
|
57 |
< |
.if defined(WITH_TCLWRAPPER) |
58 |
< |
TCL_V?= 8.4 |
59 |
< |
MAKE_ARGS+= TCLSH=tclsh${TCL_V} |
63 |
< |
MAKE_ENV+= TCL_VER=${TCL_V} |
64 |
< |
LIB_DEPENDS+= tcl${TCL_V:S/.//}:${PORTSDIR}/lang/tcl${TCL_V:S/.//} |
65 |
< |
CONFIGURE_ARGS+= --with-tcl=${LOCALBASE}/lib/tcl${TCL_V} |
66 |
< |
PLIST_SUB+= WITH_TCLWRAPPER="" |
67 |
< |
.else |
68 |
< |
CONFIGURE_ARGS+= --disable-tcl |
69 |
< |
PLIST_SUB+= WITH_TCLWRAPPER="@comment " |
70 |
< |
.endif |
57 |
> |
# https://www.sqlite.org/compile.html#enable_fts3_tokenizer |
58 |
> |
# https://www.sqlite.org/fts3.html#f3tknzr |
59 |
> |
FTS3_TOKEN_DESC= Enable two-args version fts3_tokenizer |
60 |
|
|
61 |
< |
.if !defined(WITHOUT_METADATA) |
62 |
< |
CFLAGS+= -DSQLITE_ENABLE_COLUMN_METADATA=1 |
74 |
< |
.endif |
61 |
> |
# https://www.sqlite.org/json1.html |
62 |
> |
JSON1_DESC= Enable the JSON1 extension |
63 |
|
|
64 |
< |
post-extract: |
65 |
< |
@${FIND} ${WRKSRC} -type d -name 'CVS' | ${XARGS} rm -r |
64 |
> |
# https://www.sqlite.org/rbu.html |
65 |
> |
RBU_DESC= Enable the Resumable Bulk Update |
66 |
|
|
67 |
< |
post-patch: |
68 |
< |
@${REINPLACE_CMD} -E -e "s|^(TLIBS.*)|\1 -lm|g" \ |
81 |
< |
${WRKSRC}/Makefile.in |
82 |
< |
@${REINPLACE_CMD} -e "s|tclsh \$$(TOP)|\$$(TCLSH) \$$(TOP)|g" \ |
83 |
< |
-e "s|./libtool|${LIBTOOL}|g" \ |
84 |
< |
-e "s|--mode=link|--mode=link --tag=CC|g" \ |
85 |
< |
-e "s|\$${HAVE_TCL:1=tcl_install}||" \ |
86 |
< |
${WRKSRC}/Makefile.in |
87 |
< |
@${ECHO} "config_TARGET_TCL_INC=\"-I${PREFIX}/include/tcl${TCL_V}\"" \ |
88 |
< |
> ${WRKSRC}/freebsd.hints |
89 |
< |
@${ECHO} "config_TARGET_TCL_LIBS=\"-L${PREFIX}/lib -ltcl${TCL_V:S/.//}\"" \ |
90 |
< |
>> ${WRKSRC}/freebsd.hints |
91 |
< |
${REINPLACE_CMD} -e "slfts3.cllg" \ |
92 |
< |
-e "slfts3_expr.cllg" ${WRKSRC}/tool/mksqlite3c.tcl |
67 |
> |
# https://www.sqlite.org/c3ref/stmt_scanstatus.html |
68 |
> |
STMT_DESC= Prepared Statement Scan Status |
69 |
|
|
70 |
< |
pre-configure: |
71 |
< |
.if defined(WITH_THREADS) || defined(USE_THOL) |
72 |
< |
@${REINPLACE_CMD} -e "s|-lpthread|${PTHREAD_LIBS}|g" \ |
73 |
< |
${WRKSRC}/configure |
74 |
< |
@${REINPLACE_CMD} -E -e "s|(Libs:.*)|\1 ${PTHREAD_LIBS}|" \ |
75 |
< |
-e "s|(Cflags:.*)|\1 ${PTHREAD_CFLAGS}|" \ |
76 |
< |
${WRKSRC}/sqlite.pc.in ${WRKSRC}/sqlite3.pc.in |
70 |
> |
# https://www.sqlite.org/tempfiles.html#tempstore |
71 |
> |
OPTIONS_SINGLE_RAMT= TS0 TS1 TS2 TS3 |
72 |
> |
RAMT_DESC= Where to store temporary file |
73 |
> |
TS0_DESC= Always use temporary file |
74 |
> |
TS1_DESC= File by default, change allowed PRAGMA |
75 |
> |
TS2_DESC= Memory by default, change allowed PRAGMA |
76 |
> |
TS3_DESC= Always use memory |
77 |
> |
|
78 |
> |
# https://www.sqlite.org/queryplanner-ng.html#qpstab |
79 |
> |
OPTIONS_RADIO_STAT= STAT3 STAT4 |
80 |
> |
STAT_DESC= Which query planner to use, Stability or ... |
81 |
> |
STAT3_DESC= collect histogram data from leftmost column |
82 |
> |
STAT4_DESC= collect histogram data from all columns |
83 |
> |
|
84 |
> |
# https://www.sqlite.org/dbstat.html |
85 |
> |
DBSTAT_DESC= Enable DBSTAT Virtual Table |
86 |
> |
|
87 |
> |
# https://www.sqlite.org/fts3.html#tokenizer |
88 |
> |
OPTIONS_GROUP_UNICODE= ICU UNICODE61 |
89 |
> |
UNICODE_DESC= Unicode support |
90 |
> |
UNICODE61_DESC= Unicode Version 6.1 tokenizer |
91 |
> |
|
92 |
> |
# https://www.sqlite.org/rtree.html |
93 |
> |
OPTIONS_GROUP_RTREEG= RTREE RTREE_INT |
94 |
> |
RTREEG_DESC= Index type for range queries |
95 |
> |
RTREE_DESC= Enable R*Tree module |
96 |
> |
RTREE_INT_DESC= Store 32-bit sig int (no float) coordinates |
97 |
> |
|
98 |
> |
OPTIONS_GROUP_RL= READLINES READLINEP EDITLINE |
99 |
> |
RL_DESC= Which command line editing library to use: |
100 |
> |
READLINES_DESC= the libreadline from system |
101 |
> |
READLINEP_DESC= the GNU libreadline from ports |
102 |
> |
EDITLINE_DESC= the BSD libedit from ports |
103 |
> |
READLINES_PREVENTS= READLINEP EDITLINE |
104 |
> |
READLINEP_PREVENTS= READLINES EDITLINE |
105 |
> |
EDITLINE_PREVENTS= READLINES READLINEP |
106 |
> |
|
107 |
> |
OPTIONS_DEFAULT= FTS4 URI METADATA SECURE_DELETE UNLOCK_NOTIFY THREADS \ |
108 |
> |
EXTENSION TS1 UNICODE61 RTREE DBSTAT STSHELL READLINES |
109 |
> |
# SECURE_DELETE, UNLOCK_NOTIFY, DBSTAT (since 41.0) used by www/firefox et al. |
110 |
> |
# RTREE used by graphics/mapnik, databases/spatialite |
111 |
> |
|
112 |
> |
PLIST_FILES= bin/sqlite3 include/sqlite3.h include/sqlite3ext.h \ |
113 |
> |
lib/libsqlite3.a lib/libsqlite3.so lib/libsqlite3.so.0 \ |
114 |
> |
lib/libsqlite3.so.0.8.6 libdata/pkgconfig/sqlite3.pc \ |
115 |
> |
man/man1/sqlite3.1.gz |
116 |
> |
|
117 |
> |
# The default numeric file permissions for newly created database files under unix. |
118 |
> |
# If not specified, the default is 0644 which means that the files is globally |
119 |
> |
# readable but only writable by the creator. |
120 |
> |
.ifdef DEFAULT_FILE_PERMISSIONS |
121 |
> |
CPPFLAGS+= -DSQLITE_DEFAULT_FILE_PERMISSIONS=${DEFAULT_FILE_PERMISSIONS} |
122 |
|
.endif |
123 |
|
|
124 |
< |
post-install: |
125 |
< |
.if defined(WITH_TCLWRAPPER) |
126 |
< |
@${MKDIR} ${PREFIX}/lib/sqlite |
127 |
< |
@(cd ${WRKSRC} && ${LIBTOOL} --mode=install ${INSTALL_DATA} \ |
128 |
< |
libtclsqlite3.la ${PREFIX}/lib/sqlite/) |
129 |
< |
@${INSTALL_DATA} ${FILESDIR}/pkgIndex.tcl ${PREFIX}/lib/sqlite/ |
130 |
< |
@${INSTALL_PROGRAM} ${WRKSRC}/.libs/tclsqlite3 ${PREFIX}/bin |
131 |
< |
@${MKDIR} ${EXAMPLESDIR} |
132 |
< |
@${INSTALL_DATA} ${FILESDIR}/example.tcl ${EXAMPLESDIR} |
124 |
> |
# Use an in-ram database for temporary tables (never,no,yes,always), |
125 |
> |
TS0_CPPFLAGS= -DSQLITE_TEMP_STORE=0 |
126 |
> |
TS1_CPPFLAGS= -DSQLITE_TEMP_STORE=1 |
127 |
> |
TS2_CPPFLAGS= -DSQLITE_TEMP_STORE=2 |
128 |
> |
TS3_CPPFLAGS= -DSQLITE_TEMP_STORE=3 |
129 |
> |
|
130 |
> |
RTREE_CPPFLAGS= -DSQLITE_ENABLE_RTREE=1 |
131 |
> |
RTREE_INT_CPPFLAGS= -DSQLITE_RTREE_INT_ONLY=1 |
132 |
> |
|
133 |
> |
FTS4_CPPFLAGS= -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 |
134 |
> |
FTS5_CONFIGURE_ENABLE= fts5 |
135 |
> |
FTS3_TOKEN_CPPFLAGS= -DSQLITE_ENABLE_FTS3_TOKENIZER=1 |
136 |
> |
|
137 |
> |
SOUNDEX_CPPFLAGS= -DSQLITE_SOUNDEX=1 |
138 |
> |
MEMMAN_CPPFLAGS= -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 |
139 |
> |
UPD_DEL_LIMIT_CPPFLAGS= -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 |
140 |
> |
UPD_DEL_LIMIT_PREVENTS= UPD_DEL_LIMIT |
141 |
> |
UPD_DEL_LIMIT_PREVENTS_MSG= this option may only be used when the library is built from source, not from the amalgamation. Please, do not select it with this port. |
142 |
> |
SECURE_DELETE_CPPFLAGS= -DSQLITE_SECURE_DELETE=1 |
143 |
> |
UNLOCK_NOTIFY_CPPFLAGS= -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 |
144 |
> |
METADATA_CPPFLAGS= -DSQLITE_ENABLE_COLUMN_METADATA=1 |
145 |
> |
STAT3_CPPFLAGS= -DSQLITE_ENABLE_STAT3=1 |
146 |
> |
STAT4_CPPFLAGS= -DSQLITE_ENABLE_STAT4=1 |
147 |
> |
DBSTAT_CPPFLAGS= -DSQLITE_ENABLE_DBSTAT_VTAB=1 |
148 |
> |
URI_CPPFLAGS= -DSQLITE_USE_URI=1 |
149 |
> |
URI_AUTHORITY_CPPFLAGS= -DSQLITE_ALLOW_URI_AUTHORITY=1 |
150 |
> |
DIRECT_READ_CPPFLAGS= -DSQLITE_DIRECT_OVERFLOW_READ=1 |
151 |
> |
ARMOR_CPPFLAGS= -DSQLITE_ENABLE_API_ARMOR=1 |
152 |
> |
STMT_CPPFLAGS= -DSQLITE_ENABLE_STMT_SCANSTATUS=1 |
153 |
> |
|
154 |
> |
EXTENSION_CONFIGURE_ENABLE= dynamic-extensions |
155 |
> |
|
156 |
> |
THREADS_CONFIGURE_ENABLE= threadsafe |
157 |
> |
THREADS_LDFLAGS= -lpthread |
158 |
> |
|
159 |
> |
ICU_BUILD_DEPENDS= ${LOCALBASE}/bin/icu-config:${PORTSDIR}/devel/icu |
160 |
> |
ICU_LIB_DEPENDS= libicudata.so:${PORTSDIR}/devel/icu |
161 |
> |
ICU_CPPFLAGS= `${LOCALBASE}/bin/icu-config --cppflags` -DSQLITE_ENABLE_ICU=1 |
162 |
> |
ICU_LDFLAGS= `${LOCALBASE}/bin/icu-config --ldflags` |
163 |
> |
|
164 |
> |
UNICODE61_CPPFLAGS_OFF= -DSQLITE_DISABLE_FTS3_UNICODE=1 |
165 |
> |
|
166 |
> |
READLINES_CONFIGURE_ON= --enable-readline |
167 |
> |
READLINES_USES= readline |
168 |
> |
READLINEP_CONFIGURE_ON= --enable-readline |
169 |
> |
READLINEP_USES= readline:port |
170 |
> |
EDITLINE_CONFIGURE_ENABLE= editline |
171 |
> |
EDITLINE_USES= libedit |
172 |
> |
|
173 |
> |
JSON1_CONFIGURE_ENABLE= json1 |
174 |
> |
|
175 |
> |
RBU_CPPFLAGS= -DSQLITE_ENABLE_RBU=1 |
176 |
> |
|
177 |
> |
LIKENOTBLOB_CPPFLAGS= -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 |
178 |
> |
|
179 |
> |
STSHELL_CONFIGURE_ENABLE= static-shell |
180 |
> |
|
181 |
> |
.include <bsd.mport.options.mk> |
182 |
> |
|
183 |
> |
post-configure: |
184 |
> |
@${ECHO_MSG} "===> CONFIGURE_ARGS=${CONFIGURE_ARGS}" |
185 |
> |
@${ECHO_MSG} "===> CPPFLAGS=${CPPFLAGS}" |
186 |
> |
@${ECHO_MSG} "===> CFLAGS=${CFLAGS}" |
187 |
> |
@${ECHO_MSG} "===> LDFLAGS=${LDFLAGS}" |
188 |
> |
|
189 |
> |
post-build: |
190 |
> |
.if ${ARCH}=="i386" |
191 |
> |
@${ECHO_MSG} "===> WARNING: on ${ARCH} don't pass atof1-* tests" |
192 |
|
.endif |
113 |
– |
.if defined(USE_THOL) |
114 |
– |
@${MKDIR} ${DATADIR} |
115 |
– |
@${TOUCH} ${DATADIR}/sqlite3_with_threads-override-locks |
116 |
– |
.endif |
193 |
|
|
194 |
< |
.include <bsd.port.post.mk> |
194 |
> |
.include <bsd.port.mk> |