From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id cDWZObU6z2K9LgAAbAwnHQ (envelope-from ) for ; Wed, 13 Jul 2022 23:35:50 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id oHO9OLU6z2J9ewAAG6o9tA (envelope-from ) for ; Wed, 13 Jul 2022 23:35:49 +0200 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 361DF1262F for ; Wed, 13 Jul 2022 23:35:49 +0200 (CEST) Received: from localhost ([::1]:44042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oBk1K-0001tO-W1 for larch@yhetil.org; Wed, 13 Jul 2022 17:35:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oBk0c-0001sw-St for guix-patches@gnu.org; Wed, 13 Jul 2022 17:35:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:53973) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oBk0c-0007AL-Jb for guix-patches@gnu.org; Wed, 13 Jul 2022 17:35:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oBk0c-0000hE-Hh for guix-patches@gnu.org; Wed, 13 Jul 2022 17:35:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56534] [videolang/video] #lang video on Guix OS (Issue #67) Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 13 Jul 2022 21:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56534 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: reply+ACRURRG2GKRU2ZPHUYFFZAWA3PSRLEVBNHHE3LZV6I@reply.github.com, 56534@debbugs.gnu.org Cc: Rostislav Svoboda Received: via spool by 56534-submit@debbugs.gnu.org id=B56534.16577480422595 (code B ref 56534); Wed, 13 Jul 2022 21:35:02 +0000 Received: (at 56534) by debbugs.gnu.org; 13 Jul 2022 21:34:02 +0000 Received: from localhost ([127.0.0.1]:47870 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oBjza-0000fS-5V for submit@debbugs.gnu.org; Wed, 13 Jul 2022 17:34:02 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:59831) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oBjzV-0000f4-69 for 56534@debbugs.gnu.org; Wed, 13 Jul 2022 17:33:57 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 27D775C00FC; Wed, 13 Jul 2022 17:33:47 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Wed, 13 Jul 2022 17:33:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1657748027; x= 1657834427; bh=mI809hItLNxEIB2WxrzguOGCQPy0NZrtm3Ykmn2XIhI=; b=S F24yyds1gHi75WL5m1ju8rJfAa+vGX6/35V49qcYapeRce1/NfcrTvVfa9nQFe0C zRfcmc29Bu+tSo6DOzWIk7gnCAhAMymDbmmGBb4fB03jm/scouP82ZUlc+KBS2O1 jd90c9ArOnnRQUh1kEK1uTmG7Isf9vaMqyCF/BgKEn6epBe4TxpOZSWon54w2j0q ykrCOFYeCI8j5/05QKTJTb9GZPtdPeM0MabM9gyYop3aY32EALV2rmW/CuDrQXeH ngoh5VQ2GRoWiIPOdFyWRRN+HCrLleWyXTl0YeNA5PluCrxlgZaRfA5Fd2LeF6xz a4bBP1Ibuk8Nrgs1F+b5A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1657748027; x=1657834427; bh=mI809hItLNxEIB2WxrzguOGCQPy0 NZrtm3Ykmn2XIhI=; b=m/UNq6SOIl/l0/tWyIfivO0Jb6jrCP09iIaOuoGKb6i4 zsuk8aQCVLoBQA9jrRlDW8VZRIC2RBVsGxLmHP+h8v9TxTICDnFpdwHhLgaxufDv SFBekPfzCiIOtmLnZza2aGFRi02BZrSUF2NIQXIsOufrWUtKJVhTbx/4lgFER1yk aTTYqJjYWxFwsPR2o1eykgj9qIvJz52kjPvRuyfPssME0fCT0006Ih0V2+P/O6Dp Sbpid2tpxMtrr8vwofgXh0lq0BJMSuxf8OhOo9XUvgNi1uKBIkXnrE7WyTa/khoM 6vGz2T+47gmthZzVz2/l7WkovwasZRM/YLqg5aV2JA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudejjedgudeifecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpeeljefgledvjeevveevhefhffehffffiefg tdekkeeileejiefgvdetkeejffffgfenucffohhmrghinhepghhnuhdrohhrghdprhgrtg hkvghtqdhlrghnghdrohhrghdpghhithhhuhgsrdgtohhmpdhlrghnghdrvhhiuggvohdp ghhithhlrggsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id D7E5FC6008B; Wed, 13 Jul 2022 17:33:46 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-755-g3e1da8b93f-fm-20220708.002-g3e1da8b9 Mime-Version: 1.0 Message-Id: In-Reply-To: References: Date: Wed, 13 Jul 2022 17:33:25 -0400 From: "Philip McGrath" Content-Type: text/plain X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1657748149; 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:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=mI809hItLNxEIB2WxrzguOGCQPy0NZrtm3Ykmn2XIhI=; b=inaykoO+ly72ZasGbf3xoSJ4aKzrgLrIU/D6rWiY2zUiAxOoxhxUzdS3Fm7d9zbD8kA4gO Fj2f2pXYZq/9Uj0B06KA4o8eLD4i9hBEF2SVyXwE6eV2aKXl5VtcOFXMoLm/smNcn0v9kb 9hhDjPlnoEOpKIAXh9hXLrVWMyvX2FW0ZLlGLbkEydG5aKKBD5cAiIlHImNk85mQfxzmc3 khpirDAK7CzmRM4zCYKku2fqhqiKs918TP/5/750bL88y87FC/Y7zbc3GMefxRwIoLNtR2 vPrKHZKtsY+dMqAvWXZ30sLbrYB6Qf5GtavFTh4MD6faE0JkNEwdVeWIV+ZDlg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1657748149; a=rsa-sha256; cv=none; b=OxEFJROciFiyBQQUB6wog5w4c/QSlE7YF0WdWXNQYKQsDBnfAgdW4XdYvBmM77UZYLaPKb sdVI1Hd3yFevGIY/W2A5TnaBa62jrgXjyLyGZR/180sK8/1TNlVUuJSAvxYQdsMI1juqkf 9yI4toGaWZFyOndzN3zLJf3Q6/qYIgXpz80O8nyD73J3r/4j1dI2gLlZhrZ09L8clR/HSH sI/1y0BppxidSRfsMkCswUAFZlh47n+vR8tEMYrt8+8bZYQeHqZKH0JKuLDB0wrDO0wTvJ sr7qDpYHkVpWeeaVUwKMI/Q6y2pbeJrA7+Ut3SsYOrU/PIhH+I6l74zb1EhF1A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=fm3 header.b="S F24yyd"; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b="m/UNq6SO"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 1.97 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=fm3 header.b="S F24yyd"; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b="m/UNq6SO"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 361DF1262F X-Spam-Score: 1.97 X-Migadu-Scanner: scn1.migadu.com X-TUID: q45Rd3gVN0Cl Hi, On Wed, Jul 13, 2022, at 7:55 AM, Bost wrote: > > > Hi Leif, > > FYI I just created a patch [1] enabling #lang video on the Guix OS. I guess you might want to extend the list [2] of supported operating systems when the patch gets merged ;-) > > Cheers > > Bost > > > [1] https://issues.guix.gnu.org/56534 > [2] https://docs.racket-lang.org/video@video/Installing.html > It's great to see more Racketeers interested in Guix! I'm cross-posting this to both and . I've been working for some time toward making a Guix build system and importer for Racket packages: I'm optimistic that I may get something working between the Racket 8.6 and 8.7 releases. For now, I would suggest not adding `portaudio` and `ffmpeg` as inputs to the main `racket` package. Instead, if you want to get something working for now, I would suggest adding a new package `racket-with-video` that extends the `racket` package in the same way that `racket` extends `racket-minimal`. I'd expect it would go somewhat like this ```scheme (define-public racket-with-video (let* ((commit "3c69669063c56ff8d269768589cb9506a33315e5") (revision "1") (video-version (git-version "0.2.3" revision commit))) (package (inherit racket) (version (string-append %racket-version "+video" video-version)) (source #f) (native-inputs '()) (inputs (list racket (racket-vm-for-system) ffmpeg portaudio (racket-packages-origin "video" (origin (method git-fetch) (uri (git-reference (url "https://github.com/videolang/video") (commit commit))) (sha256 (base32 "17lysqgd4h0kdx73vzmsdqc6ip5rlk56hss3880yapvic14lf5dy")) (file-name (git-file-name "racket-video" video-version))) '("video")) #| ... likewise for other packages not in main-distribution, particularly libvid ... |#)) (arguments (substitute-keyword-arguments (package-arguments racket) ((#:make-flags _ '()) #~`("video")) ((#:configure-flags _ '()) #~`("--tethered" "--extra-foreign-lib-search-dirs" ,(format #f "~s" '(#$@(map (lambda (name) (cond ((this-package-input name) => (cut file-append <> "/lib")) (else (raise (formatted-message (G_ "missing input '~a' to the 'racket-with-video' package") name))))) '("portaudio" "ffmpeg")))))))) (home-page "https://lang.video") (synopsis "Racket with @code{#lang video}") (description "Video is a language for making movies. It combines the power of a traditional video editor with the capabilities of a full programming language. Video integrates with the Racket ecosystem and extensions for DrRacket to transform it into a non-linear video editor.") (license license:asl2.0)))) ``` Those helper functions are not exported from (gnu packages racket) because they're hack-ish and should be replaced with proper build system support, but hopefully you can see from the docstrings how they work for now. I ran into while working on this example: we'd need to backport a fix for that, or it might make it into 8.6. Incidentally, you might be interested in my branch at getting ready for the Racket release: I'll be updating it to the new 8.5.900 release candidate soon. @LeifAndersen, I used 3c69669063c56ff8d269768589cb9506a33315e5 because I expect Guix would run into that issue during our build process, but we could use the stable branch or cherry-pick it if you think that would be better. Hopefully by the next time a situation like comes up, Guix folks will be able to get `#lang video`'s "sweet high-level functional interface" together with reproducibility of their makefile! -Philip