* [bug#56534] [PATCH] gnu: racket: Add add ffmpeg and portaudio to inputs.
@ 2022-07-13 11:39 Rostislav Svoboda
2022-10-24 12:13 ` [bug#56534] [videolang/video] #lang video on Guix OS (Issue #67) Rostislav Svoboda
2024-04-01 8:34 ` [bug#56534] Bumping 56534 - racket-with-video Steve George
0 siblings, 2 replies; 6+ messages in thread
From: Rostislav Svoboda @ 2022-07-13 11:39 UTC (permalink / raw)
To: 56534; +Cc: Rostislav Svoboda
* ffmpeg and portaudio are required by '#lang video'. See
https://docs.racket-lang.org/video@video/Installing.html#%28part._ffmpeg-specs%29
---
gnu/packages/racket.scm | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index 3399bcc3fe..8a54e2ece4 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -35,6 +35,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 bash)
#:use-module (gnu packages chez)
@@ -51,6 +52,7 @@ (define-module (gnu packages racket)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages video)
#:use-module (gnu packages xorg)
#:use-module ((guix licenses) #:prefix license:))
@@ -591,6 +593,7 @@ (define-public racket
(list
cairo
fontconfig
+ ffmpeg
glib
glu
gmp
@@ -601,6 +604,7 @@ (define-public racket
mesa
mpfr
pango
+ portaudio
unixodbc
libedit ;; TODO reconsider in light of expeditor and readline-gpl
racket-minimal ;; <-- TODO non-tethered layer
@@ -933,6 +937,7 @@ (define-public racket
name)))))
'("cairo"
"fontconfig-minimal" ;; aka fontconfig
+ "ffmpeg"
"glib"
"glu"
"gmp"
@@ -943,6 +948,7 @@ (define-public racket
"mesa"
"mpfr"
"pango"
+ "portaudio"
"unixodbc"
"libedit"))))))))
(synopsis "Programmable programming language in the Scheme family")
--
2.36.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
[parent not found: <videolang/video/issues/67@github.com>]
* [bug#56534] [videolang/video] #lang video on Guix OS (Issue #67)
[not found] <videolang/video/issues/67@github.com>
@ 2022-07-13 21:33 ` Philip McGrath
2023-10-09 13:34 ` Ludovic Courtès
0 siblings, 1 reply; 6+ messages in thread
From: Philip McGrath @ 2022-07-13 21:33 UTC (permalink / raw)
To: reply+ACRURRG2GKRU2ZPHUYFFZAWA3PSRLEVBNHHE3LZV6I, 56534; +Cc: Rostislav Svoboda
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 <https://issues.guix.gnu.org/56534> and <https://github.com/videolang/video/issues/67>.
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 <https://github.com/racket/racket/issues/4357> 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 <https://gitlab.com/philip1/guix-patches/-/tree/zuo> 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 <https://guix.gnu.org/en/blog/2021/reproducible-data-processing-pipelines/> comes up, Guix folks will be able to get `#lang video`'s "sweet high-level functional interface" together with reproducibility of their makefile!
-Philip
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#56534] [videolang/video] #lang video on Guix OS (Issue #67)
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
0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2023-10-09 13:34 UTC (permalink / raw)
To: Philip McGrath
Cc: reply+ACRURRG2GKRU2ZPHUYFFZAWA3PSRLEVBNHHE3LZV6I, 56534,
Rostislav Svoboda
Hello Philip and all,
"Philip McGrath" <philip@philipmcgrath.com> skribis:
> I'm cross-posting this to both <https://issues.guix.gnu.org/56534> and <https://github.com/videolang/video/issues/67>.
>
> 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
It’s been a while. Should one of you add the ‘racket-with-video’
package you proposed? WDYT?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#56534] [videolang/video] #lang video on Guix OS (Issue #67)
2023-10-09 13:34 ` Ludovic Courtès
@ 2023-10-09 14:05 ` Philip McGrath
0 siblings, 0 replies; 6+ messages in thread
From: Philip McGrath @ 2023-10-09 14:05 UTC (permalink / raw)
To: Ludovic Courtès
Cc: reply+ACRURRG2GKRU2ZPHUYFFZAWA3PSRLEVBNHHE3LZV6I, 56534,
Rostislav Svoboda
Hi Ludo’.,
On Mon, Oct 9, 2023, at 9:34 AM, Ludovic Courtès wrote:
> Hello Philip and all,
>
> "Philip McGrath" <philip@philipmcgrath.com> skribis:
>
>> I'm cross-posting this to both <https://issues.guix.gnu.org/56534> and <https://github.com/videolang/video/issues/67>.
>>
>> 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
>
> It’s been a while. Should one of you add the ‘racket-with-video’
> package you proposed? WDYT?
>
I'd be happy to give it a try, though I may not have time until next week (definitely not today).
IIRC, all of the potential complications I mentioned up-thread have been solved by now, so it should just be a matter of collecting all the dependencies.
Philip
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-04-01 8:35 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-13 11:39 [bug#56534] [PATCH] gnu: racket: Add add ffmpeg and portaudio to inputs Rostislav Svoboda
2022-10-24 12:13 ` [bug#56534] [videolang/video] #lang video on Guix OS (Issue #67) Rostislav Svoboda
2024-04-01 8:34 ` [bug#56534] Bumping 56534 - racket-with-video Steve George
[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
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.