From unknown Sun Jun 22 11:34:29 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#41753 <41753@debbugs.gnu.org> To: bug#41753 <41753@debbugs.gnu.org> Subject: Status: [PATCH] gnu: Add tup. Reply-To: bug#41753 <41753@debbugs.gnu.org> Date: Sun, 22 Jun 2025 18:34:29 +0000 retitle 41753 [PATCH] gnu: Add tup. reassign 41753 guix-patches submitter 41753 Jakub K=C4=85dzio=C5=82ka severity 41753 normal tag 41753 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 07 15:07:42 2020 Received: (at submit) by debbugs.gnu.org; 7 Jun 2020 19:07:42 +0000 Received: from localhost ([127.0.0.1]:54887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ji0dt-0008TT-I5 for submit@debbugs.gnu.org; Sun, 07 Jun 2020 15:07:42 -0400 Received: from lists.gnu.org ([209.51.188.17]:47954) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ji0dm-0008TF-88 for submit@debbugs.gnu.org; Sun, 07 Jun 2020 15:07:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56460) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ji0dm-00055i-3t for guix-patches@gnu.org; Sun, 07 Jun 2020 15:07:30 -0400 Received: from pat.zlotemysli.pl ([37.59.186.212]:47156) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ji0dh-0006Mp-TQ for guix-patches@gnu.org; Sun, 07 Jun 2020 15:07:29 -0400 Received: (qmail 25611 invoked by uid 1009); 7 Jun 2020 21:07:17 +0200 Received: from 188.123.215.55 (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl (envelope-from , uid 1002) with qmail-scanner-2.08st (clamdscan: 0.98.6/25835. spamassassin: 3.4.0. perlscan: 2.08st. Clear:RC:1(188.123.215.55):. Processed in 0.056907 secs); 07 Jun 2020 19:07:17 -0000 Received: from unknown (HELO localhost.localdomain) (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl with AES256-SHA encrypted SMTP; 7 Jun 2020 21:07:17 +0200 From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= To: guix-patches@gnu.org Subject: [PATCH] gnu: Add tup. Date: Sun, 7 Jun 2020 21:07:11 +0200 Message-Id: <20200607190711.20988-1-kuba@kadziolka.net> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: none client-ip=37.59.186.212; envelope-from=kuba@kadziolka.net; helo=pat.zlotemysli.pl X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/07 15:07:17 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/build-tools.scm (tup): New variable. * gnu/packages/patches/tup-unbundle-dependencies.patch: New file. * gnu/local.mk (dist_patch_DATA): Register new file. --- gnu/local.mk | 1 + gnu/packages/build-tools.scm | 79 +++++++++++++++++++ .../patches/tup-unbundle-dependencies.patch | 74 +++++++++++++++++ 3 files changed, 154 insertions(+) create mode 100644 gnu/packages/patches/tup-unbundle-dependencies.patch diff --git a/gnu/local.mk b/gnu/local.mk index ae8a2275f7..27657b89e6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1542,6 +1542,7 @@ dist_patch_DATA = \ %D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/tomb-fix-errors-on-open.patch \ + %D%/packages/patches/tup-unbundle-dependencies.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/twinkle-bcg729.patch \ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 9ff32b22f9..38bd906278 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2019 Jonathan Brielmaier ;;; Copyright © 2020 Leo Prikler ;;; Copyright © 2020 Yuval Kogman +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,12 +37,16 @@ #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages package-management) + #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sqlite) #:use-module (gnu packages ninja) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -276,6 +281,80 @@ other lower-level build files.") scripted definition of a software project and outputs @file{Makefile}s or other lower-level build files."))) +(define-public tup + (package + (name "tup") + (version "0.7.8") + (source (origin + (method url-fetch) + (uri (string-append "http://gittup.org/tup/releases/tup-v" + version ".tar.gz")) + (sha256 + (base32 + "1z8d5mmddiw3ckdvy88bi48aa5bm0hrid6g9c9hp2ynmpzywmp2h")) + (patches (search-patches "tup-unbundle-dependencies.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; NOTE: Tup uses a slightly modified Lua, so it cannot be + ;; unbundled. See: src/lula/tup-lua.patch + (delete-file-recursively "src/pcre") + (delete-file-recursively "src/sqlite3") + #t)))) + (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)))))) + (inputs + `(("fuse" ,fuse) + ("pcre" ,pcre) + ("pcre" ,pcre "bin") ; pcre-config + ("sqlite" ,sqlite))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://gittup.org/tup/") + (synopsis "Fast build system that's hard to get wrong") + (description "Tup is a generic build system based on a directed acyclic +graphs of commands to be executed. Tup instruments your build to detect the +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))) + (define-public osc (package (name "osc") diff --git a/gnu/packages/patches/tup-unbundle-dependencies.patch b/gnu/packages/patches/tup-unbundle-dependencies.patch new file mode 100644 index 0000000000..be6aeef9c3 --- /dev/null +++ b/gnu/packages/patches/tup-unbundle-dependencies.patch @@ -0,0 +1,74 @@ +From 895a7d4e8200f9430414a5fe47756efb67d2e5d0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= +Date: Sun, 7 Jun 2020 15:14:42 +0200 +Subject: [PATCH] Unbundle dependencies + +--- + build.sh | 10 ++++------ + src/tup/db.c | 2 +- + src/tup/tupid.h | 2 +- + 3 files changed, 6 insertions(+), 8 deletions(-) + +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 + #include + #include +-#include "sqlite3/sqlite3.h" ++#include + + #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 + + typedef sqlite3_int64 tupid_t; + +-- +2.26.2 + -- 2.26.2 From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 14 16:58:25 2020 Received: (at 41753) by debbugs.gnu.org; 14 Jun 2020 20:58:25 +0000 Received: from localhost ([127.0.0.1]:44620 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jkZht-0000jr-SL for submit@debbugs.gnu.org; Sun, 14 Jun 2020 16:58:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jkZho-0000jZ-9r for 41753@debbugs.gnu.org; Sun, 14 Jun 2020 16:58:20 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53080) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jkZhi-0003YV-C0; Sun, 14 Jun 2020 16:58:10 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43856 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jkZhh-0003B8-BB; Sun, 14 Jun 2020 16:58:09 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= Subject: Re: [bug#41753] [PATCH] gnu: Add tup. References: <20200607190711.20988-1-kuba@kadziolka.net> Date: Sun, 14 Jun 2020 22:58:07 +0200 In-Reply-To: <20200607190711.20988-1-kuba@kadziolka.net> ("Jakub \=\?utf-8\?B\?S8SFZHppb8WCa2EiJ3M\=\?\= message of "Sun, 7 Jun 2020 21:07:11 +0200") Message-ID: <87imfts6u8.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 41753 Cc: 41753@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Jakub K=C4=85dzio=C5=82ka skribis: > * gnu/packages/build-tools.scm (tup): New variable. > * gnu/packages/patches/tup-unbundle-dependencies.patch: New file. > * gnu/local.mk (dist_patch_DATA): Register new file. [...] > --- /dev/null > +++ b/gnu/packages/patches/tup-unbundle-dependencies.patch > @@ -0,0 +1,74 @@ > +From 895a7d4e8200f9430414a5fe47756efb67d2e5d0 Mon Sep 17 00:00:00 2001 > +From: =3D?UTF-8?q?Jakub=3D20K=3DC4=3D85dzio=3DC5=3D82ka?=3D > +Date: Sun, 7 Jun 2020 15:14:42 +0200 > +Subject: [PATCH] Unbundle dependencies > + > +--- > + build.sh | 10 ++++------ > + src/tup/db.c | 2 +- > + src/tup/tupid.h | 2 +- > + 3 files changed, 6 insertions(+), 8 deletions(-) Nitpick: I=E2=80=99d remove the whole Git header and just keep the subject. Otherwise LGTM! Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 14 18:15:50 2020 Received: (at 41753-done) by debbugs.gnu.org; 14 Jun 2020 22:15:50 +0000 Received: from localhost ([127.0.0.1]:44658 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jkaun-0002br-V8 for submit@debbugs.gnu.org; Sun, 14 Jun 2020 18:15:50 -0400 Received: from pat.zlotemysli.pl ([37.59.186.212]:55472) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jkaui-0002bc-La for 41753-done@debbugs.gnu.org; Sun, 14 Jun 2020 18:15:44 -0400 Received: (qmail 21761 invoked by uid 1009); 15 Jun 2020 00:15:38 +0200 Received: from 188.123.215.55 (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl (envelope-from , uid 1002) with qmail-scanner-2.08st (clamdscan: 0.98.6/25842. spamassassin: 3.4.0. perlscan: 2.08st. Clear:RC:1(188.123.215.55):. Processed in 0.041089 secs); 14 Jun 2020 22:15:38 -0000 Received: from unknown (HELO gravity) (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl with SMTP; 15 Jun 2020 00:15:38 +0200 Date: Mon, 15 Jun 2020 00:15:37 +0200 From: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#41753] [PATCH] gnu: Add tup. Message-ID: <20200614221537.w3d5leewtpf5e4gj@gravity> References: <20200607190711.20988-1-kuba@kadziolka.net> <87imfts6u8.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="lxhjq7volznjj6hc" Content-Disposition: inline In-Reply-To: <87imfts6u8.fsf@gnu.org> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 41753-done Cc: 41753-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --lxhjq7volznjj6hc Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Jun 14, 2020 at 10:58:07PM +0200, Ludovic Court=C3=A8s wrote: > Hi, >=20 > Jakub K=C4=85dzio=C5=82ka skribis: >=20 > > * gnu/packages/build-tools.scm (tup): New variable. > > * gnu/packages/patches/tup-unbundle-dependencies.patch: New file. > > * gnu/local.mk (dist_patch_DATA): Register new file. >=20 > [...] >=20 > > --- /dev/null > > +++ b/gnu/packages/patches/tup-unbundle-dependencies.patch > > @@ -0,0 +1,74 @@ > > +From 895a7d4e8200f9430414a5fe47756efb67d2e5d0 Mon Sep 17 00:00:00 2001 > > +From: =3D?UTF-8?q?Jakub=3D20K=3DC4=3D85dzio=3DC5=3D82ka?=3D > > +Date: Sun, 7 Jun 2020 15:14:42 +0200 > > +Subject: [PATCH] Unbundle dependencies > > + > > +--- > > + build.sh | 10 ++++------ > > + src/tup/db.c | 2 +- > > + src/tup/tupid.h | 2 +- > > + 3 files changed, 6 insertions(+), 8 deletions(-) >=20 > Nitpick: I=E2=80=99d remove the whole Git header and just keep the subjec= t. >=20 > Otherwise LGTM! Thanks for the review! I have pushed a revised patch as commit 2c1d1b7599a3738cdbdcaa281d56fa47b0b4c025. Regards, Jakub K=C4=85dzio=C5=82ka --lxhjq7volznjj6hc Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl7moYkACgkQ4xWnWEYT FWRHvg//VBqW4bUqEhmu/Of5Li/gWzyTC8YCLTQskp0/cT6AFgeS5Yk0tTag+APi elFDpleQvPKZFJXXc98lMR0vi9D5Q5g0dOBR1A+8MT+C5zN5I8uFo5Np+rm7yJAV VTW4VKaLMBPQhtZSQPoNRYeSN2kTUaaaKuRLoyJ2PbPMMTQmz/COvJEzAjims9q4 Z8Ql8QnADsidx6tv+KjuHnrFCF8h8VHDndHCdNojsODT845EqFD4uav9O/iHTYYX ESJm2kydIyycvNuPQSxJvc2etgZmKjBaZe75zHEBN5UiY5C01dzPhRpNvlKYxo2c tVEbL9OPNYjqfsmrQY9qpZdqXca0V5zsp42xfSDfOZTJCJkgfXWwhctL21vNGncC urNLz6nGuZ+R+rHwnEIOYzSdAmmR9E0b3qkv8aR+/xTjte8yOxoljbwGBAnLCPmp 8tciJJm9Js6wwCoDQjqz5zat9Jege3Lclqv32yZRabD4pftGz0wCR/dK4E+GGAQ2 kOOLQNxDlAnk0n3QQ1C6Da9urKRDxN/tUKVhW3PHKWr8CYX8N7bwhUpVSN0J5tpB wTIk/M0/bG93DYU8uuQoyuyOGDoNeFzW8AFVAG0D1xkkQhq1LBSJX8mY5D9uSAxE yCYl3KW7oBM73PgBz3xY/dhobXPlmvLi81cY4jLaccDyFoMhNjU= =uS9y -----END PGP SIGNATURE----- --lxhjq7volznjj6hc-- From unknown Sun Jun 22 11:34:29 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 13 Jul 2020 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator