Package: guix-patches;
Reported by: Morgan Smith <Morgan.J.Smith <at> outlook.com>
Date: Mon, 2 Jun 2025 20:47:01 UTC
Severity: normal
Tags: patch
Done: Andreas Enge <andreas <at> enge.fr>
View this message in rfc822 format
From: Morgan Smith <Morgan.J.Smith <at> outlook.com> To: 78675 <at> debbugs.gnu.org Cc: Morgan Smith <Morgan.J.Smith <at> outlook.com> Subject: [bug#78675] [PATCH] gnu: tup: Update to 0.8. Date: Mon, 2 Jun 2025 16:40:23 -0400
* 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 diff --git a/gnu/local.mk b/gnu/local.mk index 2948bfb1bf..63aa4e6da6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index c0e67fed59..be33e0dc50 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -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 diff --git a/gnu/packages/patches/tup-unbundle-dependencies.patch b/gnu/packages/patches/tup-unbundle-dependencies.patch deleted file mode 100644 index 6409522bd3..0000000000 --- a/gnu/packages/patches/tup-unbundle-dependencies.patch +++ /dev/null @@ -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 - base-commit: d693603549c65a787b3d57e925ce826e23dfe557 -- 2.49.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.