lol

ciscoPacketTracer8: 8.2.0 -> 8.2.1, refactor

Signed-off-by: lucasew <lucas59356@gmail.com>

authored by

lucasew and committed by
Anderson Torres
2920b6fc a2420e26

+69 -84
+69 -84
pkgs/applications/networking/cisco-packet-tracer/8.nix
··· 1 - { stdenv 1 + { stdenvNoCC 2 2 , lib 3 3 , alsa-lib 4 4 , autoPatchelfHook 5 5 , buildFHSEnv 6 + , ciscoPacketTracer8 6 7 , copyDesktopItems 7 8 , dbus 8 9 , dpkg ··· 21 22 , makeWrapper 22 23 , nspr 23 24 , nss 25 + , qt5 24 26 , requireFile 25 27 , xorg 26 28 }: 27 29 28 30 let 29 - version = "8.2.0"; 31 + hashes = { 32 + "8.2.0" = "1b19885d59f6130ee55414fb02e211a1773460689db38bfd1ac7f0d45117ed16"; 33 + "8.2.1" = "1fh79r4fnh9gjxjh39gcp4j7npgs5hh3qhrhx74x8x546an3i0s2"; 34 + }; 35 + in 36 + 37 + stdenvNoCC.mkDerivation rec { 38 + pname = "ciscoPacketTracer8"; 39 + 40 + version = "8.2.1"; 41 + 42 + src = requireFile { 43 + name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb"; 44 + sha256 = hashes.${version}; 45 + url = "https://www.netacad.com"; 46 + }; 30 47 31 - ptFiles = stdenv.mkDerivation { 32 - name = "PacketTracer8Drv"; 33 - inherit version; 48 + unpackPhase = '' 49 + runHook preUnpack 34 50 35 - dontUnpack = true; 36 - src = requireFile { 37 - name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb"; 38 - sha256 = "1b19885d59f6130ee55414fb02e211a1773460689db38bfd1ac7f0d45117ed16"; 39 - url = "https://www.netacad.com"; 40 - }; 51 + dpkg-deb -x $src $out 52 + chmod 755 "$out" 41 53 42 - nativeBuildInputs = [ 43 - alsa-lib 44 - autoPatchelfHook 45 - dbus 46 - dpkg 47 - expat 48 - fontconfig 49 - glib 50 - libdrm 51 - libglvnd 52 - libpulseaudio 53 - libudev0-shim 54 - libxkbcommon 55 - libxml2 56 - libxslt 57 - makeWrapper 58 - nspr 59 - nss 60 - ] ++ (with xorg; [ 61 - libICE 62 - libSM 63 - libX11 64 - libxcb 65 - libXcomposite 66 - libXcursor 67 - libXdamage 68 - libXext 69 - libXfixes 70 - libXi 71 - libXrandr 72 - libXrender 73 - libXScrnSaver 74 - libXtst 75 - xcbutilimage 76 - xcbutilkeysyms 77 - xcbutilrenderutil 78 - xcbutilwm 79 - ]); 54 + runHook postUnpack 55 + ''; 80 56 81 - installPhase = '' 82 - dpkg-deb -x $src $out 83 - chmod 755 "$out" 84 - makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer" \ 85 - --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin" 57 + nativeBuildInputs = [ 58 + autoPatchelfHook 59 + copyDesktopItems 60 + dpkg 61 + makeWrapper 62 + qt5.wrapQtAppsHook 63 + ]; 86 64 87 - # Keep source archive cached, to avoid re-downloading 88 - ln -s $src $out/usr/share/ 89 - ''; 90 - }; 65 + buildInputs = [ 66 + alsa-lib 67 + dbus 68 + expat 69 + fontconfig 70 + glib 71 + qt5.qtbase 72 + qt5.qtmultimedia 73 + qt5.qtnetworkauth 74 + qt5.qtscript 75 + qt5.qtspeech 76 + qt5.qtwebengine 77 + qt5.qtwebsockets 78 + ]; 91 79 92 - desktopItem = makeDesktopItem { 93 - name = "cisco-pt8.desktop"; 94 - desktopName = "Cisco Packet Tracer 8"; 95 - icon = "${ptFiles}/opt/pt/art/app.png"; 96 - exec = "packettracer8 %f"; 97 - mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; 98 - }; 80 + installPhase = '' 81 + runHook preInstall 99 82 100 - fhs = buildFHSEnv { 101 - name = "packettracer8"; 102 - runScript = "${ptFiles}/bin/packettracer"; 103 - targetPkgs = pkgs: [ libudev0-shim ]; 83 + makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer8" \ 84 + "''${qtWrapperArgs[@]}" \ 85 + --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin" 104 86 105 - extraInstallCommands = '' 106 - mkdir -p "$out/share/applications" 107 - cp "${desktopItem}"/share/applications/* "$out/share/applications/" 108 - ''; 109 - }; 110 - in 111 - stdenv.mkDerivation { 112 - pname = "ciscoPacketTracer8"; 113 - inherit version; 87 + install -D $out/opt/pt/art/app.png $out/share/icons/hicolor/128x128/apps/ciscoPacketTracer8.png 114 88 115 - dontUnpack = true; 89 + rm $out/opt/pt/bin/libQt5* -f 116 90 117 - installPhase = '' 118 - mkdir $out 119 - ${lndir}/bin/lndir -silent ${fhs} $out 91 + runHook postInstall 120 92 ''; 121 93 122 - desktopItems = [ desktopItem ]; 123 - nativeBuildInputs = [ copyDesktopItems ]; 94 + desktopItems = [ 95 + (makeDesktopItem { 96 + name = "cisco-pt8.desktop"; 97 + desktopName = "Cisco Packet Tracer 8"; 98 + icon = "ciscoPacketTracer8"; 99 + exec = "packettracer8 %f"; 100 + mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; 101 + }) 102 + ]; 103 + 104 + dontWrapQtApps = true; 105 + 106 + passthru = { 107 + inherit hashes; 108 + }; 124 109 125 110 meta = with lib; { 126 111 description = "Network simulation tool from Cisco";