impressive: fixes and improvements
- Fix finding SDL (would previously fail unless gcc was in environment) - Use ghostscript rather than xpdf for rendering as it has a slightly smaller closure - Fix broken link for reasoning behind name change - Add self to maintainers - Add reference to DejaVu fonts so it can always find the OSD fonts - Install manpage into correct location
This commit is contained in:
parent
c8e7aab0c8
commit
05101d32c0
@ -1,12 +1,12 @@
|
|||||||
{ fetchurl, stdenv, python2Packages, makeWrapper, lib
|
{ fetchurl, stdenv, python2, makeWrapper, lib
|
||||||
, xpdf, mesa, SDL, freeglut }:
|
, mesa, SDL, freeglut, ghostscript, pdftk, dejavu_fonts }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (python2Packages) python pyopengl pygame setuptools pillow;
|
|
||||||
version = "0.11.1";
|
version = "0.11.1";
|
||||||
|
pythonEnv = python2.withPackages (ps: with ps; [pyopengl pygame pillow]);
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
# This project was formerly known as KeyJNote.
|
# This project was formerly known as KeyJNote.
|
||||||
# See http://keyj.s2000.ws/?p=77 for details.
|
# See http://keyj.emphy.de/apple-lawsuit/ for details.
|
||||||
|
|
||||||
name = "impressive-${version}";
|
name = "impressive-${version}";
|
||||||
|
|
||||||
@ -15,37 +15,26 @@ in stdenv.mkDerivation {
|
|||||||
sha256 = "0b3rmy6acp2vmf5nill3aknxvr9a5aawk1vnphkah61anxp62gsr";
|
sha256 = "0b3rmy6acp2vmf5nill3aknxvr9a5aawk1vnphkah61anxp62gsr";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Note: We need to have `setuptools' in the path to be able to use
|
buildInputs = [ makeWrapper pythonEnv ];
|
||||||
# PyOpenGL.
|
|
||||||
buildInputs = [ makeWrapper xpdf pillow pyopengl pygame ];
|
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
# Let's fail at build time if the library we're substituting in doesn't
|
||||||
|
# exist/isn't marked as executable
|
||||||
|
test -x ${SDL}/lib/libSDL.so
|
||||||
sed -i "impressive.py" \
|
sed -i "impressive.py" \
|
||||||
-e 's|^#!/usr/bin/env.*$|#!${python}/bin/python|g'
|
-e '/^__website__/a SDL_LIBRARY = "${SDL}/lib/libSDL.so"' \
|
||||||
|
-e 's/sdl = CDLL.*/sdl = CDLL(SDL_LIBRARY)/' \
|
||||||
|
-e 's^FontPath =.*/usr/.*$^FontPath = ["${dejavu_fonts}/share/fonts", ""]^'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out/bin" "$out/share/doc/impressive"
|
mkdir -p "$out/bin" "$out/share/doc/impressive" "$out/share/man/man1"
|
||||||
mv impressive.py "$out/bin/impressive"
|
mv impressive.py "$out/bin/impressive"
|
||||||
mv * "$out/share/doc/impressive"
|
mv impressive.1 "$out/share/man/man1"
|
||||||
|
mv changelog.txt impressive.html license.txt "$out/share/doc/impressive"
|
||||||
|
|
||||||
# XXX: We have to reiterate PyOpenGL's dependencies here.
|
|
||||||
#
|
|
||||||
# `setuptools' must be in the Python path as it's used by
|
|
||||||
# PyOpenGL.
|
|
||||||
#
|
|
||||||
# We set $LIBRARY_PATH (no `LD_'!) so that ctypes can find
|
|
||||||
# `libGL.so', which it does by running `gcc', which in turn
|
|
||||||
# honors $LIBRARY_PATH. See
|
|
||||||
# http://python.net/crew/theller/ctypes/reference.html#id1 .
|
|
||||||
wrapProgram "$out/bin/impressive" \
|
wrapProgram "$out/bin/impressive" \
|
||||||
--prefix PATH ":" "${xpdf}/bin" \
|
--prefix PATH ":" "${ghostscript}/bin:${pdftk}/bin"
|
||||||
--prefix PYTHONPATH ":" \
|
|
||||||
${lib.concatStringsSep ":"
|
|
||||||
(map (path:
|
|
||||||
path + "/lib/${python.libPrefix}/site-packages")
|
|
||||||
[ pillow pyopengl pygame setuptools ])} \
|
|
||||||
--prefix LIBRARY_PATH ":" "${lib.makeLibraryPath [ mesa freeglut SDL ]}"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
@ -73,7 +62,7 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = stdenv.lib.licenses.gpl2;
|
||||||
|
|
||||||
maintainers = [ ];
|
maintainers = with lib.maintainers; [ lheckemann ];
|
||||||
platforms = stdenv.lib.platforms.mesaPlatforms;
|
platforms = stdenv.lib.platforms.mesaPlatforms;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user