From patchwork Sat Oct 21 02:01:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 55105 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6DDA327BBEB; Sat, 21 Oct 2023 03:03:14 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A253B27BBE9 for ; Sat, 21 Oct 2023 03:03:13 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qu1K5-0000Ay-MP; Fri, 20 Oct 2023 22:02:41 -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 1qu1K1-0000A3-E1 for guix-patches@gnu.org; Fri, 20 Oct 2023 22:02:38 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qu1K0-0007nZ-3w for guix-patches@gnu.org; Fri, 20 Oct 2023 22:02:37 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qu1KR-0001XT-J0 for guix-patches@gnu.org; Fri, 20 Oct 2023 22:03:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56534] [PATCH v2 4/4] gnu: Add racket-with-video. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 21 Oct 2023 02:03:03 +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: 56534@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath , Rostislav Svoboda Received: via spool by 56534-submit@debbugs.gnu.org id=B56534.16978537565860 (code B ref 56534); Sat, 21 Oct 2023 02:03:03 +0000 Received: (at 56534) by debbugs.gnu.org; 21 Oct 2023 02:02:36 +0000 Received: from localhost ([127.0.0.1]:41949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qu1Jz-0001WQ-Px for submit@debbugs.gnu.org; Fri, 20 Oct 2023 22:02:36 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:45585) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qu1Js-0001Vm-Of for 56534@debbugs.gnu.org; Fri, 20 Oct 2023 22:02:29 -0400 Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.west.internal (Postfix) with ESMTP id 561B73200994; Fri, 20 Oct 2023 22:01:55 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Fri, 20 Oct 2023 22:01:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :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=1697853714; x=1697940114; bh=1hbMGIszRS EM84D7SDWqNax6q3vXoRgQvbp7Ahsv7pY=; b=0GwDUXBqOiZve+O9+3nfwciqVE yio6PRhFXRpmgdILDzpxBBNPBKhnfUS6klGI5czdoOVIbIDVNmEA5YrkEVEM8FR8 Eg5Np+GNL/3nZZNlCGgFCrc/Ks1itDVa8Vp+4KNaIjIEsz4aTyQy34viezE8cfy1 wS11G5UM18Fhx9kkFAmlI4PSve6VMef1jVWFwGPqE5hAohCtf5fN3CG9Kw3Dq+K7 rfqAdp4wittliGKAQr5dmmkYU3PAT4GxZZ/rFOpXjm8WQ36NDxAs9kXpDjz+5ZGl bsxmAoDZfhfurrEQNO6KIYSP/xhN5w87HsuXz0J7raBXdGJTPq7xKubNLw+w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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=1697853714; x= 1697940114; bh=1hbMGIszRSEM84D7SDWqNax6q3vXoRgQvbp7Ahsv7pY=; b=m xiA5l4X84ZYTGgcg/SRuTNHrddDy08xaz5nI4+W+S1t9Z2hePVCcf19NDQJJti03 wUU/Y/IY6cPtsRbr8wO94s/eU8CVCvZVwokzlDfdgIE1baIA3jW+ATAa98q9gpzv 8YssSE/LmlonrDs61hMsgFePMHIAYJQL/S2c9Eq7wirne0F34yXgkCY6ePTUp4m7 52HbqK2eCRSI9FOU/s1YfxDqS+n1fHL1dULBG5XEOTgIfdjafIjgY8qNNsJm9YBj YhjJgzkn0wk2vdtkiMFzUgYySpJgaTbHPAKc0so0/T/WmvwOorzcVsShwJ/FDDsz k+Ea6xarcql865QjnIhLQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrjeelgdehtdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefrhhhilhhi phcuofgtifhrrghthhcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomh eqnecuggftrfgrthhtvghrnhepteeihfeihffhteettedtveekfeelkeegfffhteeliefh tdffjeegleevffevffeunecuffhomhgrihhnpehgihhthhhusgdrtghomhdplhgrnhhgrd hvihguvghonecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 20 Oct 2023 22:01:53 -0400 (EDT) From: Philip McGrath Date: Fri, 20 Oct 2023 22:01:14 -0400 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: <80cbe78b-921b-4b05-baa6-7216fec01297@app.fastmail.com> MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/racket.scm (racket-with-video): New variable. --- gnu/packages/racket.scm | 159 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 5468fff6c4..14849e14ec 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -36,6 +36,7 @@ (define-module (gnu packages racket) #:use-module (srfi srfi-34) #:use-module (ice-9 match) #:use-module (gnu packages) + #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages chez) #:use-module (gnu packages compression) @@ -1114,6 +1115,164 @@ (define-public racket-libvid interoperate more easily with Racket's foreign interface.") (license license:asl2.0)))) +(define-public racket-with-video + (let* ((commit "3c69669063c56ff8d269768589cb9506a33315e5") + (revision "1") + (video-version (git-version "0.2.3" revision commit))) + (package + (inherit racket) + (name "racket-with-video") + (version (string-append %racket-version "+video" video-version)) + (source #f) + (native-inputs '()) + (inputs + (list + racket + racket-vm-cs + portaudio + racket-portaudio-librsoundcallbacks + racket-libvid + (lookup-package-input racket-libvid "ffmpeg") ; get the right version + (racket-packages-origin + "video" (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/videolang/video") + (commit commit))) + (sha256 + (base32 "17lysqgd4h0kdx73vzmsdqc6ip5rlk56hss3880yapvic14lf5dy")) + (snippet + #~(begin + (use-modules (guix build utils)) + (substitute* "info.rkt" + ;; remove dependencies on pre-built libvid + (("[(]\"libvid-.*linux" orig) + (string-append "#|removed for Guix|# #;" orig))))) + (file-name (git-file-name "racket-video" video-version))) + '(("video" "."))) + (let ((commit "fffe0d44e6183d19b5e2b22bf07be4192994243b")) + (racket-packages-origin + "bitsyntax" (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tonyg/racket-bitsyntax") + (commit commit))) + (sha256 + (base32 "0bvadklalbabd06r4a5jl6p41xmibr88iq4lq6ykcyng86r65rk3")) + (file-name (git-file-name "racket-bitsyntax" + (git-version "0.0" "1" commit)))) + '(("bitsyntax" ".")))) + (let ((commit "f06848871ed7b4b488341fdd73e9f640b4788733")) + (racket-packages-origin + "graph" (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stchang/graph") + (commit commit))) + (sha256 + (base32 "0smpd3nrxx91j32pkixq765dkgsyqxalkarc05kh76xmsvrrwgxk")) + (file-name (git-file-name "racket-graph" + (git-version "0.5.2" "1" commit)))) + '("graph" "graph-lib" "graph-doc" "graph-test" "gen-queue-lib"))) + (let ((commit "69993f73dab8382796be37998ec47ded7883faf7")) + (racket-packages-origin + "lang-file" (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AlexKnauth/lang-file") + (commit commit))) + (sha256 + (base32 "1ij2ijpc0x5qyvvx5jwvi52gwk2972zrhz3481k91c3naxjaxyqq")) + (file-name (git-file-name "racket-lang-file" + (git-version "0.0" "1" commit)))) + '("lang-file" "lang-file-lib"))) + (let ((commit "1aaf2b2836680f807fbec5234ed475585b41b4ab")) + (racket-packages-origin + "opengl" (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stephanh42/RacketGL") + (commit commit))) + (sha256 + (base32 "1dc55jhwydin6f1c2bpzls3fzip3gg2j5aq2gwrkzvifj6p8wxj6")) + (file-name (git-file-name "racket-opengl" + (git-version "0.0" "1" commit)))) + '(("opengl" ".")))) + (racket-packages-origin + "portaudio" (package-source racket-portaudio-librsoundcallbacks) + '(("portaudio" "."))) + (let ((commit "141332655e6c3003f847282d4187882aa8c95792")) + (racket-packages-origin + "ppict" (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rmculpepper/ppict") + (commit commit))) + (sha256 + (base32 "01ncygig6rp3hg6j5cgs11wlyplmcvim1iq93m4by6dwqvzq7ycm")) + (file-name (git-file-name "racket-ppict" + (git-version "1.2" "1" commit)))) + '(("ppict" ".")))) + (let ((commit "f38e629f9713d2bc2691538b2ce5784bb1187252")) + (racket-packages-origin + "reprovide-lang" (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AlexKnauth/reprovide-lang") + (commit commit))) + (sha256 + (base32 "08i4lgir6n0sbd6iaz1jnk07vr5lr6pvr9a6a7rvxs2xyy5sdxk1")) + (file-name (git-file-name "racket-reprovide-lang" + (git-version "0.0" "1" commit)))) + '("reprovide-lang" "reprovide-lang-lib"))) + (let ((commit "d20497348015aecb309bdddd29cebea4a0b35664")) + (racket-packages-origin + "syntax-macro-lang" (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AlexKnauth/syntax-macro-lang") + (commit commit))) + (sha256 + (base32 "01dkp9z8rfnp788py9m6n16fvws2iwf6qypd85v7dqv8q2dpk89x")) + (file-name (git-file-name "racket-syntax-macro-lang" + (git-version "0.0" "1" commit)))) + '(("syntax-macro-lang" ".")))))) + (arguments + (substitute-keyword-arguments (package-arguments racket) + ((#:phases std-phases) + #~(modify-phases #$std-phases + (add-before 'install 'log + (lambda args + (setenv "PLTSTDERR" "error debug@setup"))))) + ((#: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" + "racket-portaudio-librsoundcallbacks" + "racket-libvid" + "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)))) + (define configure-layer.rkt (scheme-file "configure-layer.rkt"