From unknown Fri Jun 20 20:01:27 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#63043 <63043@debbugs.gnu.org> To: bug#63043 <63043@debbugs.gnu.org> Subject: Status: texlive-font-maps.drv build failure when profiles lacks texlive-* packages Reply-To: bug#63043 <63043@debbugs.gnu.org> Date: Sat, 21 Jun 2025 03:01:27 +0000 retitle 63043 texlive-font-maps.drv build failure when profiles lacks texli= ve-* packages reassign 63043 guix submitter 63043 Ludovic Court=C3=A8s severity 63043 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 23 19:07:23 2023 Received: (at submit) by debbugs.gnu.org; 23 Apr 2023 23:07:23 +0000 Received: from localhost ([127.0.0.1]:47108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqini-0004yo-MS for submit@debbugs.gnu.org; Sun, 23 Apr 2023 19:07:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:53766) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqing-0004yf-JF for submit@debbugs.gnu.org; Sun, 23 Apr 2023 19:07:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pqing-00076v-6y for bug-guix@gnu.org; Sun, 23 Apr 2023 19:07:20 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pqinf-0002zf-UP for bug-guix@gnu.org; Sun, 23 Apr 2023 19:07:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=rkeAJ1ittOQqfrfN28YMTlw6TTmfMpzvGhZSV9GNN8k=; b=Fi5CW86Asb/ZD8 taufIss1QEnN3sqYMLlCot5xbDhynzbzspBJw1StjZMZo6ZjxlwphBsU81lR3MwaXZZSqMC4k6SCl WMYji69XFCxxo/tH1f8JBvTwZ6txUAC98gXlXjPGdu48nYZNA4TXVkZqWr+5ecunmS3vufSecd7xS carhneS3YZyLUI6hYvpnouKH7o6KJsHJggD2LK5rE60Co0RwjzjmqX2cS/uxtIdOMVNzsHC2HqLPy MllfZPapwWt/ElEHd9X6eQO5UjFVjYcSBxiY9/9piNLR9uYlw4fTAhl+B+0Z3tk+mCwG/al1Y5dCV lql5LFY4mQjkMnxDV6cg==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pqind-0006pY-PM for bug-guix@gnu.org; Sun, 23 Apr 2023 19:07:18 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: bug-guix@gnu.org Subject: texlive-font-maps.drv build failure when profiles lacks texlive-* packages X-Debbugs-Cc: Maxim Cournoyer X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Quintidi 5 =?utf-8?Q?Flor=C3=A9al?= an 231 de la =?utf-8?Q?R=C3=A9volution=2C?= jour du Rossignol X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 24 Apr 2023 01:07:15 +0200 Message-ID: <87o7nefba4.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (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: 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: -3.3 (---) Hi! (Cc: Maxim who may be familiar with the =E2=80=98texlive-font-maps=E2=80=99= hook.) I have Guile as a channel, which provides guile@3.0.99-git. Trying to add this guile package to a profile leads to a =E2=80=98texlive-font-maps.d= rv=E2=80=99 build failure: --8<---------------cut here---------------start------------->8--- $ guix describe -f channels (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (branch "master") (commit "74e96c4cb171b17949f638d8b452d047a8f2dc6f") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) (channel (name 'guile) (url "https://git.savannah.gnu.org/git/guile.git") (branch "main") (commit "1ae50a7f80654f04d93d900e17f3160205700a75")) (channel (name 'shepherd) (url "https://git.savannah.gnu.org/git/shepherd.git") (branch "master") (commit "ab0c7ec989d3afe1933aebb2e03c1d6ecb558ca6") (introduction (make-channel-introduction "788a6d6f1d5c170db68aa4bbfb77024fdc468ed3" (openpgp-fingerprint "3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5"))))) $ guix build guile /gnu/store/1cssq3p4ndi4rvly5w607q7chrg2sj3v-guile-3.0.99-git-debug /gnu/store/qndx3hp7cv5z8mv899k58gr9ampaa4g0-guile-3.0.99-git $ guix show guile@3.0.99-git |grep location location: guile-package.scm:51:4 $ guix shell guile -- guile The following derivation will be built: /gnu/store/pih50yd938jz3h6zkz0kd5jffkxagp3l-profile.drv builder for `/gnu/store/8d71qslw04hz3dc9gk8yfp0gcp9z03bx-texlive-font-maps'= failed previously (cached) build of /gnu/store/6h3k74mn5wpgcy0mqzh1zfa6r207jsqf-texlive-font-maps.drv = failed View build log at '/var/log/guix/drvs/6h/3k74mn5wpgcy0mqzh1zfa6r207jsqf-tex= live-font-maps.drv.gz'. cannot build derivation `/gnu/store/pih50yd938jz3h6zkz0kd5jffkxagp3l-profil= e.drv': 1 dependencies couldn't be built guix shell: error: build of `/gnu/store/pih50yd938jz3h6zkz0kd5jffkxagp3l-pr= ofile.drv' failed --8<---------------cut here---------------end--------------->8--- The log file for texlive-font-maps.drv ends with: --8<---------------cut here---------------start------------->8--- updmap: open() failed: No such file or directory at /gnu/store/fd38qipvckr2= jkkq2xja1n3rb9xz334r-texlive-bin-20210325/bin/updmap line 2158. updmap [ERROR]: The following map file(s) couldn't be found: updmap [ERROR]: dvips35.map (in builtin) updmap [ERROR]: pdftex35.map (in builtin) updmap [ERROR]: ps2pk35.map (in builtin) updmap [ERROR]: Did you run mktexlsr? You can disable non-existent map entries using the option --syncwithtrees. Backtrace: 2 (primitive-load "/gnu/store/pnzmvmbx1smragwnw3rlq4n6zd6?") In ice-9/eval.scm: 619:8 1 (_ #(#(#(# #) #) #)) In guix/build/utils.scm: 762:6 0 (invoke "/gnu/store/fd38qipvckr2jkkq2xja1n3rb9xz334r-t?" ?) guix/build/utils.scm:762:6: In procedure invoke: ERROR: 1. &invoke-error: program: "/gnu/store/fd38qipvckr2jkkq2xja1n3rb9xz334r-texlive-bin-202= 10325/bin/updmap-sys" arguments: ("--cnffile=3D/gnu/store/8d71qslw04hz3dc9gk8yfp0gcp9z03bx-= texlive-font-maps/share/texmf-dist/web2c/updmap.cfg" "--dvipdfmxoutputdir= =3D/gnu/store/8d71qslw04hz3dc9gk8yfp0gcp9z03bx-texlive-font-maps/share/texm= f-dist/fonts/map/dvipdfmx/updmap" "--dvipsoutputdir=3D/gnu/store/8d71qslw04= hz3dc9gk8yfp0gcp9z03bx-texlive-font-maps/share/texmf-dist/fonts/map/dvips/u= pdmap" "--pdftexoutputdir=3D/gnu/store/8d71qslw04hz3dc9gk8yfp0gcp9z03bx-tex= live-font-maps/share/texmf-dist/fonts/map/pdftex/updmap") exit-status: 1 term-signal: #f stop-signal: #f --8<---------------cut here---------------end--------------->8--- The =E2=80=98texlive-font-maps-builder=E2=80=99 file starts with: --8<---------------cut here---------------start------------->8--- (begin (use-modules (guix build utils) (guix build union) (ice-9 popen)) (union-build "/tmp/texlive" (quote ()) #:create-all-directories? #t #:log-port (%make-void-port "w")) (setenv "PATH" (string-append "/gnu/store/8fpk2cja3f07xls48jfnpgrzrljpqivr-coreutils-8.= 32/bin" ":" "/gnu/store/hrgqa7m498wfavq4awai3xz86ifkjxdr-grep-3.6/bin" ":" = "/gnu/store/zhd6blbfz40xp62i4d1rcgbyrpkynbkc-sed-4.8/bin")) (setenv "PERL5LIB" "/gnu/store/fd38qipvckr2jkkq2xja1n3rb9xz334r-texlive-b= in-20210325/share/tlpkg") (setenv "GUIX_TEXMF" "/tmp/texlive/share/texmf-dist") --8<---------------cut here---------------end--------------->8--- So the failure is caused by the fact that /tmp/texlive is in fact empty. How does this happen? I think there=E2=80=99s a logic failure in this bit = of =E2=80=98texlive-font-maps=E2=80=99 in (guix profiles): (mlet %store-monad ((texlive-base (manifest-lookup-package manifest "texl= ive-base"))) (if texlive-base (gexp->derivation "texlive-font-maps" build #:substitutable? #f #:local-build? #t #:properties `((type . profile-hook) (hook . texlive-font-maps))) (return #f))) In this case, =E2=80=98texlive-base=E2=80=99 is found among the native inpu= ts of guile@3.0.99-git. However, the profile itself contains zero texlive-* packages, hence the failure. There are probably two things to fix: 1. The =E2=80=98manifest-lookup-package=E2=80=99 check seems inconsistent= with what=E2=80=99s passed to =E2=80=98union-build=E2=80=99. 2. Perhaps the builder shouldn=E2=80=99t fail anyway when given an empty /tmp/texlive. =20=20 Thoughts? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 23 21:21:11 2023 Received: (at 63043) by debbugs.gnu.org; 24 Apr 2023 01:21:11 +0000 Received: from localhost ([127.0.0.1]:47204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqktC-0000LD-JX for submit@debbugs.gnu.org; Sun, 23 Apr 2023 21:21:11 -0400 Received: from mail-qv1-f41.google.com ([209.85.219.41]:59504) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqktA-0000Kw-HC for 63043@debbugs.gnu.org; Sun, 23 Apr 2023 21:21:09 -0400 Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-5ef55901f49so16580006d6.2 for <63043@debbugs.gnu.org>; Sun, 23 Apr 2023 18:21:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682299263; x=1684891263; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=gculErFHGr8ikmUuHTy9uQbzBP8W19bamCXPBd9dVYs=; b=s0afMpHhQ3QVP3fd3HBioSkfN0CB2RTk/K7mQgl5r2tuNDaDS30AFgThd/1nvY+wQL B5Xjykux3EvsqFW6nM92YNaqH0CawJT7J6YRFQikvrqgob2IxIv6PnpVOVFGwX9fMKdG PpW/wHoEGYyo93SRx+imSqHsaVhejtvLmNqo1uUFinuyU5JYQcIdzN2SyUXjJAuzDmpy YSFqYAPAivjx38T8qvcWiwnZP5wvXQ0YAq6HVxFn1T7GZnhv6jB8zBSKIfpmmE+qINA2 GzOU/SN7tnkYnGrreAY7ds6m5EHY+OQbpNpVnRNbbCDZEyOZ31J0hJhGEYwttWJ6/m6f Tm1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682299263; x=1684891263; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=gculErFHGr8ikmUuHTy9uQbzBP8W19bamCXPBd9dVYs=; b=PZTArclm0PUmlUq0HdSbMvkmC8GW3ABvywXEO+MrApIk3wWqYl0eIaemYI4+zd2XWa WAdMobiFki2oFzb1cJeEjtdvOOufdczF1DyZtsCu0rYZlQGXqDDz62yS0ce6ScOknd3N NvlVVBaLSYqLKQyII66mgUzoq7CAKRpmTHm/8d1tnBNW/X4CSCfQ8jWLQAPZIbHvUPjP +QN9oRYID9JI7ljJqwUpOwHM8CNko5r70pqsKOxEbEh0MDsYeVsnvoUGjmq+OVs/3w6r HapIxeEs0dDTL8b8QeybMCmNEUwjkxhyA7G9D94NXepRfNVESUoVhbU3aMcp6ltpe+Sh TLTA== X-Gm-Message-State: AAQBX9eneBmKGECWAX5W4vNPIBvQPQyiOFfn2KweeEpj34/J8up5WaXi oy0tII4OSY+hHGqh75yPKysrpX7VM6I= X-Google-Smtp-Source: AKy350b2v33wzgsamINY9gvNRsdes04QvrWm3ESfpfOQfZwISU+UE0iProm4s2UAnsZ8sW3A+4szfw== X-Received: by 2002:a05:6214:29c9:b0:5ed:d3d:405 with SMTP id gh9-20020a05621429c900b005ed0d3d0405mr19241035qvb.34.1682299262554; Sun, 23 Apr 2023 18:21:02 -0700 (PDT) Received: from hurd (dsl-141-20.b2b2c.ca. [66.158.141.20]) by smtp.gmail.com with ESMTPSA id a145-20020ae9e897000000b0074de7b1fe1csm3200691qkg.17.2023.04.23.18.21.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Apr 2023 18:21:02 -0700 (PDT) From: Maxim Cournoyer To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#63043: texlive-font-maps.drv build failure when profiles lacks texlive-* packages References: <87o7nefba4.fsf@inria.fr> Date: Sun, 23 Apr 2023 21:20:59 -0400 In-Reply-To: <87o7nefba4.fsf@inria.fr> ("Ludovic =?utf-8?Q?Court=C3=A8s=22?= =?utf-8?Q?'s?= message of "Mon, 24 Apr 2023 01:07:15 +0200") Message-ID: <87zg6yt6ro.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63043 Cc: 63043@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 (-) Hello! Ludovic Court=C3=A8s writes: > Hi! > > (Cc: Maxim who may be familiar with the =E2=80=98texlive-font-maps=E2=80= =99 hook.) Did you checked with Ricardo? They were the author of that hook, per git blame :-). > I have Guile as a channel, which provides guile@3.0.99-git. Trying to > add this guile package to a profile leads to a =E2=80=98texlive-font-maps= .drv=E2=80=99 > build failure: > > $ guix describe -f channels > (list (channel > (name 'guix) > (url "https://git.savannah.gnu.org/git/guix.git") > (branch "master") > (commit > "74e96c4cb171b17949f638d8b452d047a8f2dc6f") > (introduction > (make-channel-introduction > "9edb3f66fd807b096b48283debdcddccfea34bad" > (openpgp-fingerprint > "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) > (channel > (name 'guile) > (url "https://git.savannah.gnu.org/git/guile.git") > (branch "main") > (commit > "1ae50a7f80654f04d93d900e17f3160205700a75")) > (channel > (name 'shepherd) > (url "https://git.savannah.gnu.org/git/shepherd.git") > (branch "master") > (commit > "ab0c7ec989d3afe1933aebb2e03c1d6ecb558ca6") > (introduction > (make-channel-introduction > "788a6d6f1d5c170db68aa4bbfb77024fdc468ed3" > (openpgp-fingerprint > "3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5"))))) > $ guix build guile > /gnu/store/1cssq3p4ndi4rvly5w607q7chrg2sj3v-guile-3.0.99-git-debug > /gnu/store/qndx3hp7cv5z8mv899k58gr9ampaa4g0-guile-3.0.99-git > $ guix show guile@3.0.99-git |grep location > location: guile-package.scm:51:4 > $ guix shell guile -- guile > The following derivation will be built: > /gnu/store/pih50yd938jz3h6zkz0kd5jffkxagp3l-profile.drv > > builder for `/gnu/store/8d71qslw04hz3dc9gk8yfp0gcp9z03bx-texlive-font-map= s' failed previously (cached) > build of /gnu/store/6h3k74mn5wpgcy0mqzh1zfa6r207jsqf-texlive-font-maps.dr= v failed > View build log at '/var/log/guix/drvs/6h/3k74mn5wpgcy0mqzh1zfa6r207jsqf-t= exlive-font-maps.drv.gz'. > cannot build derivation `/gnu/store/pih50yd938jz3h6zkz0kd5jffkxagp3l-prof= ile.drv': 1 dependencies couldn't be built > guix shell: error: build of `/gnu/store/pih50yd938jz3h6zkz0kd5jffkxagp3l-= profile.drv' failed > > > The log file for texlive-font-maps.drv ends with: > > updmap: open() failed: No such file or directory at /gnu/store/fd38qipvck= r2jkkq2xja1n3rb9xz334r-texlive-bin-20210325/bin/updmap line 2158. > updmap [ERROR]: The following map file(s) couldn't be found: > updmap [ERROR]: dvips35.map (in builtin) > updmap [ERROR]: pdftex35.map (in builtin) > updmap [ERROR]: ps2pk35.map (in builtin) > updmap [ERROR]: Did you run mktexlsr? > > You can disable non-existent map entries using the option > --syncwithtrees. > > Backtrace: > 2 (primitive-load "/gnu/store/pnzmvmbx1smragwnw3rlq4n6zd6?") > In ice-9/eval.scm: > 619:8 1 (_ #(#(#(# #) #) #)) > In guix/build/utils.scm: > 762:6 0 (invoke "/gnu/store/fd38qipvckr2jkkq2xja1n3rb9xz334r-t?" ?) > > guix/build/utils.scm:762:6: In procedure invoke: > ERROR: > 1. &invoke-error: > program: "/gnu/store/fd38qipvckr2jkkq2xja1n3rb9xz334r-texlive-bin-2= 0210325/bin/updmap-sys" > arguments: ("--cnffile=3D/gnu/store/8d71qslw04hz3dc9gk8yfp0gcp9z03b= x-texlive-font-maps/share/texmf-dist/web2c/updmap.cfg" "--dvipdfmxoutputdir= =3D/gnu/store/8d71qslw04hz3dc9gk8yfp0gcp9z03bx-texlive-font-maps/share/texm= f-dist/fonts/map/dvipdfmx/updmap" "--dvipsoutputdir=3D/gnu/store/8d71qslw04= hz3dc9gk8yfp0gcp9z03bx-texlive-font-maps/share/texmf-dist/fonts/map/dvips/u= pdmap" "--pdftexoutputdir=3D/gnu/store/8d71qslw04hz3dc9gk8yfp0gcp9z03bx-tex= live-font-maps/share/texmf-dist/fonts/map/pdftex/updmap") > exit-status: 1 > term-signal: #f > stop-signal: #f > > > The =E2=80=98texlive-font-maps-builder=E2=80=99 file starts with: > > (begin > (use-modules > (guix build utils) > (guix build union) > (ice-9 popen)) > (union-build "/tmp/texlive" > (quote > ()) > #:create-all-directories? #t #:log-port > (%make-void-port "w")) > (setenv "PATH" > (string-append "/gnu/store/8fpk2cja3f07xls48jfnpgrzrljpqivr-coreutils-= 8.32/bin" ":" "/gnu/store/hrgqa7m498wfavq4awai3xz86ifkjxdr-grep-3.6/bin" ":= " "/gnu/store/zhd6blbfz40xp62i4d1rcgbyrpkynbkc-sed-4.8/bin")) > (setenv "PERL5LIB" "/gnu/store/fd38qipvckr2jkkq2xja1n3rb9xz334r-texlive= -bin-20210325/share/tlpkg") > (setenv "GUIX_TEXMF" "/tmp/texlive/share/texmf-dist") > > So the failure is caused by the fact that /tmp/texlive is in fact empty. > > How does this happen? I think there=E2=80=99s a logic failure in this bi= t of > =E2=80=98texlive-font-maps=E2=80=99 in (guix profiles): > > (mlet %store-monad ((texlive-base (manifest-lookup-package manifest "te= xlive-base"))) > (if texlive-base > (gexp->derivation "texlive-font-maps" build > #:substitutable? #f > #:local-build? #t > #:properties > `((type . profile-hook) > (hook . texlive-font-maps))) > (return #f))) > > In this case, =E2=80=98texlive-base=E2=80=99 is found among the native in= puts of > guile@3.0.99-git. > > However, the profile itself contains zero texlive-* packages, hence the > failure. > > There are probably two things to fix: > > 1. The =E2=80=98manifest-lookup-package=E2=80=99 check seems inconsiste= nt with what=E2=80=99s > passed to =E2=80=98union-build=E2=80=99. I think this is the problem to fix. It's non-intuitive that manifest-lookup-package transitively looks for things instead of looking at the profile. I actually got tripped by that as well when I authored gdk-pixbuf-loaders-cache-file, so there's now a comment in that same file that reads: ;; XXX: MANIFEST-LOOKUP-PACKAGE transitively searches through ;; every input referenced by the manifest, while MANIFEST-INPU= TS ;; only retrieves the immediate inputs as well as their ;; propagated inputs; to avoid causing an empty output derivat= ion ;; we must ensure that the inputs contain at least one ;; loaders.cache file. This is why we include gdk-pixbuf or ;; librsvg when they are transitively found. I think we need a 'manifest-lookup-inputs' or similar that stops at the profile, to work at the same depth as manifest-inputs. Then it wouldn't find texlive-base and the hook wouldn't run (and fail). What do you think? --=20 Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 24 17:15:46 2023 Received: (at 63043) by debbugs.gnu.org; 24 Apr 2023 21:15:47 +0000 Received: from localhost ([127.0.0.1]:50477 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pr3XG-0001Y4-EC for submit@debbugs.gnu.org; Mon, 24 Apr 2023 17:15:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53832) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pr3XE-0001Xr-7F for 63043@debbugs.gnu.org; Mon, 24 Apr 2023 17:15:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pr3X8-0003CX-Oy; Mon, 24 Apr 2023 17:15:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=padbyC3jtO6ge36b0ph6s173QadZaCz8jn10g/Ybyfg=; b=Yinmfw0DqIVq4xP6iIXM aPYyH4lEoKZRxBG91eqgjbaLIWaNe8ulVE6UgEXG3YzY3wa4Jv6r4xK5JYz293zW2coacjyjBqZFb PxDzkrPatRYBefHqQiz37SJkPB9ZOwXpQvyAO8zrS5+MxqDpkP/XeHv8B9r2CKDYIsrORv3RCXWhV X6zy3/OEDwx6Gooo0KYh/yDDXTH0Iyk47eJzQnypIvUV2M1Ba+J80QQlz40EaWNS3YrsaT+8O9de5 cUxAbnIUV99WpmyaEyZLZvvLDFu+6ipCtInMMwkLm8bhu0xwahr4NoxH4e0AkTaJyg+V7oAEGdWWF wlVsLdKG63FQAw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pr3X8-0002Cx-9U; Mon, 24 Apr 2023 17:15:38 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: bug#63043: texlive-font-maps.drv build failure when profiles lacks texlive-* packages References: <87o7nefba4.fsf@inria.fr> <87zg6yt6ro.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Quintidi 5 =?utf-8?Q?Flor=C3=A9al?= an 231 de la =?utf-8?Q?R=C3=A9volution=2C?= jour du Rossignol X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 24 Apr 2023 23:15:35 +0200 In-Reply-To: <87zg6yt6ro.fsf@gmail.com> (Maxim Cournoyer's message of "Sun, 23 Apr 2023 21:20:59 -0400") Message-ID: <878reh0yo8.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 63043 Cc: Ricardo Wurmus , 63043@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 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello! Maxim Cournoyer skribis: > Ludovic Court=C3=A8s writes: > >> Hi! >> >> (Cc: Maxim who may be familiar with the =E2=80=98texlive-font-maps=E2=80= =99 hook.) > > Did you checked with Ricardo? They were the author of that hook, per > git blame :-). I didn=E2=80=99t even look at =E2=80=98git blame=E2=80=99, I thought you we= re the one behind this iteration :-), but Ricardo and I discussed it briefly on IRC. Anyway, extending Cc! >> There are probably two things to fix: >> >> 1. The =E2=80=98manifest-lookup-package=E2=80=99 check seems inconsist= ent with what=E2=80=99s >> passed to =E2=80=98union-build=E2=80=99. > > I think this is the problem to fix. It's non-intuitive that > manifest-lookup-package transitively looks for things instead of looking > at the profile. I actually got tripped by that as well when I authored > gdk-pixbuf-loaders-cache-file, so there's now a comment in that same > file that reads: > > ;; XXX: MANIFEST-LOOKUP-PACKAGE transitively searches through > ;; every input referenced by the manifest, while MANIFEST-IN= PUTS > ;; only retrieves the immediate inputs as well as their > ;; propagated inputs; to avoid causing an empty output deriv= ation > ;; we must ensure that the inputs contain at least one > ;; loaders.cache file. This is why we include gdk-pixbuf or > ;; librsvg when they are transitively found. > > I think we need a 'manifest-lookup-inputs' or similar that stops at the > profile, to work at the same depth as manifest-inputs. Then it wouldn't > find texlive-base and the hook wouldn't run (and fail). There were cases (like GDK pixbuf, GLib schemas, and all that) where the id= ea was to take whichever glib/GDK we=E2=80=99d find in the dependency graph, a= nd pick the command we need from it. That way, we wouldn=E2=80=99t introduce = any additional dependency. That was the reasoning. Thinking about, this particular case might be easier: we can make things consistent like so: --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/guix/profiles.scm b/guix/profiles.scm index 03333785f9..41f3e25bb3 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1786,6 +1786,8 @@ (define entry->texlive-input (cons (gexp-input thing output) (append-map entry->texlive-input deps)) '())))) + (define texlive-inputs + (append-map entry->texlive-input (manifest-entries manifest))) (define texlive-bin (module-ref (resolve-interface '(gnu packages tex)) 'texlive-bin)) (define coreutils @@ -1809,8 +1811,7 @@ (define build ;; that TeX live can resolve the parent and grandparent directories ;; correctly. There might be a more elegant way to accomplish this. (union-build "/tmp/texlive" - '#$(append-map entry->texlive-input - (manifest-entries manifest)) + '#$texlive-inputs #:create-all-directories? #t #:log-port (%make-void-port "w")) @@ -1867,7 +1868,7 @@ (define build (install-file (string-append b "/ls-R") a)))))) (mlet %store-monad ((texlive-base (manifest-lookup-package manifest "texlive-base"))) - (if texlive-base + (if (and texlive-base (pair? texlive-inputs)) (gexp->derivation "texlive-font-maps" build #:substitutable? #f #:local-build? #t --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable That way, the hook only fire if we have =E2=80=98texlive-base=E2=80=99 (som= ewhere in the graph) *and* we have texlive-* packages in the manifest. Thoughts? Ludo=E2=80=99. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 24 21:42:12 2023 Received: (at 63043) by debbugs.gnu.org; 25 Apr 2023 01:42:12 +0000 Received: from localhost ([127.0.0.1]:50812 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pr7h5-0000aH-Qc for submit@debbugs.gnu.org; Mon, 24 Apr 2023 21:42:12 -0400 Received: from mail-qt1-f178.google.com ([209.85.160.178]:60580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pr7h4-0000a5-HC for 63043@debbugs.gnu.org; Mon, 24 Apr 2023 21:42:10 -0400 Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-3e6aa05714bso53756471cf.0 for <63043@debbugs.gnu.org>; Mon, 24 Apr 2023 18:42:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682386925; x=1684978925; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=B+Cr4MaoeQjqHPfnCF3uybyFK7lRNwxTDd4Z3B6W79Q=; b=GduRF0OpeG7TI6lmfdzv2fR5cWpoO3fwjCPvob/6zfiEkwS0POLOslA+qFkRi+M8ec eSmEiZY0XNhpHhPcLcfctK0QSI2ITsXXXppzv8V7tXlVdoaOTt2a+HHOy99iTlS9oqwz 3V7xIuO4HH1rxIvvhiM13VnFgUUu9D2PmuuYPJFY82lazvVd8ILYNyi67uT2KBHbsw1m 3gyXSRS1WQAufB/USIoHF+NQLihnWlfUh9/fZ7aemZwVGj93wCVx4uDISuKgQhNmipSK s+J3prmDQQYLcqix50qJHXEYuWIfkbiWvT1KK9Bnny7lfg59JhcFgA2Ty53Lr2fwzPHA Eygg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682386925; x=1684978925; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=B+Cr4MaoeQjqHPfnCF3uybyFK7lRNwxTDd4Z3B6W79Q=; b=g1oG0Y0QjdO+8LpRAfUxH+rwXfEBSgfEPiCvleFC3J+/voZK7hw0jZgExkXi3Mbvaj yYlSSGUDN4IuzzaRPETGqRYccixHfnZAuVmbsh7soDMYU8vIq2rFOB3TxvutGBw3ngRj sESJk8Mu8C01bQkPQqrhdBPBU0u+kUE2pskqGod7qsCJBslYOPnmqXsQkhJ4cm0Zsqid 5g2fVbmQ/bXQfYDtTo5+WTy++PQnhp9E0gARKZEFVenXjHMMrJimX0Lm+d4ODk6Zd1eb OVzezBd7vH9F5dvz9okM4idfAJMTnnHX5G/+01Fz09rqbnFz3QF/elw/TL4XA2fqlO19 qXag== X-Gm-Message-State: AAQBX9fBSCijkqi9Dxu2WNwspTkQUdg4B3bj4Xh2+3Kk48g66HlTBVj9 Y5B5VH6tvbX0/ocDOzXibNE= X-Google-Smtp-Source: AKy350YfB93PAf8fOAw92Uj2l+dgMXbGXInr9581c8L5Fi5jzvUUIFhZC6dUTENN5R8eL7QRhD0Z7g== X-Received: by 2002:ac8:7e81:0:b0:3e8:69dd:c62d with SMTP id w1-20020ac87e81000000b003e869ddc62dmr28765373qtj.57.1682386924661; Mon, 24 Apr 2023 18:42:04 -0700 (PDT) Received: from hurd ([2607:fad8:4:3::1003]) by smtp.gmail.com with ESMTPSA id a9-20020ac844a9000000b003d3a34d2eb2sm4106924qto.41.2023.04.24.18.42.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Apr 2023 18:42:03 -0700 (PDT) From: Maxim Cournoyer To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#63043: texlive-font-maps.drv build failure when profiles lacks texlive-* packages References: <87o7nefba4.fsf@inria.fr> <87zg6yt6ro.fsf@gmail.com> <878reh0yo8.fsf@gnu.org> Date: Mon, 24 Apr 2023 21:41:53 -0400 In-Reply-To: <878reh0yo8.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 24 Apr 2023 23:15:35 +0200") Message-ID: <87edo8sppa.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63043 Cc: Ricardo Wurmus , 63043@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 (-) Hi Ludovic, Ludovic Court=C3=A8s writes: > Hello! > > Maxim Cournoyer skribis: > >> Ludovic Court=C3=A8s writes: >> >>> Hi! >>> >>> (Cc: Maxim who may be familiar with the =E2=80=98texlive-font-maps=E2= =80=99 hook.) >> >> Did you checked with Ricardo? They were the author of that hook, per >> git blame :-). > > I didn=E2=80=99t even look at =E2=80=98git blame=E2=80=99, I thought you = were the one behind > this iteration :-), but Ricardo and I discussed it briefly on IRC. > Anyway, extending Cc! > >>> There are probably two things to fix: >>> >>> 1. The =E2=80=98manifest-lookup-package=E2=80=99 check seems inconsis= tent with what=E2=80=99s >>> passed to =E2=80=98union-build=E2=80=99. >> >> I think this is the problem to fix. It's non-intuitive that >> manifest-lookup-package transitively looks for things instead of looking >> at the profile. I actually got tripped by that as well when I authored >> gdk-pixbuf-loaders-cache-file, so there's now a comment in that same >> file that reads: >> >> ;; XXX: MANIFEST-LOOKUP-PACKAGE transitively searches throu= gh >> ;; every input referenced by the manifest, while MANIFEST-I= NPUTS >> ;; only retrieves the immediate inputs as well as their >> ;; propagated inputs; to avoid causing an empty output deri= vation >> ;; we must ensure that the inputs contain at least one >> ;; loaders.cache file. This is why we include gdk-pixbuf or >> ;; librsvg when they are transitively found. >> >> I think we need a 'manifest-lookup-inputs' or similar that stops at the >> profile, to work at the same depth as manifest-inputs. Then it wouldn't >> find texlive-base and the hook wouldn't run (and fail). > > There were cases (like GDK pixbuf, GLib schemas, and all that) where the = idea > was to take whichever glib/GDK we=E2=80=99d find in the dependency graph,= and > pick the command we need from it. That way, we wouldn=E2=80=99t introduc= e any > additional dependency. That was the reasoning. > > Thinking about, this particular case might be easier: we can make things > consistent like so: > > diff --git a/guix/profiles.scm b/guix/profiles.scm > index 03333785f9..41f3e25bb3 100644 > --- a/guix/profiles.scm > +++ b/guix/profiles.scm > @@ -1786,6 +1786,8 @@ (define entry->texlive-input > (cons (gexp-input thing output) > (append-map entry->texlive-input deps)) > '())))) > + (define texlive-inputs > + (append-map entry->texlive-input (manifest-entries manifest))) > (define texlive-bin > (module-ref (resolve-interface '(gnu packages tex)) 'texlive-bin)) > (define coreutils > @@ -1809,8 +1811,7 @@ (define build > ;; that TeX live can resolve the parent and grandparent direct= ories > ;; correctly. There might be a more elegant way to accomplish= this. > (union-build "/tmp/texlive" > - '#$(append-map entry->texlive-input > - (manifest-entries manifest)) > + '#$texlive-inputs > #:create-all-directories? #t > #:log-port (%make-void-port "w")) >=20=20 > @@ -1867,7 +1868,7 @@ (define build > (install-file (string-append b "/ls-R") a)))))) >=20=20 > (mlet %store-monad ((texlive-base (manifest-lookup-package manifest "t= exlive-base"))) > - (if texlive-base > + (if (and texlive-base (pair? texlive-inputs)) > (gexp->derivation "texlive-font-maps" build > #:substitutable? #f > #:local-build? #t > > > That way, the hook only fire if we have =E2=80=98texlive-base=E2=80=99 (s= omewhere in the > graph) *and* we have texlive-* packages in the manifest. That is equivalent, but it doesn't address the core problem in my opinion. There's no use to run hooks for things which aren't propagated at the level of the profile, I think. If texlive-base in is the profile, the person wants to use tex and friends. But if it's wrapped by some package deep down, we shouldn't care. I see it the same way as when using libraries and compilers in a profile; the compiler (consumer) needs to be present else no search path is created. Does it make sense? --=20 Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 30 16:51:48 2023 Received: (at 63043) by debbugs.gnu.org; 30 Apr 2023 20:51:48 +0000 Received: from localhost ([127.0.0.1]:38431 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ptE1L-0006BG-Uo for submit@debbugs.gnu.org; Sun, 30 Apr 2023 16:51:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60922) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ptE1K-0006B2-Ci for 63043@debbugs.gnu.org; Sun, 30 Apr 2023 16:51:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ptE1E-0004DB-Em; Sun, 30 Apr 2023 16:51:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=Ux861ty1i7UT721Cu9DFGc8HrwLi1b2BhnptftBWKNE=; b=sVXi9BvS+DLY6KftlKzm lqozdbvEfwZC9iX493IHaD7ttx95X4UNGPuy+WdOQ1bMhBmZYLRO7r3yioEV0s1arlabdCzOFyUVI y35M5JTih3E3tvEWNe2+2x93MIh/YZABeLOaMOLYqYd8bJ5MxfoqYeeoFIPwD12LMqD5lu7XSRl+8 4MFTUkr3B/cu1A2OCGaPMTcm7QEHG++6Kuzd9TOZrmzXwzXODJn/WytfTUhJpYod9FjH8u3Q/JXrV atLOh+EvD3CsbUJx/i0rezG2z5VWKnvCZ6TQWi22qUnp6+bzV6e4haLt/p5YsE5AVJ3MgMrCtYJZt kU0OgvSQ87wVJA==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ptE1D-0001MF-E1; Sun, 30 Apr 2023 16:51:39 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: bug#63043: texlive-font-maps.drv build failure when profiles lacks texlive-* packages References: <87o7nefba4.fsf@inria.fr> <87zg6yt6ro.fsf@gmail.com> <878reh0yo8.fsf@gnu.org> <87edo8sppa.fsf@gmail.com> Date: Sun, 30 Apr 2023 22:51:37 +0200 In-Reply-To: <87edo8sppa.fsf@gmail.com> (Maxim Cournoyer's message of "Mon, 24 Apr 2023 21:41:53 -0400") Message-ID: <87354hqejq.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (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: 63043 Cc: Ricardo Wurmus , 63043@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, Maxim Cournoyer skribis: >> There were cases (like GDK pixbuf, GLib schemas, and all that) where the= idea >> was to take whichever glib/GDK we=E2=80=99d find in the dependency graph= , and >> pick the command we need from it. That way, we wouldn=E2=80=99t introdu= ce any >> additional dependency. That was the reasoning. >> >> Thinking about, this particular case might be easier: we can make things >> consistent like so: [...] >> + (if (and texlive-base (pair? texlive-inputs)) >> (gexp->derivation "texlive-font-maps" build >> #:substitutable? #f >> #:local-build? #t >> >> >> That way, the hook only fire if we have =E2=80=98texlive-base=E2=80=99 (= somewhere in the >> graph) *and* we have texlive-* packages in the manifest. > > That is equivalent, but it doesn't address the core problem in my > opinion. There's no use to run hooks for things which aren't propagated > at the level of the profile, I think. If texlive-base in is the > profile, the person wants to use tex and friends. But if it's wrapped > by some package deep down, we shouldn't care. > > I see it the same way as when using libraries and compilers in a > profile; the compiler (consumer) needs to be present else no search path > is created. > > Does it make sense? I agree with the reasoning; I think it doesn=E2=80=99t apply to the GLib sc= hemas and GDK pixbuf caches though. For TeX Live font maps, maybe it applies, though I=E2=80=99m not entirely s= ure (I wouldn=E2=80=99t be surprised if things other than =E2=80=98texlive-base= =E2=80=99 are consumers of font maps). Plus, since the patch I proposed is simple, I=E2=80=99m inclined to just do that. Thoughts? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon May 01 08:25:04 2023 Received: (at 63043) by debbugs.gnu.org; 1 May 2023 12:25:04 +0000 Received: from localhost ([127.0.0.1]:39093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ptSaV-00050C-Mr for submit@debbugs.gnu.org; Mon, 01 May 2023 08:25:04 -0400 Received: from mail-qt1-f178.google.com ([209.85.160.178]:53701) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ptSaS-0004zY-J2 for 63043@debbugs.gnu.org; Mon, 01 May 2023 08:25:01 -0400 Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-3ef33f12995so11524301cf.3 for <63043@debbugs.gnu.org>; Mon, 01 May 2023 05:25:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682943894; x=1685535894; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=4WD7iuphlQ0BjQDPuQXbeICktcpr3NY7cU35sh+LRow=; b=Y2J5DKDFwj8umazXPlm6I2tMoQNbRsKxG7TI87+MgUz/p42DBblCJLaAM2Hrpn0zHb s800smW5dbIHQ8NcIZ6V0hI6V4Tn+2iMA5MAGO1Mbpvcj3W21Omx9OvWZIOIkOrEa/2Y L/YB6dXm7NaTcPN0u8Qrs6E9ILcI/xvsmCD6Iv2xvSVcd7tuz8XOJ2dqysqU21hR/BK/ HUXIBMocEAqnqgecht0H0B04m8nckaIeXuEX2qt3x6ShrAism45rDnq8ab22+NNq/JPP 08wOoKeWqo+VR/ds7z038Xjoqg4N/d6kMiv1sTaOcZoe5bYwF6YQM35ofKNpbtVZHdpY my2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682943894; x=1685535894; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=4WD7iuphlQ0BjQDPuQXbeICktcpr3NY7cU35sh+LRow=; b=PArxfOQY3Jt0lus/Q4aoawrxNauUQayVl4Oj0+zQ2Bxi35FXncOTc5fE8IZXOr6sCZ o5mYckGfF83xgwBMpLzLEKjd1xL+/kpN3HYekyKcZJqp6L2gluHbZWdoUOhR4oTxDXKp jbLfl9KGCqIRwq02oh3p9tIyijj8GbW7M/FXogFXdJZVkLNlK/FG7UQBd+TTNEzWDh60 OUcp75FbvCicp3Ft706PTax9T23BKWSDBAkGOXjzUo17mFDpqU9wr4qaBp9rL24tXl/K 6Ggzn3aAbz8M5Ypn0AKo+uRpEQ+vg/w/YFeQLnbUp2V5FhgS0alDiLtezTYVLarbQYjS ydig== X-Gm-Message-State: AC+VfDwClhUnTUdIlstgEMrAJzNWTy4d4jjkp9KHR9QUM71Pcstk1pm9 J8p1HwVzxxpTFe3XLFeGC/eJlF3Tx5WehQ== X-Google-Smtp-Source: ACHHUZ7kMCL8UIqHudrntlS0h0jfEUrF2b4xaizvgKp35UCDoQsFe59X8jjgFljUW4g/2gPkSAR+4A== X-Received: by 2002:a05:622a:1d5:b0:3ed:e5ad:4a30 with SMTP id t21-20020a05622a01d500b003ede5ad4a30mr21793403qtw.10.1682943894391; Mon, 01 May 2023 05:24:54 -0700 (PDT) Received: from hurd (dsl-157-118.b2b2c.ca. [66.158.157.118]) by smtp.gmail.com with ESMTPSA id w4-20020a05620a094400b0073b8745fd39sm5267621qkw.110.2023.05.01.05.24.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 May 2023 05:24:53 -0700 (PDT) From: Maxim Cournoyer To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#63043: texlive-font-maps.drv build failure when profiles lacks texlive-* packages References: <87o7nefba4.fsf@inria.fr> <87zg6yt6ro.fsf@gmail.com> <878reh0yo8.fsf@gnu.org> <87edo8sppa.fsf@gmail.com> <87354hqejq.fsf@gnu.org> Date: Mon, 01 May 2023 08:24:52 -0400 In-Reply-To: <87354hqejq.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Sun, 30 Apr 2023 22:51:37 +0200") Message-ID: <87sfcg5je3.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63043 Cc: Ricardo Wurmus , 63043@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 (-) Hi Ludovic, Ludovic Court=C3=A8s writes: > Hi, > > Maxim Cournoyer skribis: > >>> There were cases (like GDK pixbuf, GLib schemas, and all that) where th= e idea >>> was to take whichever glib/GDK we=E2=80=99d find in the dependency grap= h, and >>> pick the command we need from it. That way, we wouldn=E2=80=99t introd= uce any >>> additional dependency. That was the reasoning. >>> >>> Thinking about, this particular case might be easier: we can make things >>> consistent like so: > > [...] > >>> + (if (and texlive-base (pair? texlive-inputs)) >>> (gexp->derivation "texlive-font-maps" build >>> #:substitutable? #f >>> #:local-build? #t >>> >>> >>> That way, the hook only fire if we have =E2=80=98texlive-base=E2=80=99 = (somewhere in the >>> graph) *and* we have texlive-* packages in the manifest. >> >> That is equivalent, but it doesn't address the core problem in my >> opinion. There's no use to run hooks for things which aren't propagated >> at the level of the profile, I think. If texlive-base in is the >> profile, the person wants to use tex and friends. But if it's wrapped >> by some package deep down, we shouldn't care. >> >> I see it the same way as when using libraries and compilers in a >> profile; the compiler (consumer) needs to be present else no search path >> is created. >> >> Does it make sense? > > I agree with the reasoning; I think it doesn=E2=80=99t apply to the GLib = schemas > and GDK pixbuf caches though. It does, for the simple reasons that both GDK pixbufs and GLib schemas are collected using manifest-inputs, which means only direct inputs from the profile and the ones they propagate. So if you look deep in the profile graph for the 'glib-compile-schemas' command, there is a chance that it is found while no schemas were collected, and this is the kind of case that'd lead to an empty derivation output (because there's no schema to compile). > For TeX Live font maps, maybe it applies, though I=E2=80=99m not entirely= sure > (I wouldn=E2=80=99t be surprised if things other than =E2=80=98texlive-ba= se=E2=80=99 are > consumers of font maps). Plus, since the patch I proposed is simple, > I=E2=80=99m inclined to just do that. > > Thoughts? I still think that my proposition is better, but I don't mind if you apply your fix now and we revisit this at a later time. If we get to it, this change could be reverted as it wouldn't be necessary anymore. --=20 Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Thu May 04 07:15:03 2023 Received: (at 63043-done) by debbugs.gnu.org; 4 May 2023 11:15:03 +0000 Received: from localhost ([127.0.0.1]:48717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puWvP-0005xH-G8 for submit@debbugs.gnu.org; Thu, 04 May 2023 07:15:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37812) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puWvO-0005wX-Kc for 63043-done@debbugs.gnu.org; Thu, 04 May 2023 07:15:02 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puWvJ-00007w-76; Thu, 04 May 2023 07:14:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=YJNT4Rzoy3/gve57fgok0BntN4BzpqKSQSLs/Xuy//w=; b=f9/CAO0qOc0TTzLOJR5P F8+By7CVBTtm3d+FPcEZJ9F85VRnvyJxwZpn5S0zsPlxZJ1unp3KLHyOw7ywfdS9u9yB/YkoL6T9p fbjRoRWFNJ8wh8PEeUh4baEEW6ki4b6R4jX3VD9/I+UQdxv86FLvjTXYS5BHG6kEDJDlCP0F+7osb 8Tcf9yvdNoW2btUOQkp0gjHGo5fhaTs16GIGVvg44wNuoyLCihgo4KP6uzbluyN+iDZJzG9eb9NUZ iLdmjktXnOxPPpPY++B/hOuZcya5kbOCGwqct1wF1EF9FESk4AON8BsqA1AWhJXQfyNL3TBwatHhh 8WcJieEWJeTqew==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puWvI-0003C2-P8; Thu, 04 May 2023 07:14:57 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: bug#63043: texlive-font-maps.drv build failure when profiles lacks texlive-* packages References: <87o7nefba4.fsf@inria.fr> <87zg6yt6ro.fsf@gmail.com> <878reh0yo8.fsf@gnu.org> <87edo8sppa.fsf@gmail.com> <87354hqejq.fsf@gnu.org> <87sfcg5je3.fsf@gmail.com> Date: Thu, 04 May 2023 13:14:55 +0200 In-Reply-To: <87sfcg5je3.fsf@gmail.com> (Maxim Cournoyer's message of "Mon, 01 May 2023 08:24:52 -0400") Message-ID: <87lei4s5zk.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (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: 63043-done Cc: Ricardo Wurmus , 63043-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: -3.3 (---) Hi Maxim, Maxim Cournoyer skribis: > Ludovic Court=C3=A8s writes: [...] >>> That is equivalent, but it doesn't address the core problem in my >>> opinion. There's no use to run hooks for things which aren't propagated >>> at the level of the profile, I think. If texlive-base in is the >>> profile, the person wants to use tex and friends. But if it's wrapped >>> by some package deep down, we shouldn't care. >>> >>> I see it the same way as when using libraries and compilers in a >>> profile; the compiler (consumer) needs to be present else no search path >>> is created. >>> >>> Does it make sense? >> >> I agree with the reasoning; I think it doesn=E2=80=99t apply to the GLib= schemas >> and GDK pixbuf caches though. > > It does, for the simple reasons that both GDK pixbufs and GLib schemas > are collected using manifest-inputs, which means only direct inputs from > the profile and the ones they propagate. So if you look deep in the > profile graph for the 'glib-compile-schemas' command, there is a chance > that it is found while no schemas were collected, and this is the kind > of case that'd lead to an empty derivation output (because there's no > schema to compile). Ah yes, that=E2=80=99s right. I was looking at it the other way around: GLib and GDK caches need to be built even if glib/gdk-pixbuf does not appear in the manifest. >> For TeX Live font maps, maybe it applies, though I=E2=80=99m not entirel= y sure >> (I wouldn=E2=80=99t be surprised if things other than =E2=80=98texlive-b= ase=E2=80=99 are >> consumers of font maps). Plus, since the patch I proposed is simple, >> I=E2=80=99m inclined to just do that. >> >> Thoughts? > > I still think that my proposition is better, but I don't mind if you > apply your fix now and we revisit this at a later time. If we get to > it, this change could be reverted as it wouldn't be necessary anymore. Right. I pushed it as 916c6e5716bd14cb328f7dcce5405ba9100bb908. Thanks, Ludo=E2=80=99. From unknown Fri Jun 20 20:01:27 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 01 Jun 2023 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