# -*- 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.49.1 revision 0 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}/2025 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 0a330872e40ee479f1b4a908cc663775090e8a70 \ sha256 106642d8ccb36c5f7323b64e4152e9b719f7c0215acf5bfeac3d5e7f97b59254 \ size 3226385 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 post-patch { # See https://sqlite.org/forum/forumpost/566126d8c7 this should not # be needed for future versions file copy -force ${filespath}/auto.def ${worksrcpath} file copy -force ${filespath}/Makefile.in ${worksrcpath} file copy -force ${filespath}/sqlite-config.tcl ${worksrcpath}/autosetup } # 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 { depends_lib port:tcl configure.dir ${worksrcpath}/tea build.dir ${configure.dir} patch.dir ${configure.dir} configure.args --exec-prefix=${prefix} \ --with-tcl=${prefix}/lib \ --with-tclinclude=${prefix}/include configure.cppflags-prepend \ -I${worksrcpath} patchfiles patch-tea-generic-tclsqlite3.c.diff platform darwin { if {${os.major} < 11} { patchfiles-append \ patch-tea-configure.diff } } } 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. checksums rmd160 ac61414b3b8c3e7ab63d8dd78cd339767892063f \ sha256 4404d93cbce818b1b98ca7259d0ba9b45db76f2fdd9373e56f2d29b519f4d43b \ size 14372402 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 destroot { xinstall -m 755 ${worksrcpath}/sqldiff ${destroot}${prefix}/bin xinstall -m 755 ${worksrcpath}/sqlite3_analyzer ${destroot}${prefix}/bin } }