{ stdenv, fetchurl, makeWrapper, wrapGAppsHook, lib, libX11, libXext, gtk3-x11, dbus, nspr, alsa-lib, glib, expat, gdk-pixbuf, mesa, xorg, nss, cups, ffmpeg, cairo, pango, atk, libdrm, ... }: stdenv.mkDerivation rec { pname = "circuitjs"; version = "2.8.0"; src = fetchurl { url = "https://www.falstad.com/circuit/offline/circuitjs1-linux64.tgz"; hash = "sha256-dyIEuDA7FRwHCok41wcJAr8eqksJSOdChafPPh0Q3zM="; }; nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; sourceRoot = "."; dontBuild = true; dontStrip = true; dontPatchELF = true; libPath = lib.makeLibraryPath [ libX11 libXext alsa-lib xorg.libXi xorg.libXrender xorg.libXfixes xorg.libXtst xorg.libXcomposite xorg.libXcursor xorg.libXrandr xorg.libXdamage xorg.libxcb xorg.libXScrnSaver nss ffmpeg.lib cups pango cairo nspr atk libdrm glib dbus gtk3-x11 mesa expat gdk-pixbuf ]; # wrapProgramShell $out/opt/circuitjs1 \ # "''${gappsWrapperArgs[@]}" \ # --prefix LD_LIBRARY_PATH : ${libPath}:$out/lib \ installPhase = '' mkdir -p $out/ cp -r circuitjs1 $out/opt mkdir -p $out/lib cp circuitjs1/lib* $out/lib mkdir -p $out/bin ln -sf $out/opt/circuitjs1 $out/bin/circuitjs1 patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${libPath}":$out/lib \ $out/bin/circuitjs1 ''; meta = with lib; { # inherit homepage; description = "Falstad circuit simulator"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; # license = licenses.unfree; platforms = platforms.linux; maintainers = [ maintainers.therealr5 ]; }; }