diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix new file mode 100644 index 000000000000..5de501ebd415 --- /dev/null +++ b/pkgs/applications/office/impressive/default.nix @@ -0,0 +1,77 @@ +{ fetchurl, stdenv, python, makeWrapper, lib +, xpdf, pil, pyopengl, pygame +, setuptools, mesa, freeglut }: + +let version = "0.10.2"; +in + stdenv.mkDerivation { + # 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"; + sha256 = "1py36h9085ycxj3qnmqdps0dfghlr5qb2i62l0ynzngn55dgz950"; + }; + + # Note: We need to have `setuptools' in the path to be able to use + # PyOpenGL. + buildInputs = [ makeWrapper xpdf pil pyopengl pygame ]; + + configurePhase = '' + sed -i "impressive.py" \ + -e 's|^#!/usr/bin/env.*$|#!${python}/bin/python|g' + ''; + + installPhase = '' + ensureDir "$out/bin" "$out/share/doc/impressive" + 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: + path + "/lib/python2.5/site-packages:" + + path + "/lib/python2.4/site-packages") + [ pil pyopengl pygame setuptools ])} \ + --prefix LIBRARY_PATH ":" "${mesa}/lib:${freeglut}/lib" + ''; + + 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 = "GPLv2"; + }; + } diff --git a/pkgs/applications/office/keyjnote/default.nix b/pkgs/applications/office/keyjnote/default.nix deleted file mode 100644 index 3d8093dc2668..000000000000 --- a/pkgs/applications/office/keyjnote/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ fetchurl, stdenv, python, makeWrapper, lib -, xpdf, pil, pyopengl, pygame -, setuptools, mesa, freeglut }: - -let version = "0.10.2"; -in - stdenv.mkDerivation { - name = "keyjnote-${version}"; - - src = fetchurl { - # XXX: This project has become homeless and Debian seems to be - # the only reliable way to get its source. - url = "mirror://debian/pool/main/k/keyjnote/keyjnote_${version}.orig.tar.gz"; - sha256 = "1rnc17da5fkfip2ijzlhxh31rykq5v5bknil8q6xnx30w8ydmy1s"; - }; - - # Note: We need to have `setuptools' in the path to be able to use - # PyOpenGL. - buildInputs = [ makeWrapper xpdf pil pyopengl pygame ]; - - configurePhase = '' - sed -i "keyjnote.py" \ - -e 's|^#!/usr/bin/env.*$|#!${python}/bin/python|g' - ''; - - installPhase = '' - ensureDir "$out/bin" "$out/share/doc/keyjnote" - mv keyjnote.py "$out/bin/keyjnote" - mv * "$out/share/doc/keyjnote" - - # 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/keyjnote" \ - --prefix PATH ":" "${xpdf}" \ - --prefix PYTHONPATH ":" \ - ${lib.concatStringsSep ":" - (map (path: - path + "/lib/python2.5/site-packages:" + - path + "/lib/python2.4/site-packages") - [ pil pyopengl pygame setuptools ])} \ - --prefix LIBRARY_PATH ":" "${mesa}/lib:${freeglut}/lib" - ''; - - meta = { - description = "KeyJnote, an effect-rich presentation tool for PDFs"; - - # This project has become homeless and will be renamed! - # See http://keyj.s2000.ws/?p=77 for details. - #homepage = http://keyjnote.sourceforge.net/; - - license = "GPLv2"; - }; - } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 49e85b8551ec..260f52a9eb98 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8243,6 +8243,14 @@ let inherit (xlibs) libX11; }; + # Impressive, formerly known as "KeyJNote". + impressive = import ../applications/office/impressive { + inherit fetchurl stdenv xpdf pil pyopengl pygame makeWrapper lib python; + + # XXX These are the PyOpenGL dependencies, which we need here. + inherit setuptools mesa freeglut; + }; + inkscape = import ../applications/graphics/inkscape { inherit fetchurl stdenv perl perlXMLParser pkgconfig zlib popt libxml2 libxslt libpng boehmgc fontconfig @@ -8279,13 +8287,6 @@ let inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg perl qt3; }; - keyjnote = import ../applications/office/keyjnote { - inherit fetchurl stdenv xpdf pil pyopengl pygame makeWrapper lib python; - - # XXX These are the PyOpenGL dependencies, which we need here. - inherit setuptools mesa freeglut; - }; - kino = import ../applications/video/kino { inherit fetchurl stdenv pkgconfig libxml2 perl perlXMLParser libdv libraw1394 libavc1394 libiec61883 x11 gettext cairo; /* libavformat */