From d28af1991ae0a99e660ad1b82ac955556d3a9382 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 21 Oct 2018 09:04:41 +0300 Subject: gnu: qt: Use system sqlite. * gnu/packages/databases.scm (sqlite-with-column-metadata): New variable. * gnu/packages/qt.scm (qt, qtbase)[source]: Remove bundled sqlite. [inputs]: Add sqlite-with-column-metadata. [arguments]: Add configure-flag to use system sqlite. --- gnu/packages/databases.scm | 12 ++++++++++++ gnu/packages/qt.scm | 15 ++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 6ebbc281fd..87fb170e5d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1211,6 +1211,18 @@ (define-public sqlite-with-fts5 ((#:configure-flags flags) `(cons "--enable-fts5" ,flags)))))) +;; This is used by Qt. +(define-public sqlite-with-column-metadata + (package (inherit sqlite) + (name "sqlite-with-column-metadata") + (arguments + (substitute-keyword-arguments (package-arguments sqlite) + ((#:configure-flags flags) + `(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE " + "-DSQLITE_ENABLE_UNLOCK_NOTIFY " + "-DSQLITE_ENABLE_DBSTAT_VTAB " + "-DSQLITE_ENABLE_COLUMN_METADATA"))))))) + (define-public tdb (package (name "tdb") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 05713e8ef1..dffa8b5cf0 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -135,7 +135,7 @@ (define-public qt (lambda (dir) (delete-file-recursively (string-append "qtbase/src/3rdparty/" dir))) (list "double-conversion" "freetype" "harfbuzz-ng" - "libpng" "libjpeg" "pcre2" "xcb" + "libpng" "libjpeg" "pcre2" "sqlite" "xcb" "xkbcommon" "zlib")) (for-each (lambda (dir) @@ -206,7 +206,7 @@ (define-public qt ("postgresql" ,postgresql) ("pulseaudio" ,pulseaudio) ("pcre2" ,pcre2) - ;("sqlite" ,sqlite) + ("sqlite" ,sqlite-with-column-metadata) ("udev" ,eudev) ("unixodbc" ,unixodbc) ("wayland" ,wayland) @@ -273,7 +273,7 @@ (define-public qt "-no-compile-examples" ;; Most "-system-..." are automatic, but some use ;; the bundled copy by default. - ;"-system-sqlite" + "-system-sqlite" "-system-harfbuzz" "-system-pcre" ;; explicitly link with openssl instead of dlopening it @@ -503,7 +503,7 @@ (define-public qtbase (lambda (dir) (delete-file-recursively (string-append "src/3rdparty/" dir))) (list "double-conversion" "freetype" "harfbuzz-ng" - "libpng" "libjpeg" "pcre2" "xcb" + "libpng" "libjpeg" "pcre2" "sqlite" "xcb" "xkbcommon" "zlib")) #t)))) (build-system gnu-build-system) @@ -545,7 +545,7 @@ (define-public qtbase ("pcre2" ,pcre2) ("postgresql" ,postgresql) ("pulseaudio" ,pulseaudio) - ;("sqlite" ,sqlite) + ("sqlite" ,sqlite-with-column-metadata) ("unixodbc" ,unixodbc) ("xcb-util" ,xcb-util) ("xcb-util-image" ,xcb-util-image) @@ -616,10 +616,7 @@ (define-public qtbase "-no-compile-examples" ;; Most "-system-..." are automatic, but some use ;; the bundled copy by default. - ;; System sqlite fails on 5.10+ - ;;.obj/qsql_sqlite.o: In function `QSQLiteResultPrivate::initColumns(bool)': - ;;qsql_sqlite.cpp:(.text+0x190c): undefined reference to `sqlite3_column_table_name16' - ;"-system-sqlite" + "-system-sqlite" "-system-harfbuzz" "-system-pcre" ;; explicitly link with openssl instead of dlopening it -- cgit v1.2.3