summaryrefslogtreecommitdiff
path: root/posts/2013-10-16-first-guix-package.md
diff options
context:
space:
mode:
Diffstat (limited to 'posts/2013-10-16-first-guix-package.md')
-rw-r--r--posts/2013-10-16-first-guix-package.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/posts/2013-10-16-first-guix-package.md b/posts/2013-10-16-first-guix-package.md
new file mode 100644
index 0000000..1b5c704
--- /dev/null
+++ b/posts/2013-10-16-first-guix-package.md
@@ -0,0 +1,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.