Files
2026-07-07 10:02:47 -05:00

150 lines
5.6 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup clang_dependency 1.0
name sqlite3
# don't forget to update the checksums for sqlite3-tools when updating sqlite3
version 3.53.3
revision 0
epoch 1
categories databases
license public-domain
maintainers {mps @Schamschula} openmaintainer
description an embedded SQL database engine
long_description SQLite3 is an SQL database engine in a C library. \
Programs that link the SQLite3 library can have SQL \
database access without running a separate RDBMS \
process. The distribution comes with a standalone \
command-line access program (sqlite3) that can be used \
to administer an SQLite3 database and which serves as \
an example of how to use the SQLite3 library.
homepage https://www.sqlite.org
master_sites ${homepage}/2026
set padded_ver [string range [subst [regsub -all {\.([0-9]+)} "${version}.0.0" {[format %02d \1]}]] 0 6]
distname sqlite-autoconf-${padded_ver}
checksums rmd160 06920b3d28141e221f8b0bec1a4d46f6b4560448 \
sha256 c917d7db16648ec95f714974ace5e5dcf46b7dc70e26600a0a102a3141125db0 \
size 3282443
depends_lib port:libedit \
port:ncurses \
port:zlib
if {${os.platform} eq "darwin" && ${os.major} < 11 && ${cxx_stdlib} eq "libc++"} {
# This port is in the dependency chain for clang 3.7 and later
clang_dependency.extra_versions 3.7
}
if {!${configure.ccache}} {
configure.env CCACHE=none
}
configure.args --enable-threadsafe \
--disable-readline \
--enable-editline \
AWK=/usr/bin/awk
build.type gnu
livecheck.type regex
livecheck.url ${homepage}/news.html
livecheck.regex {>Version (3(?:\.\d+)+)<}
platform darwin 8 {
# See http://trac.macports.org/ticket/32930 for why this is needed.
configure.cppflags-append -DSQLITE_WITHOUT_ZONEMALLOC
}
if {${subport} eq ${name}} {
patchfiles no-rpath.patch \
patch-sqlite3_fix-atomic-clang-4.diff
# search in worksrcpath for sqlite3.h first -- don't pick up an installed one!
configure.cppflags-prepend -DSQLITE_DISABLE_INTRINSIC \
-DSQLITE_ENABLE_COLUMN_METADATA \
-DSQLITE_ENABLE_FTS3_PARENTHESIS \
-DSQLITE_ENABLE_FTS4 \
-DSQLITE_ENABLE_FTS5 \
-DSQLITE_ENABLE_JSON1 \
-DSQLITE_ENABLE_RTREE \
-DSQLITE_SECURE_DELETE \
-DSQLITE_ENABLE_STAT4 \
-DSQLITE_ENABLE_UNLOCK_NOTIFY \
-DSQLITE_SOUNDEX \
-I${worksrcpath}
post-build {
system -W ${worksrcpath} "install_name_tool -id [shellescape ${prefix}/lib/libsqlite3.0.dylib] libsqlite3.dylib"
}
post-destroot {
xinstall -m 644 ${worksrcpath}/${name}.1 ${destroot}${prefix}/share/man/man1
}
}
subport ${name}-tcl {
PortGroup obsolete 1.0
version 3.53.3
revision 1
replaced_by ${name}-tcl8
# Can be removed after 2027-07-07
}
subport ${name}-tcl8 {}
subport ${name}-tcl9 {}
if {[string match *-tcl? $subport]} {
set tclport tcl[string index $subport end]
set tclshver [expr {$tclport eq "tcl8" ? "8.6" : "9.0"}]
depends_lib port:${tclport} \
port:zlib
configure.dir ${worksrcpath}/tea
build.dir ${configure.dir}
patch.dir ${configure.dir}
configure.args --exec-prefix=${prefix} \
--tcl-stubs \
--with-tcl=${prefix}/lib/${tclport} \
--with-tclsh=${prefix}/bin/tclsh${tclshver}
configure.env-append autosetup_tclsh=${prefix}/bin/tclsh${tclshver}
configure.cppflags -I${worksrcpath} \
-I${prefix}/include/${tclport} \
-I${prefix}/include
configure.ldflags -L${prefix}/lib/${tclport} \
-L${prefix}/lib
}
subport ${name}-tools {
distname sqlite-src-${padded_ver}
description A bundle of command-line tools for managing SQLite \
database files
long_description {*}${description}, including the sqldiff program and the \
sqlite3_analyzer program.
conflicts sqlcipher-tools
checksums rmd160 dd7831b8dfdc0f29daa48031fc720d211b951967 \
sha256 bb80bf8a3bffc19241ce8aba5a4bc74e9c3980013cb0b5f0f0976a99516942af \
size 14537772
use_zip yes
depends_lib port:tcl \
port:zlib
patchfiles patch-sqlite3-tools_fix-atomic-clang-4.diff
configure.args --with-tcl=${prefix}/lib
build.target sqldiff sqlite3_analyzer sqlite3_rsync
destroot {
xinstall -m 755 ${worksrcpath}/sqldiff ${destroot}${prefix}/bin
xinstall -m 755 ${worksrcpath}/sqlite3_analyzer ${destroot}${prefix}/bin
xinstall -m 755 ${worksrcpath}/sqlite3_rsync ${destroot}${prefix}/bin
}
}