anchor.diff:  assert pulseaudioSupport -> (libpulseaudio != null);
   assert portaudioSupport -> (portaudio != null);
   
  -with lib;
  -stdenv.mkDerivation
  - rec {
  +let
  +  inherit (lib) optional;
  +in
  +stdenv.mkDerivation rec {
     pname = "aegisub";
     version = "3.2.2";
   
     src = fetchurl {
       url = "http://ftp.aegisub.org/pub/releases/${pname}-${version}.tar.xz";
  -    sha256 = "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5";
  +    hash = "sha256-xV4zlFuC2FE8AupueC8Ncscmrc03B+lbjAAi9hUeaIU=";
     };
   
     patches = [
       # Compatibility with ICU 59
       (fetchpatch {
         url = "https://github.com/Aegisub/Aegisub/commit/dd67db47cb2203e7a14058e52549721f6ff16a49.patch";
  -      sha256 = "07qqlckiyy64lz8zk1as0vflk9kqnjb340420lp9f0xj93ncssj7";
  +      sha256 = "sha256-R2rN7EiyA5cuBYIAMpa0eKZJ3QZahfnRp8R4HyejGB8=";
       })
   
       # Compatbility with Boost 1.69
       (fetchpatch {
         url = "https://github.com/Aegisub/Aegisub/commit/c3c446a8d6abc5127c9432387f50c5ad50012561.patch";
  -      sha256 = "1n8wmjka480j43b1pr30i665z8hdy6n3wdiz1ls81wyv7ai5yygf";
  +      sha256 = "sha256-7nlfojrb84A0DT82PqzxDaJfjIlg5BvWIBIgoqasHNk=";
       })
   
       # Compatbility with make 4.3
       (fetchpatch {
         url = "https://github.com/Aegisub/Aegisub/commit/6bd3f4c26b8fc1f76a8b797fcee11e7611d59a39.patch";
  -      sha256 = "1s9cc5rikrqb9ivjbag4b8yxcyjsmmmw744394d5xq8xi4k12vxc";
  +      sha256 = "sha256-rG8RJokd4V4aSYOQw2utWnrWPVrkqSV3TAvnGXNhLOk=";
       })
     ];
   
     nativeBuildInputs = [
  +    intltool
       pkg-config
  -    intltool
     ];
  -
  -  buildInputs = with lib; [
  -    libX11
  -    wxGTK
  +  buildInputs = [
  +    boost
  +    ffmpeg
  +    ffms
  +    fftw
       fontconfig
       freetype
  +    icu
  +    libGL
       libGLU
  -    libGL
  +    libX11
       libass
  -    fftw
  -    ffms
  -    ffmpeg_3
  +    libiconv
  +    wxGTK
       zlib
  -    icu
  -    boost
  -    libiconv
     ]
  -    ++ optional spellcheckSupport hunspell
  -    ++ optional automationSupport lua
  -    ++ optional openalSupport openal
  -    ++ optional alsaSupport alsaLib
  -    ++ optional pulseaudioSupport libpulseaudio
  -    ++ optional portaudioSupport portaudio
  -    ;
  +  ++ optional alsaSupport alsaLib
  +  ++ optional automationSupport lua
  +  ++ optional openalSupport openal
  +  ++ optional portaudioSupport portaudio
  +  ++ optional pulseaudioSupport libpulseaudio
  +  ++ optional spellcheckSupport hunspell
  +  ;
   
     enableParallelBuilding = true;
   
  -  hardeningDisable = [ "bindnow" "relro" ];
  +  hardeningDisable = [
  +    "bindnow"
  +    "relro"
  +  ];
   
  -  # compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554
  +  # compat with icu61+
  +  # https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554
     CXXFLAGS = [ "-DU_USING_ICU_NAMESPACE=1" ];
   
     # this is fixed upstream though not yet in an officially released version,
  
positive.code:       audio, and features many powerful tools for styling them, including a
        built-in real-time video preview.
      '';
      homepage = "http://www.aegisub.org/";
      # The Aegisub sources are itself BSD/ISC,
      # but they are linked against GPL'd softwares
      # - so the resulting program will be GPL
      license = licenses.bsd3;
      maintainers = [ maintainers.AndersonTorres ];
      platforms = [ "i686-linux" "x86_64-linux" ];
    };
  }
  
negative.code: , stdenv
  , fetchurl
  , fetchpatch
  , boost
  , ffmpeg
  , ffms
  , fftw
  , fontconfig
  , freetype
  , icu
  , intltool
  , libGL
  , libGLU
  , libX11
  , libass
  , libiconv
  , pkg-config
  , wxGTK
  , zlib
  
  , spellcheckSupport ? true
  , hunspell ? null
  