2017-09-20 17:02:45 +01:00
|
|
|
|
{ fetchurl, stdenv, python2, makeWrapper, lib
|
2018-07-21 01:44:44 +01:00
|
|
|
|
, SDL, ghostscript, pdftk, dejavu_fonts }:
|
2009-03-19 16:40:28 +00:00
|
|
|
|
|
2016-08-14 11:48:17 +01:00
|
|
|
|
let
|
2019-09-26 23:08:13 +01:00
|
|
|
|
version = "0.12.1";
|
2017-09-20 17:02:45 +01:00
|
|
|
|
pythonEnv = python2.withPackages (ps: with ps; [pyopengl pygame pillow]);
|
2016-08-14 11:48:17 +01:00
|
|
|
|
in stdenv.mkDerivation {
|
2009-03-19 16:40:28 +00:00
|
|
|
|
# This project was formerly known as KeyJNote.
|
2017-09-20 17:02:45 +01:00
|
|
|
|
# See http://keyj.emphy.de/apple-lawsuit/ for details.
|
2009-03-19 16:40:28 +00:00
|
|
|
|
|
2019-08-13 22:52:01 +01:00
|
|
|
|
pname = "impressive";
|
|
|
|
|
inherit version;
|
2009-03-19 16:40:28 +00:00
|
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
|
url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
|
2019-09-26 23:08:13 +01:00
|
|
|
|
sha256 = "1r7ihv41awnlnlry1kymb8fka053wdhzibfwcarn78rr3vs338vl";
|
2009-03-19 16:40:28 +00:00
|
|
|
|
};
|
|
|
|
|
|
2021-02-07 09:17:39 +00:00
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
|
buildInputs = [ pythonEnv ];
|
2009-03-19 16:40:28 +00:00
|
|
|
|
|
|
|
|
|
configurePhase = ''
|
2017-09-20 17:02:45 +01:00
|
|
|
|
# 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
|
2009-03-19 16:40:28 +00:00
|
|
|
|
sed -i "impressive.py" \
|
2017-09-20 17:02:45 +01:00
|
|
|
|
-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", ""]^'
|
2009-03-19 16:40:28 +00:00
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
installPhase = ''
|
2017-09-20 17:02:45 +01:00
|
|
|
|
mkdir -p "$out/bin" "$out/share/doc/impressive" "$out/share/man/man1"
|
2009-03-19 16:40:28 +00:00
|
|
|
|
mv impressive.py "$out/bin/impressive"
|
2017-09-20 17:02:45 +01:00
|
|
|
|
mv impressive.1 "$out/share/man/man1"
|
|
|
|
|
mv changelog.txt impressive.html license.txt "$out/share/doc/impressive"
|
2009-03-19 16:40:28 +00:00
|
|
|
|
|
|
|
|
|
wrapProgram "$out/bin/impressive" \
|
2017-09-20 17:02:45 +01:00
|
|
|
|
--prefix PATH ":" "${ghostscript}/bin:${pdftk}/bin"
|
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.
|
|
|
|
|
'';
|
|
|
|
|
|
2020-04-01 02:11:51 +01:00
|
|
|
|
homepage = "http://impressive.sourceforge.net/";
|
2009-03-19 16:40:28 +00:00
|
|
|
|
|
2021-01-15 05:42:41 +00:00
|
|
|
|
license = lib.licenses.gpl2;
|
2010-03-01 17:08:30 +00:00
|
|
|
|
|
2017-09-20 17:02:45 +01:00
|
|
|
|
maintainers = with lib.maintainers; [ lheckemann ];
|
2021-01-15 05:42:41 +00:00
|
|
|
|
platforms = lib.platforms.mesaPlatforms;
|
2009-03-19 16:40:28 +00:00
|
|
|
|
};
|
|
|
|
|
}
|