anchor.diff: -{ stdenv, fetchurl, pkgconfig, SDL, SDL2, alsaLib, bullet, curl, dbus,
  +{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib, avahi, bullet, check, curl, dbus,
     doxygen, expat, fontconfig, freetype, fribidi, ghostscript, giflib,
  -  glib, gst_all_1, gtk3, harfbuzz, jbig2dec, libGL, libdrm, libinput,
  +  glib, gst_all_1, gtk3, harfbuzz, ibus, jbig2dec, libGL, libdrm, libinput,
     libjpeg, libpng, libpulseaudio, libraw, librsvg, libsndfile,
     libspectre, libtiff, libwebp, libxkbcommon, luajit, lz4, mesa,
     openjpeg, openssl, poppler, python27Packages, systemd, udev,
  
positive.code:   '';
  
    preConfigure = ''
      export LD_LIBRARY_PATH="$(pwd)/src/lib/eina/.libs:$LD_LIBRARY_PATH"
      source "$setupHook"
    '';
  
    NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3
  
    postInstall = ''
      substituteInPlace "$out/share/elua/core/util.lua" --replace '$out' "$out"
      modules=$(for i in "$out/include/"*/; do printf ' -I''${includedir}/'`basename $i`; done)
      substituteInPlace "$out/lib/pkgconfig/efl.pc" --replace 'Cflags: -I''${includedir}/efl-1' \
        'Cflags: -I''${includedir}/eina-1/eina'"$modules"
  
      # build icon cache
      gtk-update-icon-cache "$out"/share/icons/Enlightenment-X
    '';
  
    # EFL applications depend on libcurl, although it is linked at
    # runtime by hand in code (it is dlopened).
    postFixup = ''
      patchelf --add-needed ${curl.out}/lib/libcurl.so $out/lib/libecore_con.so
    '';
  
    enableParallelBuilding = true;
  
    meta = {
      description = "Enlightenment foundation libraries";
  
negative.code:     gst_all_1.gst-plugins-base
      gst_all_1.gst-plugins-good
      gst_all_1.gstreamer
      ibus
      libGL
      libpng
      libpulseaudio
  