70 lines
2.6 KiB
Nix
70 lines
2.6 KiB
Nix
{ fetchurl, stdenv, python2, makeWrapper, lib
|
||
, SDL, ghostscript, pdftk, dejavu_fonts }:
|
||
|
||
let
|
||
version = "0.12.1";
|
||
pythonEnv = python2.withPackages (ps: with ps; [pyopengl pygame pillow]);
|
||
in stdenv.mkDerivation {
|
||
# This project was formerly known as KeyJNote.
|
||
# See http://keyj.emphy.de/apple-lawsuit/ for details.
|
||
|
||
pname = "impressive";
|
||
inherit version;
|
||
|
||
src = fetchurl {
|
||
url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
|
||
sha256 = "1r7ihv41awnlnlry1kymb8fka053wdhzibfwcarn78rr3vs338vl";
|
||
};
|
||
|
||
buildInputs = [ makeWrapper pythonEnv ];
|
||
|
||
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" \
|
||
-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 = ''
|
||
mkdir -p "$out/bin" "$out/share/doc/impressive" "$out/share/man/man1"
|
||
mv impressive.py "$out/bin/impressive"
|
||
mv impressive.1 "$out/share/man/man1"
|
||
mv changelog.txt impressive.html license.txt "$out/share/doc/impressive"
|
||
|
||
wrapProgram "$out/bin/impressive" \
|
||
--prefix PATH ":" "${ghostscript}/bin:${pdftk}/bin"
|
||
'';
|
||
|
||
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/";
|
||
|
||
license = stdenv.lib.licenses.gpl2;
|
||
|
||
maintainers = with lib.maintainers; [ lheckemann ];
|
||
platforms = stdenv.lib.platforms.mesaPlatforms;
|
||
};
|
||
}
|