* gnu/packages/patches/sqlite3-hurd.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/sqlite.scm (sqlite/hurd): New variable. --- gnu/local.mk | 1 + gnu/packages/patches/sqlite3-hurd.patch | 51 +++++++++++++++++++++++++ gnu/packages/sqlite.scm | 9 +++++ 3 files changed, 61 insertions(+) create mode 100644 gnu/packages/patches/sqlite3-hurd.patch
diff --git a/gnu/local.mk b/gnu/local.mk index 5e9dba5ab7..d5451bf2d5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1358,6 +1358,7 @@ dist_patch_DATA = \ %D%/packages/patches/sdl-pango-header-guard.patch \ %D%/packages/patches/sdl-pango-matrix_declarations.patch \ %D%/packages/patches/sdl-pango-sans-serif.patch \ + %D%/packages/patches/sqlite3-hurd.patch \ %D%/packages/patches/patchutils-test-perms.patch \ %D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ diff --git a/gnu/packages/patches/sqlite3-hurd.patch b/gnu/packages/patches/sqlite3-hurd.patch new file mode 100644 index 0000000000..de87a30cb1 --- /dev/null +++ b/gnu/packages/patches/sqlite3-hurd.patch @@ -0,0 +1,51 @@ +Adapted from Debian: https://sources.debian.org/patches/sqlite3/3.31.1-5/20-hurd-locking-style.patch +Upstream status: Not offered upstream. + +diff -purN sqlite-autoconf-3310100/sqlite3.c sqlite-autoconf-3310100-/sqlite3.c +--- sqlite-autoconf-3310100/sqlite3.c 2020-01-27 21:25:19.000000000 +0100 ++++ sqlite-autoconf-3310100-/sqlite3.c 2020-07-01 11:50:13.768333806 +0200 +@@ -33189,7 +33189,7 @@ SQLITE_PRIVATE const char *sqlite3Opcode + # include <sys/mman.h> + #endif + +-#if SQLITE_ENABLE_LOCKING_STYLE ++#if SQLITE_ENABLE_LOCKING_STYLE || defined(__GNU__) + /* # include <sys/ioctl.h> */ + # include <sys/file.h> + # include <sys/param.h> +@@ -35676,7 +35676,7 @@ static int dotlockClose(sqlite3_file *id + ** + ** Omit this section if SQLITE_ENABLE_LOCKING_STYLE is turned off + */ +-#if SQLITE_ENABLE_LOCKING_STYLE ++#if SQLITE_ENABLE_LOCKING_STYLE || defined(__GNU__) + + /* + ** Retry flock() calls that fail with EINTR +@@ -38586,7 +38586,7 @@ IOMETHODS( + 0 /* xShmMap method */ + ) + +-#if SQLITE_ENABLE_LOCKING_STYLE ++#if SQLITE_ENABLE_LOCKING_STYLE || defined(__GNU__) + IOMETHODS( + flockIoFinder, /* Finder function name */ + flockIoMethods, /* sqlite3_io_methods object name */ +@@ -41142,6 +41142,8 @@ SQLITE_API int sqlite3_os_init(void){ + UNIXVFS("unix", autolockIoFinder ), + #elif OS_VXWORKS + UNIXVFS("unix", vxworksIoFinder ), ++#elif defined(__GNU__) ++ UNIXVFS("unix", flockIoFinder ), + #else + UNIXVFS("unix", posixIoFinder ), + #endif +@@ -41151,7 +41153,7 @@ SQLITE_API int sqlite3_os_init(void){ + #if OS_VXWORKS + UNIXVFS("unix-namedsem", semIoFinder ), + #endif +-#if SQLITE_ENABLE_LOCKING_STYLE || OS_VXWORKS ++#if SQLITE_ENABLE_LOCKING_STYLE || OS_VXWORKS || defined(__GNU__) + UNIXVFS("unix-posix", posixIoFinder ), + #endif + #if SQLITE_ENABLE_LOCKING_STYLE diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index 8468131ddf..d5c44b0d0f 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Jelle Licht <jli...@fsfe.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <m...@tobias.gr> ;;; Copyright © 2018 Alex Vong <alexvong1...@gmail.com> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <jann...@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -107,3 +108,11 @@ is in the public domain.") ;; commit fad5b1a6d8d9c36bea5785ae4fbc1beb37e644d7. (define-public sqlite-with-column-metadata (deprecated-package "sqlite-with-column-metadata" sqlite)) + +(define-public sqlite/hurd + ;; TODO move into sqlite on the next rebuild cycle. + (package + (inherit sqlite) + (name "sqlite-for-hurd") + (source (origin (inherit (package-source sqlite)) + (patches (search-patches "sqlite3-hurd.patch")))))) -- Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com