diff options
Diffstat (limited to 'dev-db/sqlite/sqlite-3.8.2-r1.ebuild')
-rw-r--r-- | dev-db/sqlite/sqlite-3.8.2-r1.ebuild | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/dev-db/sqlite/sqlite-3.8.2-r1.ebuild b/dev-db/sqlite/sqlite-3.8.2-r1.ebuild new file mode 100644 index 0000000..ae5d40f --- /dev/null +++ b/dev-db/sqlite/sqlite-3.8.2-r1.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +inherit eutils flag-o-matic versionator autotools-multilib + +MULTILIB_PARALLEL_PHASES="src_configure src_compile src_test" + +SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))" +DOC_PV="${SRC_PV}" +# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))" + +DESCRIPTION="A SQL Database Engine in a C Library" +HOMEPAGE="http://sqlite.org/" +SRC_URI="doc? ( http://sqlite.org/2013/${PN}-doc-${DOC_PV}.zip ) + tcl? ( http://sqlite.org/2013/${PN}-src-${SRC_PV}.zip ) + !tcl? ( + test? ( http://sqlite.org/2013/${PN}-src-${SRC_PV}.zip ) + !test? ( http://sqlite.org/2013/${PN}-autoconf-${SRC_PV}.tar.gz ) + )" + +LICENSE="public-domain" +SLOT="3" +KEYWORDS="~amd64" +IUSE="debug doc icu +readline secure-delete static-libs tcl test" + +RDEPEND="icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) + readline? ( sys-libs/readline[${MULTILIB_USEDEP}] ) + tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + doc? ( app-arch/unzip ) + tcl? ( app-arch/unzip ) + test? ( + app-arch/unzip + dev-lang/tcl + ) + abi_x86_32? ( + !<=app-emulation/emul-linux-x86-baselibs-20130224-r9 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + )" + +amalgamation() { + use !tcl && use !test +} + +pkg_setup() { + if amalgamation; then + S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" + else + S="${WORKDIR}/${PN}-src-${SRC_PV}" + fi +} + +src_prepare() { + if amalgamation; then + epatch "${FILESDIR}/${PN}-3.8.1-autoconf-dlopen_check.patch" + else + epatch "${FILESDIR}/${PN}-3.8.1-src-dlopen_check.patch" + epatch "${FILESDIR}/${PN}-3.8.1-tests-icu-52.patch" + fi + + AUTOTOOLS_AUTORECONF=yes + autotools-multilib_src_prepare + + # At least ppc-aix, x86-interix and *-solaris need newer libtool. + # use prefix && eautoreconf +} + +src_configure() { + # `configure` from amalgamation tarball does not add -DSQLITE_DEBUG or -DNDEBUG flag. + if amalgamation; then + if use debug; then + append-cppflags -DSQLITE_DEBUG + else + append-cppflags -DNDEBUG + fi + fi + + # Support column metadata functions. + # http://sqlite.org/c3ref/column_database_name.html + # http://sqlite.org/c3ref/table_column_metadata.html + append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA + + # Support Full-Text Search versions 3 and 4. + # http://sqlite.org/fts3.html + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 + + # Support R*Trees. + # http://sqlite.org/rtree.html + append-cppflags -DSQLITE_ENABLE_RTREE + + # Support soundex() function. + # http://sqlite.org/lang_corefunc.html#soundex + append-cppflags -DSQLITE_SOUNDEX + + # Support unlock notification. + # http://sqlite.org/unlock_notify.html + append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY + + if use icu; then + append-cppflags -DSQLITE_ENABLE_ICU + if amalgamation; then + sed -e "s/LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + else + sed -e "s/TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + fi + fi + + # Enable secure_delete pragma. + # http://sqlite.org/pragma.html#pragma_secure_delete + if use secure-delete; then + append-cppflags -DSQLITE_SECURE_DELETE -DSQLITE_CHECK_PAGES -DSQLITE_CORE + fi + + # Starting from 3.6.23, SQLite has locking strategies that are specific to + # OSX. By default they are enabled, and use semantics that only make sense + # on OSX. However, they require gethostuuid() function for that, which is + # only available on OSX starting from 10.6 (Snow Leopard). For earlier + # versions of OSX we have to disable all this nifty locking options, as + # suggested by upstream. + if [[ "${CHOST}" == *-darwin[56789] ]]; then + append-cppflags -DSQLITE_ENABLE_LOCKING_STYLE="0" + fi + + if [[ "${CHOST}" == *-mint* ]]; then + append-cppflags -DSQLITE_OMIT_WAL + fi + + # `configure` from amalgamation tarball does not support + # --with-readline-inc and --(enable|disable)-tcl options. + autotools-multilib_src_configure \ + --enable-$(amalgamation && echo dynamic-extensions || echo load-extension) \ + --enable-threadsafe \ + $(use_enable readline) \ + $(use_enable static-libs static) \ + $(amalgamation || echo --with-readline-inc="-I${EPREFIX}/usr/include/readline") \ + $(amalgamation || use_enable debug) \ + $(amalgamation || echo --enable-tcl) +} + +src_compile() { + autotools-multilib_src_compile\ + TCLLIBDIR="${EPREFIX}/usr/@GET_LIBDIR@/${P}" +} + +src_test() { + if [[ "${EUID}" -eq 0 ]]; then + ewarn "Skipping tests due to root permissions" + return + fi + + autotools-multilib_src_test $(use debug && echo fulltest || echo test) +} + +src_install() { + autotools-multilib_src_install \ + HAVE_TCL="$(usex tcl 1 "")" \ + TCLLIBDIR="${EPREFIX}/usr/@GET_LIBDIR@/${P}" + + doman sqlite3.1 + + if use doc; then + find "${WORKDIR}/${PN}-doc-${DOC_PV}" -name ".[_~]*" -delete + dohtml -A ico,odg,pdf,svg -r "${WORKDIR}/${PN}-doc-${DOC_PV}/" + fi +} |