2016-10-19 09:46:15 +01:00
|
|
|
|
{ fetchurl, stdenv, python2Packages, makeWrapper, lib
|
2016-08-14 11:48:17 +01:00
|
|
|
|
, xpdf, mesa, freeglut }:
|
2009-03-19 16:40:28 +00:00
|
|
|
|
|
2016-08-14 11:48:17 +01:00
|
|
|
|
let
|
2016-10-19 09:46:15 +01:00
|
|
|
|
inherit (python2Packages) python pyopengl pygame setuptools pillow;
|
2016-08-14 11:48:17 +01:00
|
|
|
|
version = "0.10.5";
|
|
|
|
|
in stdenv.mkDerivation {
|
2009-03-19 16:40:28 +00:00
|
|
|
|
# This project was formerly known as KeyJNote.
|
|
|
|
|
# See http://keyj.s2000.ws/?p=77 for details.
|
|
|
|
|
|
|
|
|
|
name = "impressive-${version}";
|
|
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
|
url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
|
2015-02-08 13:23:29 +00:00
|
|
|
|
sha256 = "0fz1zahxlfjang53wn06svy4s4aw28c79v24gwadvjvv3h1g5wam";
|
2009-03-19 16:40:28 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# Note: We need to have `setuptools' in the path to be able to use
|
|
|
|
|
# PyOpenGL.
|
2015-12-08 14:12:17 +00:00
|
|
|
|
buildInputs = [ makeWrapper xpdf pillow pyopengl pygame ];
|
2009-03-19 16:40:28 +00:00
|
|
|
|
|
|
|
|
|
configurePhase = ''
|
|
|
|
|
sed -i "impressive.py" \
|
|
|
|
|
-e 's|^#!/usr/bin/env.*$|#!${python}/bin/python|g'
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
installPhase = ''
|
2012-01-18 20:16:00 +00:00
|
|
|
|
mkdir -p "$out/bin" "$out/share/doc/impressive"
|
2009-03-19 16:40:28 +00:00
|
|
|
|
mv impressive.py "$out/bin/impressive"
|
|
|
|
|
mv * "$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" \
|
|
|
|
|
--prefix PATH ":" "${xpdf}" \
|
|
|
|
|
--prefix PYTHONPATH ":" \
|
|
|
|
|
${lib.concatStringsSep ":"
|
|
|
|
|
(map (path:
|
2010-03-01 17:08:30 +00:00
|
|
|
|
path + "/lib/${python.libPrefix}/site-packages")
|
2015-12-08 14:12:17 +00:00
|
|
|
|
[ pillow pyopengl pygame setuptools ])} \
|
2016-06-07 19:17:54 +01:00
|
|
|
|
--prefix LIBRARY_PATH ":" "${lib.makeLibraryPath [ mesa freeglut ]}"
|
2009-03-19 16:40:28 +00:00
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
|
description = "Impressive, an effect-rich presentation tool for PDFs";
|
|
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
|
Impressive is a program that displays presentation slides.
|
|
|
|
|
But unlike OpenOffice.org Impress or other similar
|
|
|
|
|
applications, it does so with style. Smooth alpha-blended
|
|
|
|
|
slide transitions are provided for the sake of eye candy, but
|
|
|
|
|
in addition to this, Impressive offers some unique tools that
|
|
|
|
|
are really useful for presentations. Read below if you want
|
|
|
|
|
to know more about these features.
|
|
|
|
|
|
|
|
|
|
Creating presentations for Impressive is very simple: You just
|
|
|
|
|
need to export a PDF file from your presentation software.
|
|
|
|
|
This means that you can create slides in the application of
|
|
|
|
|
your choice and use Impressive for displaying them. If your
|
|
|
|
|
application does not support PDF output, you can alternatively
|
|
|
|
|
use a set of pre-rendered image files – or you use Impressive
|
|
|
|
|
to make a slideshow with your favorite photos.
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
homepage = http://impressive.sourceforge.net/;
|
|
|
|
|
|
2014-06-19 05:19:00 +01:00
|
|
|
|
license = stdenv.lib.licenses.gpl2;
|
2010-03-01 17:08:30 +00:00
|
|
|
|
|
2015-01-13 21:33:24 +00:00
|
|
|
|
maintainers = [ ];
|
2010-03-01 17:08:30 +00:00
|
|
|
|
platforms = stdenv.lib.platforms.mesaPlatforms;
|
2009-03-19 16:40:28 +00:00
|
|
|
|
};
|
|
|
|
|
}
|