diff options
author | Jory A. Pratt <anarchy@gentoo.org> | 2010-08-10 20:29:06 -0500 |
---|---|---|
committer | Jory A. Pratt <anarchy@gentoo.org> | 2010-08-10 20:29:06 -0500 |
commit | 78c67ac4c0299757f79bf73f27cfc9d04385670a (patch) | |
tree | 96ce8247afb9d3b7bb831ad58cb461a6824b7c69 | |
parent | Fixing firefox Manifest... (diff) | |
download | mozilla-78c67ac4c0299757f79bf73f27cfc9d04385670a.tar.gz mozilla-78c67ac4c0299757f79bf73f27cfc9d04385670a.tar.bz2 mozilla-78c67ac4c0299757f79bf73f27cfc9d04385670a.zip |
add sqlite-3.7.0.1 to ensure we do not end up with corrupt databases
-rw-r--r-- | dev-db/sqlite/Manifest | 7 | ||||
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.6.22-dlopen.patch | 11 | ||||
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.6.22-interix-fixes-amalgamation.patch | 24 | ||||
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.6.22-interix-fixes.patch | 22 | ||||
-rw-r--r-- | dev-db/sqlite/sqlite-3.7.0.1.ebuild | 153 |
5 files changed, 217 insertions, 0 deletions
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest new file mode 100644 index 00000000..7e0386c0 --- /dev/null +++ b/dev-db/sqlite/Manifest @@ -0,0 +1,7 @@ +AUX sqlite-3.6.22-dlopen.patch 452 RMD160 e9c7e77f3a7410e5b05f17bb6dfacf0270c1e036 SHA1 30adecb66b67ad401aafb56b6277f83bbfd1ea6f SHA256 840d684be229a898838560418d9f152a5c48095f7adce665f7ec75e4ef5c45f9 +AUX sqlite-3.6.22-interix-fixes-amalgamation.patch 717 RMD160 dfae5e2d22cddad5a2d375d4bbce639bc1da805e SHA1 c62fd67d3f32120c86d60299c426199169183107 SHA256 86995c345c3a51e396a4d520031231d7f76384e953829b58f9e9195ccb7a825b +AUX sqlite-3.6.22-interix-fixes.patch 614 RMD160 0492235d52c003620a84888c36541bd8f40b44d2 SHA1 48cacb6fcd220cf1875d1fc5c640ee9cd5b3dd2f SHA256 1990fca1660bf0781875dbc699078c9eac54a643e4fece82faf765f7ccf8aaad +DIST sqlite-3.7.0.1.tar.gz 3266205 RMD160 78ea992b42f0c3ed930ce8f6de641578b67c9584 SHA1 7591d19da31609c24f626fb933007ba4489e92e7 SHA256 9e2c01e581fb554b8b690b4e88af1da23d891c8b5f60e423e81ae00cf714e8fd +DIST sqlite-amalgamation-3.7.0.1.tar.gz 1486971 RMD160 7bb2935ea8c6410aabe327f3d017ce6ac1a46ced SHA1 c04f18527dec58188f8de43ff83a6cd03b73b0e9 SHA256 1232bf7dd0eea63c6867065d270059612aa69d684ba02ba036548c5bb901a55b +DIST sqlite_docs_3_7_0.zip 2919734 RMD160 2db2782af30eeee5e2c704ed8bb14c2434333a35 SHA1 33e16d4f693796a7bd53f984b5fbb60893fe1cc8 SHA256 320081cc40a72d569e59fddd2e9d2cdeb9eb199897a0dc285899c7d1d03df5c7 +EBUILD sqlite-3.7.0.1.ebuild 4622 RMD160 591d6721b8843297a364583d4ca90fe83b743300 SHA1 63eb5d3268527761025303140c7e62d65b2f90ed SHA256 1c3e4504ce5ab13d50ac9dc65b01a7c3ad592304d3b46ce4b410b55ceb9ded74 diff --git a/dev-db/sqlite/files/sqlite-3.6.22-dlopen.patch b/dev-db/sqlite/files/sqlite-3.6.22-dlopen.patch new file mode 100644 index 00000000..01375bf8 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.6.22-dlopen.patch @@ -0,0 +1,11 @@ +diff -ru sqlite-3.6.22/configure.ac sqlite-3.6.22.new/configure.ac +--- sqlite-3.6.22/configure.ac 2009-11-16 13:27:54.000000000 -0500 ++++ sqlite-3.6.22.new/configure.ac 2010-01-13 12:21:27.092738446 -0500 +@@ -637,6 +637,7 @@ + [use_loadextension=$enableval],[use_loadextension=no]) + if test "${use_loadextension}" = "yes" ; then + OPT_FEATURE_FLAGS="" ++ AC_SEARCH_LIBS(dlopen, dl) + else + OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" + fi diff --git a/dev-db/sqlite/files/sqlite-3.6.22-interix-fixes-amalgamation.patch b/dev-db/sqlite/files/sqlite-3.6.22-interix-fixes-amalgamation.patch new file mode 100644 index 00000000..cc087a83 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.6.22-interix-fixes-amalgamation.patch @@ -0,0 +1,24 @@ +--- sqlite-3.6.22.orig/sqlite3.c 2010-01-13 22:28:39 -0800 ++++ sqlite-3.6.22/sqlite3.c 2010-01-13 22:36:25 -0800 +@@ -21915,7 +21915,9 @@ + case ENODEV: + case ENXIO: + case ENOENT: ++#ifdef ESTALE + case ESTALE: ++#endif + case ENOSYS: + /* these should force the client to close the file and reconnect */ + +diff -ru sqlite-3.6.22.orig/sqlite3.c sqlite-3.6.22/sqlite3.c +--- sqlite-3.6.22.orig/sqlite3.c 2010-01-14 15:20:11 +0100 ++++ sqlite-3.6.22/sqlite3.c 2010-01-14 15:21:25 +0100 +@@ -23343,7 +23343,7 @@ + pFile->locktype = locktype; + #if !OS_VXWORKS + /* Always update the timestamp on the old file */ +- utimes(zLockFile, NULL); ++ utime(zLockFile, NULL); + #endif + return SQLITE_OK; + } diff --git a/dev-db/sqlite/files/sqlite-3.6.22-interix-fixes.patch b/dev-db/sqlite/files/sqlite-3.6.22-interix-fixes.patch new file mode 100644 index 00000000..dae98fd6 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.6.22-interix-fixes.patch @@ -0,0 +1,22 @@ +diff -ru sqlite-3.6.22.orig/src/os_unix.c sqlite-3.6.22/src/os_unix.c +--- sqlite-3.6.22.orig/src/os_unix.c 2010-01-15 09:00:06 +0100 ++++ sqlite-3.6.22/src/os_unix.c 2010-01-15 09:01:42 +0100 +@@ -436,7 +436,9 @@ + case ENODEV: + case ENXIO: + case ENOENT: ++#ifdef ESTALE + case ESTALE: ++#endif + case ENOSYS: + /* these should force the client to close the file and reconnect */ + +@@ -1862,7 +1864,7 @@ + pFile->locktype = locktype; + #if !OS_VXWORKS + /* Always update the timestamp on the old file */ +- utimes(zLockFile, NULL); ++ utime(zLockFile, NULL); + #endif + return SQLITE_OK; + } diff --git a/dev-db/sqlite/sqlite-3.7.0.1.ebuild b/dev-db/sqlite/sqlite-3.7.0.1.ebuild new file mode 100644 index 00000000..7fe13060 --- /dev/null +++ b/dev-db/sqlite/sqlite-3.7.0.1.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/sqlite/sqlite-3.7.0.ebuild,v 1.1 2010/07/23 19:40:05 arfrever Exp $ + +EAPI="3" + +inherit autotools eutils flag-o-matic multilib versionator + +DESCRIPTION="A SQL Database Engine in a C Library" +HOMEPAGE="http://www.sqlite.org/" +DOC_BASE="$(get_version_component_range 1-3)" +DOC_PV="$(replace_all_version_separators _ ${DOC_BASE})" + +SRC_URI=" + tcl? ( http://www.sqlite.org/${P}.tar.gz ) + !tcl? ( + test? ( http://www.sqlite.org/${P}.tar.gz ) + !test? ( http://www.sqlite.org/${PN}-amalgamation-${PV}.tar.gz ) + ) + doc? ( http://www.sqlite.org/${PN}_docs_${DOC_PV}.zip )" + +LICENSE="as-is" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug doc extensions +fts3 icu +readline secure-delete soundex tcl test +threadsafe unlock-notify" + +RDEPEND="icu? ( dev-libs/icu ) + readline? ( sys-libs/readline ) + tcl? ( dev-lang/tcl )" +DEPEND="${RDEPEND} + test? ( dev-lang/tcl ) + doc? ( app-arch/unzip )" + +src_prepare() { + if use icu; then + rm -f test/like.test + fi + + if use tcl || use test; then + epatch "${FILESDIR}/${PN}-3.6.22-interix-fixes.patch" + epatch "${FILESDIR}/${PN}-3.6.22-dlopen.patch" # bug 300836 + eautoreconf # dlopen.patch patches configure.ac + else + epatch "${FILESDIR}/${PN}-3.6.22-interix-fixes-amalgamation.patch" + fi + + eautoreconf # for MiNT and interix + epunt_cxx +} + +src_configure() { + # Support column metadata, bug #266651 + append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA + + # Support R-trees, bug #257646 + append-cppflags -DSQLITE_ENABLE_RTREE + + if use icu; then + append-cppflags -DSQLITE_ENABLE_ICU + if use tcl || use test; then + # Normal tarball. + sed -e "s/TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + else + # Amalgamation tarball. + sed -e "s/LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + fi + fi + + # Support FTS3, bug #207701 + if use fts3; then + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS + fi + + # Enable secure_delete pragma by default + if use secure-delete; then + append-cppflags -DSQLITE_SECURE_DELETE -DSQLITE_CHECK_PAGES -DSQLITE_CORE + fi + + # Support soundex, bug #143794 + if use soundex; then + append-cppflags -DSQLITE_SOUNDEX + fi + + # The amalgamation source doesn't have these via Makefile + if use debug; then + append-cppflags -DSQLITE_DEBUG + else + append-cppflags -DNDEBUG + fi + + # Enable unlock notification + if use unlock-notify; then + append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY + fi + + local extensions_option + if use tcl || use test; then + extensions_option="load-extension" + else + extensions_option="dynamic-extensions" + 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 + + # `configure` from amalgamation tarball doesn't support + # --with-readline-inc and --(enable|disable)-tcl options. + econf \ + $(use_enable extensions ${extensions_option}) \ + $(use_enable readline) \ + $({ use tcl || use test; } && echo --with-readline-inc="-I${EPREFIX}/usr/include/readline") \ + $(use_enable threadsafe) \ + $(use tcl && echo --enable-tcl) \ + $(use !tcl && use test && echo --enable-tcl) +} + +src_compile() { + emake TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" || die "emake failed" +} + +src_test() { + if [[ "${EUID}" -ne "0" ]]; then + local test="test" + use debug && test="fulltest" + emake ${test} || die "Some test(s) failed" + else + ewarn "The userpriv feature must be enabled to run tests." + eerror "Testsuite will not be run." + fi +} + +src_install() { + emake \ + DESTDIR="${D}" \ + TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" \ + install \ + || die "emake install failed" + + doman sqlite3.1 || die "doman sqlite3.1 failed" + + if use doc; then + # Naming scheme changes randomly between - and _ in releases + # http://www.sqlite.org/cvstrac/tktview?tn=3523 + dohtml -r "${WORKDIR}"/${PN}-${DOC_PV}-docs/* || die "dohtml failed" + fi +} |