Hi, Investigating [0], and working on rebuild a part of "Preservation of Guix", I hit a missing patch which breaks time-machine. For instance, let consider the commit e77412362f from May 2019 (post v1.0.0, I guess).
--8<---------------cut here---------------start------------->8--- $ guix time-machine --commit=e77412362f -- help Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... Computing Guix derivation for 'x86_64-linux'... | The following derivations will be built: /gnu/store/8mszw785bs8rws21jmmcsgnc6wnz5ik7-profile.drv /gnu/store/d7q819gh181gfv3hk4v38g2c1gq5vfgp-guix-e77412362.drv [...] building /gnu/store/50ib3szgx1h0dyk9rifpsbris7yafgzd-texlive-bin-pdftex-poppler0.75.patch.drv... \sha256 hash mismatch for /gnu/store/7c5jx9zbnh8nlapbxqv1wl8056lhhl2l-texlive-bin-pdftex-poppler0.75.patch: expected hash: 1cqpcp7h1qyxyp3wjbpcmx2wgvj9ywpz60hvy280mp9w633yzyg3 actual hash: 0ribvsg4bka1cyj1wz4cd6vrxkvhqvlmjr75d7fdz5pw9r3rlgk8 hash mismatch for store item '/gnu/store/7c5jx9zbnh8nlapbxqv1wl8056lhhl2l-texlive-bin-pdftex-poppler0.75.patch' build of /gnu/store/50ib3szgx1h0dyk9rifpsbris7yafgzd-texlive-bin-pdftex-poppler0.75.patch.drv failed View build log at '/var/log/guix/drvs/50/ib3szgx1h0dyk9rifpsbris7yafgzd-texlive-bin-pdftex-poppler0.75.patch.drv.bz2'. cannot build derivation `/gnu/store/10fdksqj03xhykr4xf17jfdy34983aq9-texlive-20180414-source.tar.xz.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/53mpxdvzrfvqdz103sypq9d94px7lx4y-texlive-bin-20180414.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/n75vlzsyrwjarh03y8p18xz6s647cdig-po4a-0.55.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/k0illak880sh1yr721l96gxjm19kyg8z-guix-translated-texinfo.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/21rj3r95rrs65g053df6gfbij3impdm2-guix-manual.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/d7q819gh181gfv3hk4v38g2c1gq5vfgp-guix-e77412362.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/8mszw785bs8rws21jmmcsgnc6wnz5ik7-profile.drv': 1 dependencies couldn't be built guix time-machine: error: build of `/gnu/store/8mszw785bs8rws21jmmcsgnc6wnz5ik7-profile.drv' failed --8<---------------cut here---------------end--------------->8--- where the error message is just that the Arch community switched their hosting URLs: --8<---------------cut here---------------start------------->8--- Starting download of /gnu/store/7c5jx9zbnh8nlapbxqv1wl8056lhhl2l-texlive-bin-pdftex-poppler0.75.patch >From >https://git.archlinux.org/svntogit/packages.git/plain/trunk/pdftex-poppler0.75.patch?h=packages/texlive-bin&id=418dd6f008c3d41a461353fdb60f2d73d87c58ed... following redirection to `https://gitlab.archlinux.org'... following redirection to `https://gitlab.archlinux.org/explore/groups'... @ download-started /gnu/store/7c5jx9zbnh8nlapbxqv1wl8056lhhl2l-texlive-bin-pdftex-poppler0.75.patch https://git.archlinux.org/svntogit/packages.git/plain/trunk/pdftex-poppler0.75.patch?h=packages/texlive-bin&id=418dd6f008c3d41a461353fdb60f2d73d87c58ed - @ download-progress /gnu/store/7c5jx9zbnh8nlapbxqv1wl8056lhhl2l-texlive-bin-pdftex-poppler0.75.patch https://git.archlinux.org/svntogit/packages.git/plain/trunk/pdftex-poppler0.75.patch?h=packages/texlive-bin&id=418dd6f008c3d41a461353fdb60f2d73d87c58ed - 57620 @ download-progress /gnu/store/7c5jx9zbnh8nlapbxqv1wl8056lhhl2l-texlive-bin-pdftex-poppler0.75.patch https://git.archlinux.org/svntogit/packages.git/plain/trunk/pdftex-poppler0.75.patch?h=packages/texlive-bin&id=418dd6f008c3d41a461353fdb60f2d73d87c58ed - 57620 @ download-succeeded /gnu/store/7c5jx9zbnh8nlapbxqv1wl8056lhhl2l-texlive-bin-pdftex-poppler0.75.patch https://git.archlinux.org/svntogit/packages.git/plain/trunk/pdftex-poppler0.75.patch?h=packages/texlive-bin&id=418dd6f008c3d41a461353fdb60f2d73d87c58ed 57620 --8<---------------cut here---------------end--------------->8--- This asks two questions: 1. How to get now this patch? Someone? Or is it lost forever? 2. How to preserve such patches? Other said, are they part of the Disarchive machinery? For now, some patches are probably missed by sources.json and thus not ingested by SWH. Or, do we systematically include them in 'gnu/packages/patches' (which appears to me the easiest and the robustest) and as proposed for instance by patch#49820 [1]? On a side note, let point that these patches are downloaded via 'url-fetch' and if instead 'git-fetch' had been used, "guix lint" is probably not submitting recursive requests to SWH, I guess. Note also that the question is also related to packages as linux-libre. 0: <https://lists.gnu.org/archive/html/guix-devel/2022-02/msg00000.html> 1: <https://issues.guix.gnu.org/49820> Cheers, simon