all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Philip McGrath <philip@philipmcgrath.com>
To: 56534@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>,
	"Philip McGrath" <philip@philipmcgrath.com>,
	"Rostislav Svoboda" <rostislav.svoboda@gmail.com>
Subject: [bug#56534] [PATCH v2 4/4] gnu: Add racket-with-video.
Date: Fri, 20 Oct 2023 22:01:14 -0400	[thread overview]
Message-ID: <efb92bac50f2a2cefbf62416d5e4d5bafcfe8798.1697849395.git.philip@philipmcgrath.com> (raw)
In-Reply-To: <cover.1697849395.git.philip@philipmcgrath.com>

* 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"
-- 
2.41.0





  parent reply	other threads:[~2023-10-21  2:03 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <videolang/video/issues/67@github.com>
2022-07-13 21:33 ` [bug#56534] [videolang/video] #lang video on Guix OS (Issue #67) Philip McGrath
2023-10-09 13:34   ` Ludovic Courtès
2023-10-09 14:05     ` Philip McGrath
2023-10-21  1:58   ` [bug#56534] [PATCH v2 0/4] gnu: Add racket-with-video Philip McGrath
2023-10-21  2:01     ` [bug#56534] [PATCH v2 1/4] gnu: racket: Fix layered documentation rendering Philip McGrath
2023-10-21  2:01     ` [bug#56534] [PATCH v2 2/4] gnu: Add racket-portaudio-librsoundcallbacks Philip McGrath
2023-10-21  2:01     ` [bug#56534] [PATCH v2 3/4] gnu: Add racket-libvid Philip McGrath
2023-10-21  2:01     ` Philip McGrath [this message]
2023-10-21  2:13     ` [bug#56534] [PATCH v2 0/4] gnu: Add racket-with-video Philip McGrath

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=efb92bac50f2a2cefbf62416d5e4d5bafcfe8798.1697849395.git.philip@philipmcgrath.com \
    --to=philip@philipmcgrath.com \
    --cc=56534@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    --cc=rostislav.svoboda@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.