diff --git a/pkgs/applications/graphics/xscreensaver/default.nix b/pkgs/applications/graphics/xscreensaver/default.nix index 2701892aa4a5..7dfe31f8957a 100644 --- a/pkgs/applications/graphics/xscreensaver/default.nix +++ b/pkgs/applications/graphics/xscreensaver/default.nix @@ -1,41 +1,36 @@ -args : with args; let localDefs = builderDefs.passthru.function (args // rec { - version = lib.attrByPath ["version"] "5.10" args; - src = /* put a fetchurl here */ - fetchurl { - url = "http://www.jwz.org/xscreensaver/xscreensaver-${version}.tar.gz"; - sha256 = "07zy157wqwgcapqycyv89yabxa8byk4p8jn3zlvhf7lx5w1xmval"; - }; - useConfig = true; - reqsList = [ - ["true" "libX11" "pkgconfig" "bc" "perl" "intltool" "libXmu"] - ["GL" "mesa"] - ["GUI" "gtk" "libxml2" "libglade"] - ["jpeg" "libjpeg"] - ["false"] - ]; - configFlags = [ - "GL" " --with-gl " - "gdkpixbuf" " --with-pixbuf " - "DPMS" " --with-dpms " - "true" (" --with-x-app-defaults=\$out/share/xscreensaver/app-defaults "+ - " --with-hackdir=\$out/share/xscreensaver-hacks ") - ]; - }); - in with localDefs; -let - preConfigure = fullDepEntry (" - sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' "+ - "-i driver/Makefile.in po/Makefile.in.in; - ") ["minInit" "doUnpack"]; -in +{ stdenv, fetchurl, pkgconfig, bc, perl, xlibs, libjpeg, mesa, gtk +, libxml2, libglade }: + stdenv.mkDerivation rec { - name = "xscreensaver-5.10"; - buildCommand = textClosure localDefs - [preConfigure doConfigure doMakeInstall doForceShare doPropagate]; - meta = { - description = "A set of screensavers"; - inherit src; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.allBut "i686-cygwin"; - }; + name = "xscreensaver-5.10"; + + src = fetchurl { + url = "http://www.jwz.org/xscreensaver/${name}.tar.gz"; + sha256 = "07zy157wqwgcapqycyv89yabxa8byk4p8jn3zlvhf7lx5w1xmval"; + }; + + buildInputs = + [ pkgconfig bc perl libjpeg mesa gtk libxml2 libglade + xlibs.xlibs xlibs.libXmu + ]; + + configureFlags = + [ "--with-gl" + "--with-dpms" + "--with-pixbuf" + "--with-x-app-defaults=\$out/share/xscreensaver/app-defaults" + "--with-hackdir=\$out/share/xscreensaver-hacks" + ]; + + preConfigure = + '' + sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' \ + -i driver/Makefile.in po/Makefile.in.in + ''; + + meta = { + description = "A set of screensavers"; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = stdenv.lib.platforms.allBut "i686-cygwin"; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 49c50d409cf8..7ff135b2c9c8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8189,14 +8189,8 @@ let pyrex = pyrex095; }; - xscreensaverBase = composedArgsAndFun (import ../applications/graphics/xscreensaver) { - inherit stdenv fetchurl builderDefs lib pkgconfig bc perl intltool; - inherit (xlibs) libX11 libXmu; - }; - - xscreensaver = xscreensaverBase.passthru.function { - flags = ["GL" "gdkpixbuf" "DPMS" "gui" "jpeg"]; - inherit mesa libxml2 libjpeg; + xscreensaver = makeOverridable (import ../applications/graphics/xscreensaver) { + inherit stdenv fetchurl pkgconfig bc perl xlibs libjpeg mesa libxml2; inherit (gtkLibs) gtk; inherit (gnome) libglade; };