From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id MDN6LA+RZWP4XwEAbAwnHQ (envelope-from ) for ; Fri, 04 Nov 2022 23:24:15 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 6PWgKw+RZWM2AgAAG6o9tA (envelope-from ) for ; Fri, 04 Nov 2022 23:24:15 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 546803E337 for ; Fri, 4 Nov 2022 23:24:15 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1or56L-000673-IZ; Fri, 04 Nov 2022 18:23:49 -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 1or4wJ-0000Xs-8E for guix-devel@gnu.org; Fri, 04 Nov 2022 18:13:27 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1or4wH-0007GY-02 for guix-devel@gnu.org; Fri, 04 Nov 2022 18:13:27 -0400 Received: by mail-wr1-x433.google.com with SMTP id w14so8804358wru.8 for ; Fri, 04 Nov 2022 15:13:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beadling-co-uk.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:date:message-id:in-reply-to :subject:cc:to:from:user-agent:references:from:to:cc:subject:date :message-id:reply-to; bh=Srpo1yrz/423qI9PVzwT7G1+sA/lSPFrSx+EnFQ5soE=; b=fxHdeHBqT0b0jSrF2Ngibx3M9nH4gPaGsIHxPD+SO/MPt9z6hBdNVhhn8/QjajzYe0 dk/ya2Qi+Wl6EE2FEQr7k7AW/KQNRIqGq+HqT/Cv/pkI9dWV1GLTtFvZn13bILB3fjsR pKj+ftn8XdzgGAptNuEOO5F02vQuTYdCFqTgJB8cOQSVIGQJaU7TJ1wde2I2yxLpbNH/ 5h3CNizKYIcwOKlcctgG6ww2dyyjS+HplqljadpkfRra8qBRwD8Bc1kg6RyVSfZBBajr 8/mrJXUqWF7H0vf6Vy0juZ1y2zeYi72xEqpYJSfvQd5cGhq+S5f2hWpr8krzMH5ijRcr nmMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:date:message-id:in-reply-to :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Srpo1yrz/423qI9PVzwT7G1+sA/lSPFrSx+EnFQ5soE=; b=gK0xFz9rqPUI8ybCTiNZB6KoKvJqLebu2a1gopUEMkyERRUYDRnQeO3mbD0FDJBpVL vfxxtcBN+Hoav1wkiN8lw2gIsFaokCPGI8097wvQUZQ9S+61O2wws5FhylbIqf8jrCxR QlK8X+ANCrWFsxPaLmD0dADgI3ASIYrYF6Dj3gmMYIvFfo6u/mw9p/QEbwB2/6ysx0mM 6E8Nd1Wbv+DDPkekp6aRO8qn75XrquqGNDhzyvBXYGeLx4ehbCvH1Yv0CUF1wP8jl/Ir jObKLe+5nwDre1QqPde9yjl9dHhxm8lFhl/+cfbZJUZJNwWagWy1OEKREjJLWGLjrS0F GOgA== X-Gm-Message-State: ACrzQf33L/Dg9mXb/M2cq9yQY228ZErueYG4eFJLtDuVMghOdtrpHCNz oeNF+zkhdU8OR0mCXQtKEOy3OXkW45b7LOqf X-Google-Smtp-Source: AMsMyM4mh9/vx+9t+S6k3snym2nF/6BwVvW/WV8bYOLJQ11eV+LKLo1JtLHWNLDWWdSswTXIHFfeyA== X-Received: by 2002:a05:6000:1a85:b0:230:f238:a48c with SMTP id f5-20020a0560001a8500b00230f238a48cmr23297867wry.92.1667600002029; Fri, 04 Nov 2022 15:13:22 -0700 (PDT) Received: from xps13 ([2a02:6b61:74a5:0:3e3e:75ff:de88:7a90]) by smtp.gmail.com with ESMTPSA id g12-20020a05600c4ecc00b003b4fe03c881sm4160024wmq.48.2022.11.04.15.13.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Nov 2022 15:13:21 -0700 (PDT) References: <87edup9h0y.fsf@beadling.co.uk> <87wn8dtwo5.fsf@gnu.org> User-agent: mu4e 1.4.15; emacs 27.2 From: Phil To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org Subject: Re: Compile skribilo doc containing guix channel references In-reply-to: <87wn8dtwo5.fsf@gnu.org> Message-ID: <87sfiymkqn.fsf@beadling.co.uk> Date: Fri, 04 Nov 2022 22:13:20 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: none client-ip=2a00:1450:4864:20::433; envelope-from=phil@beadling.co.uk; helo=mail-wr1-x433.google.com 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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Guix-devel" Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1667600655; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=Srpo1yrz/423qI9PVzwT7G1+sA/lSPFrSx+EnFQ5soE=; b=CA4nC76/S3A2Nl0eVcP3NQpsy2MpskFVdJOTS5SEEHDW86qJGjsPwHtx/0exu2FXvwxaB5 tjqFMGtdVGowiT4tkI+PwvbbU6XCRZPI4tombCLc1HtwJ+v/nw7Xu9t2awUJ+745Qv/S4+ m3wphJD+5gOyQ9dimQ4KfEJyAWCOKKkSSzOrbS4ftt+SwjkKW9MGxb/6J6tTlrFg2GpVio 4FVZ+53oB56cbecZhLFS9DNznLvNmvgSIEbmph3KKeyawrxPuJtTHZfkWih7q37ktYnRNE 2IxrqOlMEG+9EsVp8L9MSAyfx+J7D1kQ5dV0FIoGLfQfQOWWrsgatIdv8f8+Zw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1667600655; a=rsa-sha256; cv=none; b=YRJLhSmJmGolEgEXVnKu5SSSfYrqdw0BJZ++GB/n2gveqQM9j6aJaWzZweenXMMYBB/T8D nK4+q91Rmejx45G1fmBVoqe/ij/j7HMuEzFT4IvmsrDYmSINki2QyDc0+uZf3aSSa9O7x5 8d8nAnNpKjPalNV42thsc86gCOHgQL/bFx1jVzQOgFwKaHw+zIH2csBwrim8YaDzjrGQMk bNbHrH7XljPK3J0dU6gqfAjgQPAN+BO9be6IdZI+0lNE8NMm2DFs+iFGTnvdyHD70uQbI6 oDj2Dviv9ATmTLi9O9Gl0xdCo3C2QR/ZW5TkaRqvqO6HmKktGVcDQZznXhVKXQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=beadling-co-uk.20210112.gappssmtp.com header.s=20210112 header.b=fxHdeHBq; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.50 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=beadling-co-uk.20210112.gappssmtp.com header.s=20210112 header.b=fxHdeHBq; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 546803E337 X-Spam-Score: -3.50 X-Migadu-Scanner: scn1.migadu.com X-TUID: EVNro+e1V4Bp Hi, Ludovic Court=C3=A8s writes: > We toyed with Skribilo/Guix integration in this paper: > > https://hal.inria.fr/hal-01161771/en > https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/reppar-2= 015/reproducible-hpc.skb > > (Note that it starts with ugly =E2=80=98%load-path=E2=80=99 hacks. :-)) Thanks for the reply and the links, good to see another example. > I would suggest using your own script, executed with =E2=80=98guix repl= =E2=80=99, > instead of the =E2=80=98skribilo=E2=80=99 executable. Something like you= describe in > your second message looks good! I've got the repl approach working without the load path hacks now - creating an --ad-hoc environment containing both guile and skribilo was all that was required in the end. If I can make the approach completely generic I'll post the code somewhere with an example of use. What's cool is it is then possible to reference packages without even having the skribilo document co-located in the same repo as the packages. For example if I have a package in guix called "my-package": (define my-package-str (with-output-to-string (lambda () (pretty-print (package->code my-package))))) You can then reference this in skribilo like this: (prog (source :language scheme my-pacakge-str)) This works great, but I have come-up against one issue I have a proposed fix for. package->code uses a function called source->code, to output the scheme representation of the source. However source->code assumes that the source can only be an "origin" record, but it's also valid that source is a "git-checkout" record. In particular, if the source repo URL is an ssh address rather than an https address using git-checkout is the correct approach - for example: (source (git-checkout (url "ssh://git@myserver/foo/bar.git") (commit "abcdef12345"))) We make extensive use of this, combined with an ssh-agent, to automate authentication on private repositories. Supporting git-checkout in source->code is easy enough - I've written a fix in our guix channel and it works well, happy to contribute this to guix-patches too if it makes sense? The proposed fix can been see here: https://github.com/quantiletechnologies/qt-guix/commit/49900405617fdf6a2e4a= b6f4004306a2770221e0 Finally, I suspect Guix could also be interestingly combined with Haunt to produce and serve HTML generated from Guix content too: https://dthompson.us/manuals/haunt/index.html Cheers, Phil.