[bug#78675] gnu: tup: Update to 0.8.
Commit Message
* gnu/packages/build-tools.scm (tup): Update to 0.8.
Use gexps.
<source>: Update URL. Remove patch.
<phases>: Adjust.
<inputs>: Update pcre to pcre2. Add libinih.
<license>: Add Lua license.
* gnu/local.mk: Unregister patch.
* gnu/packages/patches/tup-unbundle-dependencies.patch: Delete file.
Change-Id: If8e55455bbf0dedc70611caf3247e169ad59c4d2
---
gnu/local.mk | 1 -
gnu/packages/build-tools.scm | 108 ++++++++++--------
.../patches/tup-unbundle-dependencies.patch | 66 -----------
3 files changed, 62 insertions(+), 113 deletions(-)
delete mode 100644 gnu/packages/patches/tup-unbundle-dependencies.patch
base-commit: d693603549c65a787b3d57e925ce826e23dfe557
@@ -2338,7 +2338,6 @@ dist_patch_DATA = \
%D%/packages/patches/transmission-4.0.6-fix-build.patch \
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
- %D%/packages/patches/tup-unbundle-dependencies.patch \
%D%/packages/patches/turbovnc-custom-paths.patch \
%D%/packages/patches/turbovnc-find-system-packages.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
@@ -607,65 +607,79 @@ (define-public scons-python2
(define-public tup
(package
(name "tup")
- (version "0.7.11")
+ (version "0.8")
(source (origin
(method url-fetch)
- (uri (string-append "http://gittup.org/tup/releases/tup-v"
+ (uri (string-append "https://gittup.org/tup/releases/tup-v"
version ".tar.gz"))
(sha256
(base32
- "1157qfnhjakm3h07y7h38lrjw5650gkif34k30bnrsypmwl5xyzb"))
- (patches (search-patches "tup-unbundle-dependencies.patch"))
+ "1yv60apd8dsigb74cjw1nzvqqqpjbsxz1i9dhq24jdkjwgsra3w4"))
(modules '((guix build utils)))
(snippet
'(begin
;; NOTE: Tup uses a slightly modified Lua, so it cannot be
- ;; unbundled. See: src/lula/tup-lua.patch
+ ;; unbundled. See: src/lua/tup-lua.patch
(delete-file-recursively "src/pcre")
(delete-file-recursively "src/sqlite3")
- #t))))
+ (delete-file-recursively "src/inih")
+ ;; ldpreload Used only on BSD. Deleting to avoid putting
+ ;; license:bsd-2 in the licenses field
+ (delete-file-recursively "src/ldpreload")))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; There is a bootstrap script, but it doesn't do what you think - it
- ;; builds tup.
- (delete 'bootstrap)
- (replace 'configure
- (lambda _
- (substitute* "src/tup/link.sh"
- (("`git describe`") ,version))
- (with-output-to-file "tup.config"
- (lambda _
- (format #t "CONFIG_TUP_USE_SYSTEM_SQLITE=y~%")))
- #t))
- (delete 'check)
- (replace 'build
- (lambda _
- ;; Based on bootstrap-nofuse.sh, but with a detour to patch-shebang.
- (invoke "./build.sh")
- (invoke "./build/tup" "init")
- (invoke "./build/tup" "generate" "--verbose" "build-nofuse.sh")
- (patch-shebang "build-nofuse.sh")
- (invoke "./build-nofuse.sh")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((outdir (assoc-ref outputs "out"))
- (ftdetect (string-append outdir
- "/share/vim/vimfiles/ftdetect")))
- (install-file "tup" (string-append outdir "/bin"))
- (install-file "tup.1" (string-append outdir "/share/man/man1"))
- (install-file "contrib/syntax/tup.vim"
- (string-append outdir "/share/vim/vimfiles/syntax"))
- (mkdir-p ftdetect)
- (with-output-to-file (string-append ftdetect "/tup.vim")
- (lambda _
- (display "au BufNewFile,BufRead Tupfile,*.tup setf tup")))
- #t))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; There is a bootstrap script, but it doesn't do what you think - it
+ ;; builds tup.
+ (delete 'bootstrap)
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.sh"
+ ;; LDFLAGS
+ (("-lm") "-lm -lsqlite3 -linih `pcre2-config --libs8`")
+ ;; CFLAGS
+ (("-DHAVE_CONFIG_H") "-DHAVE_CONFIG_H `pcre2-config --cflags`")
+ ;; Don't build bundled inih and pcre
+ (("\\.\\./src/inih/ini\\.c \\.\\./src/pcre/\\*\\.c") "")
+ ;; Don't build bundled sqlite3
+ (("\\$CC \\$CFLAGS -c \\.\\./src/sqlite3/sqlite3\\.c.*") ""))
+ (substitute* "src/tup/option.c"
+ (("\"ini.h\"") "<ini.h>"))
+ (substitute* '("src/tup/tupid.h"
+ "src/tup/db.c")
+ (("sqlite3/sqlite3.h")
+ (search-input-file inputs "include/sqlite3.h")))
+ (with-output-to-file "tup.config"
+ (lambda _
+ (format #t (string-append "CONFIG_TUP_USE_SYSTEM_SQLITE=y~%"
+ "CONFIG_TUP_USE_SYSTEM_PCRE=y~%"
+ "CONFIG_TUP_USE_SYSTEM_INIH=y~%"))))))
+ (delete 'check) ; Most tests require fuse to be setup
+ (replace 'build
+ (lambda _
+ ;; Based on bootstrap-nofuse.sh, but with a detour to patch-shebang.
+ (invoke "./build.sh")
+ (invoke "./build/tup" "init")
+ (invoke "./build/tup" "generate" "--verbose" "build-nofuse.sh")
+ (patch-shebang "build-nofuse.sh")
+ (invoke "./build-nofuse.sh")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((outdir (assoc-ref outputs "out"))
+ (ftdetect (string-append outdir
+ "/share/vim/vimfiles/ftdetect")))
+ (install-file "tup" (string-append outdir "/bin"))
+ (install-file "tup.1" (string-append outdir "/share/man/man1"))
+ (install-file "contrib/syntax/tup.vim"
+ (string-append outdir "/share/vim/vimfiles/syntax"))
+ (mkdir-p ftdetect)
+ (with-output-to-file (string-append ftdetect "/tup.vim")
+ (lambda _
+ (display "au BufNewFile,BufRead Tupfile,*.tup setf tup")))))))))
(inputs
- (list fuse pcre
- `(,pcre "bin") ; pcre-config
- sqlite))
+ (list fuse libinih pcre2 sqlite))
(native-inputs
(list pkg-config))
(home-page "https://gittup.org/tup/")
@@ -675,7 +689,9 @@ (define-public tup
exact dependencies of the commands, allowing you to take advantage of ideal
parallelism during incremental builds, and detecting any situations where
a build worked by accident.")
- (license license:gpl2)))
+ (license (list
+ license:gpl2
+ license:x11)))) ; src/lua
(define-public osc
(package
deleted file mode 100644
@@ -1,66 +0,0 @@
-Allow building tup after removing some bundled sources from the source
-tree.
-
-diff --git a/build.sh b/build.sh
-index 2937116d..eab650f7 100755
---- a/build.sh
-+++ b/build.sh
-@@ -16,7 +16,7 @@ else
- echo "Error: invalid TUP_SERVER \"$server\"" 1>&2
- exit 1
- fi
--LDFLAGS="$LDFLAGS -lm"
-+LDFLAGS="$LDFLAGS -lm -lsqlite3 `pcre-config --libs`"
- : ${CC:=gcc}
- case "$os" in
- Linux)
-@@ -65,17 +65,15 @@ mkdir luabuiltin
-
- CFLAGS="$CFLAGS -DTUP_SERVER=\"$server\""
- CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
-+CFLAGS="$CFLAGS `pcre-config --cflags`"
-
--for i in ../src/tup/*.c ../src/tup/tup/main.c ../src/tup/monitor/null.c ../src/tup/flock/fcntl.c ../src/inih/ini.c ../src/pcre/*.c $plat_files; do
-+for i in ../src/tup/*.c ../src/tup/tup/main.c ../src/tup/monitor/null.c ../src/tup/flock/fcntl.c ../src/inih/ini.c $plat_files; do
- echo " bootstrap CC $CFLAGS $i"
- # Put -I. first so we find our new luabuiltin.h file, not one built
- # by a previous 'tup upd'.
-- $CC $CFLAGS -c $i -I. -I../src -I../src/pcre $plat_cflags
-+ $CC $CFLAGS -c $i -I. -I../src $plat_cflags
- done
-
--echo " bootstrap CC $CFLAGS ../src/sqlite3/sqlite3.c"
--$CC $CFLAGS -c ../src/sqlite3/sqlite3.c -DSQLITE_TEMP_STORE=2 -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION $plat_cflags
--
- echo " bootstrap LD tup $LDFLAGS"
- echo "const char *tup_version(void) {return \"$label\";}" | $CC -x c -c - -o tup_version.o
- $CC *.o -o tup -lpthread $plat_ldflags $LDFLAGS
-diff --git a/src/tup/db.c b/src/tup/db.c
-index 55ee3edd..9bdf7a80 100644
---- a/src/tup/db.c
-+++ b/src/tup/db.c
-@@ -46,7 +46,7 @@
- #include <errno.h>
- #include <ctype.h>
- #include <sys/stat.h>
--#include "sqlite3/sqlite3.h"
-+#include <sqlite3.h>
-
- #define DB_VERSION 17
- #define PARSER_VERSION 12
-diff --git a/src/tup/tupid.h b/src/tup/tupid.h
-index 7b36ae46..19aed438 100644
---- a/src/tup/tupid.h
-+++ b/src/tup/tupid.h
-@@ -21,7 +21,7 @@
- #ifndef tup_tupid_h
- #define tup_tupid_h
-
--#include "sqlite3/sqlite3.h"
-+#include <sqlite3.h>
-
- typedef sqlite3_int64 tupid_t;
-
-2.26.2
-