mirror of
https://github.com/buckley310/nixos-config.git
synced 2024-11-09 18:47:02 +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"; });
|
||||
{
|
||||
binaryninja = callPackage ./pkgs/binary-ninja-personal { };
|
||||
packettracer = callPackage ./pkgs/packettracer { };
|
||||
};
|
||||
|
||||
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