anchor.diff:  with stdenv.lib;
   
   stdenv.mkDerivation rec {
  -  name = "conky-1.9.0";
  +  name = "conky-${version}";
  +  version = "1.10.0";
   
  -  src = fetchurl {
  -    url = "mirror://sourceforge/conky/${name}.tar.bz2";
  -    sha256 = "0vxvjmi3cdvnp994sv5zcdyncfn0mlxa71p2wm9zpyrmy58bbwds";
  +  src = fetchFromGitHub {
  +    owner = "brndnmtthws";
  +    repo = "conky";
  +    rev = "v${version}";
  +    sha256 = "00vyrf72l54j3majqmn6vykqvvb15vygsaby644nsb5vpma6b1cn";
     };
   
     NIX_LDFLAGS = "-lgcc_s";
   
  -  buildInputs = [ pkgconfig glib ]
  -    ++ [ ncurses ]
  -    #++ optional  ncursesSupport     ncurses
  +  buildInputs = [ pkgconfig glib cmake ]
  +    ++ optional  ncursesSupport     ncurses
       ++ optional  x11Support         x11
       ++ optional  xdamageSupport     libXdamage
       ++ optional  imlib2Support      imlib2
       ++ optional  luaSupport         lua
       ++ optionals luaImlib2Support   [ toluapp imlib2 ]
       ++ optionals luaCairoSupport    [ toluapp cairo ]
  -
  -    ++ optional  alsaSupport        alsaLib
  -
       ++ optional  wirelessSupport    wirelesstools
  -
       ++ optional  curlSupport        curl
       ++ optional  rssSupport         libxml2
       ++ optional  weatherXoapSupport libxml2
       ;
   
  -  configureFlags =
  -    let flag = state: flags: if state then map (x: "--enable-${x}")  flags
  -                                      else map (x: "--disable-${x}") flags;
  -     in flag mpdSupport          [ "mpd" ]
  -     ++ flag ibmSupport          [ "ibm" ]
  +  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]
  +    ++ optional curlSupport         "-DBUILD_CURL=ON"
  +    ++ optional (!ibmSupport)       "-DBUILD_IBM=OFF"
  +    ++ optional imlib2Support       "-DBUILD_IMLIB2=ON"
  +    ++ optional luaCairoSupport     "-DBUILD_LUA_CAIRO=ON"
  +    ++ optional luaImlib2Support    "-DBUILD_LUA_IMLIB2=ON"
  +    ++ optional (!mpdSupport)       "-DBUILD_MPD=OFF"
  +    ++ optional (!ncursesSupport)   "-DBUILD_NCURSES=OFF"
  +    ++ optional rssSupport          "-DBUILD_RSS=ON"
  +    ++ optional (!x11Support)       "-DBUILD_X11=OFF"
  +    ++ optional xdamageSupport      "-DBUILD_XDAMAGE=ON"
  +    ++ optional weatherMetarSupport "-DBUILD_WEATHER_METAR=ON"
  +    ++ optional weatherXoapSupport  "-DBUILD_WEATHER_XOAP=ON"
  +    ++ optional wirelessSupport     "-DBUILD_WLAN=ON"
  +    ;
   
  -     #++ flag ncursesSupport      [ "ncurses" ]
  -     ++ flag x11Support          [ "x11" "xft" "argb" "double-buffer" "own-window" ] # conky won't compile without --enable-own-window
  -     ++ flag xdamageSupport      [ "xdamage" ]
  -     ++ flag imlib2Support       [ "imlib2" ]
  -     ++ flag luaSupport          [ "lua" ]
  -     ++ flag luaImlib2Support    [ "lua-imlib2" ]
  -     ++ flag luaCairoSupport     [ "lua-cairo" ]
  -
  -     ++ flag alsaSupport         [ "alsa" ]
  -
  -     ++ flag wirelessSupport     [ "wlan" ]
  -
  -     ++ flag curlSupport         [ "curl" ]
  -     ++ flag rssSupport          [ "rss" ]
  -     ++ flag weatherMetarSupport [ "weather-metar" ]
  -     ++ flag weatherXoapSupport  [ "weather-xoap" ]
  -     ;
  -
  -  meta = {
  +  meta = with stdenv.lib; {
       homepage = http://conky.sourceforge.net/;
       description = "Advanced, highly configurable system monitor based on torsmo";
  -    maintainers = [ stdenv.lib.maintainers.guibert ];
  -    license = stdenv.lib.licenses.gpl3Plus;
  +    maintainers = [ maintainers.guibert ];
  +    license = licenses.gpl3Plus;
     };
   }
  
positive.code: , mpdSupport          ? true
  , ibmSupport          ? true # IBM/Lenovo notebooks
  
  # This should be optional, but it is not due to a bug in conky
  # Please, try to make it optional again on update
  , ncurses
  #, ncursesSupport      ? true      , ncurses       ? null
  
  # optional features with extra dependencies
  , x11Support          ? true      , x11           ? null
  , xdamageSupport      ? x11Support, libXdamage    ? null
  , imlib2Support       ? x11Support, imlib2        ? null
  , luaSupport          ? true      , lua           ? null
  
  , luaImlib2Support    ? luaSupport && imlib2Support
  , luaCairoSupport     ? luaSupport && x11Support, cairo ? null
  , toluapp ? null
  
  , alsaSupport         ? true      , alsaLib       ? null
  
  , wirelessSupport     ? true      , wirelesstools ? null
  
  
negative.code: assert luaCairoSupport || luaImlib2Support
                             -> lua.luaversion == "5.1";
  
  assert wirelessSupport     -> wirelesstools != null;
  
  assert curlSupport         -> curl != null;
  