ciscoPacketTracer8: 8.2.0 -> 8.2.1, refactor
Signed-off-by: lucasew <lucas59356@gmail.com>
This commit is contained in:
parent
a2420e26d3
commit
2920b6fc16
1 changed files with 74 additions and 89 deletions
|
@ -1,8 +1,9 @@
|
|||
{ stdenv
|
||||
{ stdenvNoCC
|
||||
, lib
|
||||
, alsa-lib
|
||||
, autoPatchelfHook
|
||||
, buildFHSEnv
|
||||
, ciscoPacketTracer8
|
||||
, copyDesktopItems
|
||||
, dbus
|
||||
, dpkg
|
||||
|
@ -21,106 +22,90 @@
|
|||
, makeWrapper
|
||||
, nspr
|
||||
, nss
|
||||
, qt5
|
||||
, requireFile
|
||||
, xorg
|
||||
}:
|
||||
|
||||
let
|
||||
version = "8.2.0";
|
||||
|
||||
ptFiles = stdenv.mkDerivation {
|
||||
name = "PacketTracer8Drv";
|
||||
inherit version;
|
||||
|
||||
dontUnpack = true;
|
||||
src = requireFile {
|
||||
name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb";
|
||||
sha256 = "1b19885d59f6130ee55414fb02e211a1773460689db38bfd1ac7f0d45117ed16";
|
||||
url = "https://www.netacad.com";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
alsa-lib
|
||||
autoPatchelfHook
|
||||
dbus
|
||||
dpkg
|
||||
expat
|
||||
fontconfig
|
||||
glib
|
||||
libdrm
|
||||
libglvnd
|
||||
libpulseaudio
|
||||
libudev0-shim
|
||||
libxkbcommon
|
||||
libxml2
|
||||
libxslt
|
||||
makeWrapper
|
||||
nspr
|
||||
nss
|
||||
] ++ (with xorg; [
|
||||
libICE
|
||||
libSM
|
||||
libX11
|
||||
libxcb
|
||||
libXcomposite
|
||||
libXcursor
|
||||
libXdamage
|
||||
libXext
|
||||
libXfixes
|
||||
libXi
|
||||
libXrandr
|
||||
libXrender
|
||||
libXScrnSaver
|
||||
libXtst
|
||||
xcbutilimage
|
||||
xcbutilkeysyms
|
||||
xcbutilrenderutil
|
||||
xcbutilwm
|
||||
]);
|
||||
|
||||
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-pt8.desktop";
|
||||
desktopName = "Cisco Packet Tracer 8";
|
||||
icon = "${ptFiles}/opt/pt/art/app.png";
|
||||
exec = "packettracer8 %f";
|
||||
mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
|
||||
};
|
||||
|
||||
fhs = buildFHSEnv {
|
||||
name = "packettracer8";
|
||||
runScript = "${ptFiles}/bin/packettracer";
|
||||
targetPkgs = pkgs: [ libudev0-shim ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p "$out/share/applications"
|
||||
cp "${desktopItem}"/share/applications/* "$out/share/applications/"
|
||||
'';
|
||||
hashes = {
|
||||
"8.2.0" = "1b19885d59f6130ee55414fb02e211a1773460689db38bfd1ac7f0d45117ed16";
|
||||
"8.2.1" = "1fh79r4fnh9gjxjh39gcp4j7npgs5hh3qhrhx74x8x546an3i0s2";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "ciscoPacketTracer8";
|
||||
inherit version;
|
||||
|
||||
dontUnpack = true;
|
||||
version = "8.2.1";
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
${lndir}/bin/lndir -silent ${fhs} $out
|
||||
src = requireFile {
|
||||
name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb";
|
||||
sha256 = hashes.${version};
|
||||
url = "https://www.netacad.com";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
||||
dpkg-deb -x $src $out
|
||||
chmod 755 "$out"
|
||||
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
desktopItems = [ desktopItem ];
|
||||
nativeBuildInputs = [ copyDesktopItems ];
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
copyDesktopItems
|
||||
dpkg
|
||||
makeWrapper
|
||||
qt5.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
dbus
|
||||
expat
|
||||
fontconfig
|
||||
glib
|
||||
qt5.qtbase
|
||||
qt5.qtmultimedia
|
||||
qt5.qtnetworkauth
|
||||
qt5.qtscript
|
||||
qt5.qtspeech
|
||||
qt5.qtwebengine
|
||||
qt5.qtwebsockets
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer8" \
|
||||
"''${qtWrapperArgs[@]}" \
|
||||
--prefix LD_LIBRARY_PATH : "$out/opt/pt/bin"
|
||||
|
||||
install -D $out/opt/pt/art/app.png $out/share/icons/hicolor/128x128/apps/ciscoPacketTracer8.png
|
||||
|
||||
rm $out/opt/pt/bin/libQt5* -f
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "cisco-pt8.desktop";
|
||||
desktopName = "Cisco Packet Tracer 8";
|
||||
icon = "ciscoPacketTracer8";
|
||||
exec = "packettracer8 %f";
|
||||
mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
|
||||
})
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
passthru = {
|
||||
inherit hashes;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Network simulation tool from Cisco";
|
||||
|
|
Loading…
Reference in a new issue