anchor.diff:  , libsoup
   , gtksourceview
   , libgee
  -, cmake
  +, nix-update-script
  +, webkitgtk
   , libqalculate
  -, cln
  +, intltool
  +, gnuplot
   , wrapGAppsHook
   }:
   
   stdenv.mkDerivation rec {
     pname = "nasc";
  -  version = "0.5.4";
  +  version = "0.7.5";
   
     src = fetchFromGitHub {
       owner = "parnold-x";
       repo = pname;
       rev = version;
  -    sha256 = "036v3dx8yasp19j88lflibqnpfi5d0nk7qkcnr80zn1lvawf4wgn";
  +    sha256 = "kSRc5RLkI6SBJirUYw6swZi8IJhaL3y74b2Zw8kh2XA=";
  +    fetchSubmodules = true;
     };
   
  -  patches = [
  -    # fix build with gcc9
  -    (fetchpatch {
  -      url = "https://github.com/parnold-x/nasc/commit/46b9b80e228b6b86001bded45d85e073a9411549.patch";
  -      sha256 = "1sm2aw0xhw2chk036r231nmp2f2ypxcmzggwljkn7wfzgg3h1mx3";
  -    })
  -  ];
  -
     nativeBuildInputs = [
  -    cmake
  +    glib # post_install.py
  +    gtk3 # post_install.py
  +    intltool # for libqalculate
  +    meson
  +    ninja
  +    pkgconfig
  +    python3
       vala
  -    pkgconfig
       wrapGAppsHook
     ];
   
     buildInputs = [
  -    cln
  -    libsoup
  +    glib
       gtk3
  -    glib
       gtksourceview
       libgee
  -    libqalculate
       pantheon.elementary-icon-theme
       pantheon.granite
  -  ];
  +    webkitgtk
  +    # We add libqalculate's runtime dependencies because nasc has it as a modified subproject.
  +  ] ++ libqalculate.buildInputs ++ libqalculate.propagatedBuildInputs;
  +
  +  postPatch = ''
  +    chmod +x meson/post_install.py
  +    patchShebangs meson/post_install.py
  +
  +    # patch subproject. same code in libqalculate expression
  +    substituteInPlace subprojects/libqalculate/libqalculate/Calculator-plot.cc \
  +      --replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \
  +      --replace '"gnuplot - ' '"${gnuplot}/bin/gnuplot - '
  +  '';
  +
  +  passthru = {
  +    pdateScript = nix-update-script {
  +      attrPath = pname;
  +    };
  +  };
   
     meta = with stdenv.lib; {
  -    description = "Do maths like a normal person";
  +    description = "Do maths like a normal person, designed for elementary OS";
       longDescription = ''
         It’s an app where you do maths like a normal person. It lets you
         type whatever you want and smartly figures out what is math and
  
positive.code: { stdenv
  , fetchFromGitHub
  , fetchpatch
  , pkgconfig
  , vala
  , gtk3
  , glib
  
negative.code:       the equations it’s used in.
      '';
      homepage = "https://github.com/parnold-x/nasc";
      maintainers = pantheon.maintainers;
      platforms = platforms.linux;
      license = licenses.gpl3Plus;
    };
  