added modules for qFlipper, ChameleonUltraGUI, and AngryOxide
ChameleonUltraGUI and AngryOxide also had derivations written to package them
This commit is contained in:
parent
c626227f55
commit
3bc320cc6a
12 changed files with 1082 additions and 3 deletions
84
hosts/packages/angryoxide/default.nix
Normal file
84
hosts/packages/angryoxide/default.nix
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
# shared/global properties
|
||||
angryoxide-owner = "Ragnt";
|
||||
angryoxide-pname = "AngryOxide";
|
||||
angryoxide-version = "0.8.32";
|
||||
angryoxide-meta = {
|
||||
homepage = "https://github.com/${angryoxide-owner}/${angryoxide-pname}";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [lib.maintainers.emileclarkb];
|
||||
};
|
||||
|
||||
# "Vendored LibWifi used in AngryOxide"
|
||||
angryoxide-libwifi-src = pkgs.fetchFromGitHub {
|
||||
owner = angryoxide-owner;
|
||||
repo = "libwifi";
|
||||
# this specific revision is requested (by rev "e1352..." of AngryOxide)
|
||||
rev = "71268e1898ad88b8b5d709e186836db417b33e81";
|
||||
sha256 = "0af9y7bvr3rban6bslsd9smrvibfp1b7d4nfw7wkdxfp49kx6zyr";
|
||||
};
|
||||
|
||||
# Using `mkDerivation` not `buildRustPackage` because
|
||||
# AngryOxide uses Git submodules for a patched version of "LibWifi",
|
||||
# and these aren't moved into `/build/source/libs/` for the `buildPhase`.
|
||||
# Simply fix right? Well no I can't override `buildPhase`...
|
||||
angryoxide-src = pkgs.stdenv.mkDerivation rec {
|
||||
pname = "${angryoxide-pname}-source";
|
||||
version = angryoxide-version;
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Ragnt";
|
||||
repo = pname;
|
||||
rev = "e1352c8aad370efa8db69d175686e4353c6002bd";
|
||||
sha256 = "07nhvy7kp7z4y0fdslv56pw7kz6idcpma42f4hyilrmazjbbjmja";
|
||||
# clone git submodules (needed for the rust workspace libs)
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
# ensure $out and /libwifi paths exist
|
||||
mkdir -p $out/libs/libwifi
|
||||
# copy only the necessary source files
|
||||
cp Cargo.toml Cargo.lock $out/
|
||||
cp -r $src/.cargo $src/assets $src/completions $src/libs $src/src $out/
|
||||
# ensure libwifi submodule is copied to the build environment
|
||||
cp -r ${angryoxide-libwifi-src}/. $out/libs/libwifi/
|
||||
'';
|
||||
|
||||
installPhase = let
|
||||
# SOURCE
|
||||
completionScriptBash = "completions/bash_angry_oxide_completions";
|
||||
# DESTINATION
|
||||
completionDirBash = "$out/share/bash-completion/completions";
|
||||
in ''
|
||||
# mkdir -p $out/bin
|
||||
#mkdir $out/bin
|
||||
#cp target/release/angryoxide $out/bin
|
||||
|
||||
# add bash completions
|
||||
#mkdir -p ${completionDirBash}
|
||||
#cp ${completionScriptBash} ${completionDirBash}/angryoxide
|
||||
'';
|
||||
|
||||
meta =
|
||||
{
|
||||
description = "AngryOxide's source files isolated by (@emileclarkb) into a separate Nix derivation.";
|
||||
}
|
||||
// angryoxide-meta;
|
||||
};
|
||||
in
|
||||
pkgs.rustPackages.rustPlatform.buildRustPackage {
|
||||
pname = angryoxide-pname;
|
||||
version = angryoxide-version;
|
||||
src = angryoxide-src;
|
||||
cargoHash = "sha256-Dxo1iLxl+wn2qAZh3+bf2n00MPE2LlG5boB6iJC/CDA=";
|
||||
meta =
|
||||
{
|
||||
description = "802.11 Attack Tool";
|
||||
}
|
||||
// angryoxide-meta;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue