1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
title: My First GNU Guix Patch
date: 2013-10-16 21:00
tags: gnu, guix, scheme, guile, wsu
summary: I packaged libtheora for GNU Guix
---
Over the weekend, I decided to try out GNU Guix: A fully functional
package manager based on Nix and a distribution of the GNU system. I’m
a big proponent of GNU Guile, thus I was excited to see a DSL for
package management written with Guile.
I was told that libtheora would be pretty easy to package, and it
was. Here’s what the package definition looks like:
```scheme
(define libtheora
(package
(name "libtheora")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.xiph.org/releases/theora/libtheora-"
version ".tar.xz"))
(sha256
(base32
"0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk"))))
(build-system gnu-build-system)
(inputs `(("libvorbis" ,libvorbis)))
;; The .pc files refer to libogg.
(propagated-inputs `(("libogg" ,libogg)))
(synopsis "Library implementing the Theora video format")
(description
"The libtheora library implements the ogg theora video format,
a fully open, non-proprietary, patent-and-royalty-free, general-purpose
compressed video format.")
(license license:bsd-3)
(home-page "http://xiph.org/theora/")))
```
Pretty slick, eh? Now, I’m starting to work on packaging SDL (1.2
and 2) and the SDL extensions (gfx, ttf, etc.), which are not quite as
easy. I hope to package all of the dependencies that guile-2d will
need to be available as a Guix package.
|