69 lines
2.1 KiB
Nix
69 lines
2.1 KiB
Nix
|
|
{
|
||
|
|
description = "Cisco Packet Tracer 7";
|
||
|
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||
|
|
outputs = { self, nixpkgs, flake-utils, ... }:
|
||
|
|
let
|
||
|
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||
|
|
ptFiles = pkgs.stdenv.mkDerivation {
|
||
|
|
name = "PacketTracer7drv";
|
||
|
|
version = "7.3.1";
|
||
|
|
dontUnpack = true;
|
||
|
|
src = pkgs.fetchurl {
|
||
|
|
url = "http://kafpi.local/PacketTracer_731_amd64.deb";
|
||
|
|
hash = "sha256-w5gC0V3WHQC6J/uMEW2kX9hWKrS0mZZVWtZriN6s4n8=";
|
||
|
|
};
|
||
|
|
nativeBuildInputs = with pkgs; [ dpkg makeWrapper ];
|
||
|
|
installPhase = ''
|
||
|
|
dpkg-deb -x $src $out
|
||
|
|
makeWrapper "$out/opt/pt/bin/PacketTracer7" "$out/bin/packettracer7" --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin"
|
||
|
|
'';
|
||
|
|
};
|
||
|
|
ptFhsEnv = pkgs.buildFHSEnv {
|
||
|
|
name = "packettracer7";
|
||
|
|
runScript = "${ptFiles}/bin/packettracer7";
|
||
|
|
|
||
|
|
targetPkgs = pkgs:
|
||
|
|
with pkgs; [
|
||
|
|
alsa-lib
|
||
|
|
dbus
|
||
|
|
expat
|
||
|
|
fontconfig
|
||
|
|
glib
|
||
|
|
libglvnd
|
||
|
|
libpulseaudio
|
||
|
|
libudev0-shim
|
||
|
|
libxkbcommon
|
||
|
|
libxml2
|
||
|
|
libxslt
|
||
|
|
nspr
|
||
|
|
nss
|
||
|
|
xorg.libICE
|
||
|
|
xorg.libSM
|
||
|
|
xorg.libX11
|
||
|
|
xorg.libXScrnSaver
|
||
|
|
];
|
||
|
|
};
|
||
|
|
|
||
|
|
packettracer7 = pkgs.stdenv.mkDerivation {
|
||
|
|
pname = "ciscoPacketTracer7";
|
||
|
|
version = "7.3.1";
|
||
|
|
dontUnpack = true;
|
||
|
|
installPhase = ''
|
||
|
|
mkdir $out
|
||
|
|
${pkgs.xorg.lndir}/bin/lndir -silent ${ptFhsEnv} $out
|
||
|
|
'';
|
||
|
|
desktopItems = [
|
||
|
|
(pkgs.makeDesktopItem {
|
||
|
|
name = "cisco-pt7.desktop";
|
||
|
|
desktopName = "Cisco Packet Tracer 7";
|
||
|
|
icon = "${ptFiles}/opt/pt/art/app.png";
|
||
|
|
exec = "packettracer7 %f";
|
||
|
|
mimeTypes =
|
||
|
|
[ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
|
||
|
|
})
|
||
|
|
];
|
||
|
|
nativeBuildInputs = [ pkgs.xorg.lndir ];
|
||
|
|
};
|
||
|
|
in { packages.x86_64-linux.default = packettracer7; };
|
||
|
|
}
|