Andy Wingo <wi...@pobox.com> writes: > From 42e4d5669bd12dbe7de3e47d14f987a0f3cd7059 Mon Sep 17 00:00:00 2001 > From: Andy Wingo <wi...@pobox.com> > Date: Sun, 5 Apr 2015 11:28:32 +0200 > Subject: [PATCH 2/3] gnu: Add libepoxy. > > * gnu/packages/gl.scm (libepoxy): New variable. > --- > gnu/packages/gl.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 46 insertions(+) > > > diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm > index dc90a12..15bc91c 100644 > --- a/gnu/packages/gl.scm > +++ b/gnu/packages/gl.scm > @@ -418,3 +418,49 @@ extension functionality is exposed in a single header > file.") > "Guile-OpenGL is a library for Guile that provides bindings to the > OpenGL graphics API.") > (license l:lgpl3+))) > + > +(define-public libepoxy > + (package > + (name "libepoxy") > + (version "1.2") > + (source (origin > + (method url-fetch) > + (uri (string-append > + "https://github.com/anholt/libepoxy/archive/v" > + version > + ".tar.gz"))
For source URIs like this, where the last file name component doesn't contain the package name (in this case it is "v1.2.tar.gz"), we prefer to add a 'file-name' field to the 'origin' form: (file-name (string-append name "-" version ".tar.gz")) Otherwise, the file name of the source tarball in the store will be /gnu/store/<HASH>-v1.2.tar.gz which is suboptimal. > + (sha256 > + (base32 > + "1xp8g6b7xlbym2rj4vkbl6xpb7ijq7glpv656mc7k9b01x22ihs2")))) > + (arguments > + '(#:phases > + (alist-cons-after > + 'unpack 'autoreconf > + (lambda _ > + (zero? (system* "autoreconf" "-vif"))) > + (alist-cons-before > + 'configure 'patch-paths > + (lambda* (#:key inputs #:allow-other-keys) > + (let ((python (assoc-ref inputs "python")) > + (mesa (assoc-ref inputs "mesa"))) > + (substitute* "src/gen_dispatch.py" > + (("/usr/bin/env python") python)) > + (substitute* (find-files "." "\\.[ch]$") > + (("libGL.so.1") (string-append mesa "/lib/libGL.so.1")) > + (("libEGL.so.1") (string-append mesa "/lib/libEGL.so.1"))))) Phases are supposed to return true for success or false for failure. Since 'substitute*'s return value is unspecified, we should add a #t to the end. I went ahead and pushed this to 'core-updates' with these changes. Thanks! Mark