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.
This commit is contained in:
Efraim Flashner 2018-10-21 09:04:41 +03:00
parent 7930cfc989
commit d28af1991a
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
2 changed files with 18 additions and 9 deletions

View file

@ -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")

View file

@ -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