mirror of
https://github.com/buckley310/nixos-config.git
synced 2024-12-21 19:24:15 +00:00
packettracer: init
This commit is contained in:
parent
a17e288739
commit
e2d7e5ac7f
2 changed files with 111 additions and 0 deletions
|
@ -28,6 +28,7 @@
|
||||||
with (import nixpkgs { system = "x86_64-linux"; });
|
with (import nixpkgs { system = "x86_64-linux"; });
|
||||||
{
|
{
|
||||||
binaryninja = callPackage ./pkgs/binary-ninja-personal { };
|
binaryninja = callPackage ./pkgs/binary-ninja-personal { };
|
||||||
|
packettracer = callPackage ./pkgs/packettracer { };
|
||||||
};
|
};
|
||||||
|
|
||||||
apps."x86_64-linux" =
|
apps."x86_64-linux" =
|
||||||
|
|
110
pkgs/packettracer/default.nix
Normal file
110
pkgs/packettracer/default.nix
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
{ stdenv
|
||||||
|
, alsaLib
|
||||||
|
, autoPatchelfHook
|
||||||
|
, buildFHSUserEnv
|
||||||
|
, dbus
|
||||||
|
, dpkg
|
||||||
|
, expat
|
||||||
|
, fetchurl
|
||||||
|
, fontconfig
|
||||||
|
, glib
|
||||||
|
, libdrm
|
||||||
|
, libglvnd
|
||||||
|
, libpulseaudio
|
||||||
|
, libudev0-shim
|
||||||
|
, libxkbcommon
|
||||||
|
, libxml2
|
||||||
|
, libxslt
|
||||||
|
, makeDesktopItem
|
||||||
|
, makeWrapper
|
||||||
|
, nspr
|
||||||
|
, nss
|
||||||
|
, xlibs
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "8.0.0";
|
||||||
|
|
||||||
|
srcName =
|
||||||
|
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||||
|
"PacketTracer_800_amd64_build212_final.deb"
|
||||||
|
else throw "Unsupported system: ${stdenv.hostPlatform.system}";
|
||||||
|
|
||||||
|
ptFiles = stdenv.mkDerivation {
|
||||||
|
name = "PacketTracer";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
# This file was uploaded to archive.org by someone else, but I have verified the hash.
|
||||||
|
url = "https://archive.org/download/packet-tracer-800-build-212-mac-notarized/${srcName}";
|
||||||
|
sha256 = "c9a78f9d1ee63fa421d3c531e9e1c209e425ba84d78c8e606594e4e59df535c9";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
alsaLib
|
||||||
|
autoPatchelfHook
|
||||||
|
dbus
|
||||||
|
dpkg
|
||||||
|
expat
|
||||||
|
fontconfig
|
||||||
|
glib
|
||||||
|
libdrm
|
||||||
|
libglvnd
|
||||||
|
libpulseaudio
|
||||||
|
libudev0-shim
|
||||||
|
libxkbcommon
|
||||||
|
libxml2
|
||||||
|
libxslt
|
||||||
|
makeWrapper
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
xlibs.libICE
|
||||||
|
xlibs.libSM
|
||||||
|
xlibs.libX11
|
||||||
|
xlibs.libxcb
|
||||||
|
xlibs.libXcomposite
|
||||||
|
xlibs.libXcursor
|
||||||
|
xlibs.libXdamage
|
||||||
|
xlibs.libXext
|
||||||
|
xlibs.libXfixes
|
||||||
|
xlibs.libXi
|
||||||
|
xlibs.libXrandr
|
||||||
|
xlibs.libXrender
|
||||||
|
xlibs.libXScrnSaver
|
||||||
|
xlibs.xcbutilimage
|
||||||
|
xlibs.xcbutilkeysyms
|
||||||
|
xlibs.xcbutilrenderutil
|
||||||
|
xlibs.xcbutilwm
|
||||||
|
];
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
installPhase = ''
|
||||||
|
dpkg-deb -x $src $out
|
||||||
|
chmod 755 "$out"
|
||||||
|
makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer" \
|
||||||
|
--prefix LD_LIBRARY_PATH : "$out/opt/pt/bin"
|
||||||
|
|
||||||
|
# Keep source archive cached, to avoid re-downloading
|
||||||
|
ln -s "$src" "$out/usr/share/"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = "cisco-pt.desktop";
|
||||||
|
desktopName = "Packet Tracer";
|
||||||
|
icon = "${ptFiles}/opt/pt/art/app.png";
|
||||||
|
exec = "packettracer %f";
|
||||||
|
mimeType = "application/x-pkt;application/x-pka;application/x-pkz;";
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
buildFHSUserEnv {
|
||||||
|
name = "packettracer";
|
||||||
|
runScript = "${ptFiles}/bin/packettracer";
|
||||||
|
targetPkgs = pkgs: [ libudev0-shim ];
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
mkdir -p "$out/share/applications"
|
||||||
|
cp "${desktopItem}"/share/applications/* "$out/share/applications/"
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue