fr24feed/mlat-client/piaware/tar1090: init

This commit is contained in:
Luke Granger-Brown 2023-01-09 02:08:57 +00:00
parent 7f6d5c62d3
commit 973a32c51e
7 changed files with 255 additions and 1 deletions

View file

@ -2,7 +2,7 @@
#
# SPDX-License-Identifier: Apache-2.0
{ depot, pkgs, ... }@args: {
{ depot, pkgs, ... }@args: rec {
bazel-run = import ./bazel-run.nix args;
crane = import ./crane.nix args;
javaws-env = import ./javaws-env.nix args;
@ -73,5 +73,12 @@
authentik = import ./authentik args;
flipperzero-firmware = import ./flipperzero-firmware args;
jj = import ./jj.nix args;
readsb = pkgs.callPackage ./readsb { };
mlat-client = pkgs.python3.pkgs.callPackage ./mlat-client { };
tcllauncher = pkgs.callPackage ./piaware/tcllauncher.nix { };
piaware = pkgs.callPackage ./piaware/piaware.nix { inherit tcllauncher faup1090 mlat-client; };
faup1090 = pkgs.callPackage ./piaware/faup1090.nix { };
fr24feed = pkgs.callPackage ./fr24feed { };
} // (import ./heptapod-runner args)

View file

@ -0,0 +1,43 @@
{ stdenv
, lib
, fetchurl
, buildFHSUserEnv
, bash
, writeText
}:
let
fr24feed = stdenv.mkDerivation rec {
pname = "fr24feed-unwrapped";
version = "1.0.25-3";
src = fetchurl {
url = "https://repo-feed.flightradar24.com/linux_x86_64_binaries/fr24feed_${version}_amd64.tgz";
sha256 = "sha256:0gvb1p2lhgcrgpid3nqid92sbpg8561yfjlnbmi07bhs3vcilmbq";
};
installPhase = ''
runHook preInstall
install -Dm 0755 fr24feed $out/bin/fr24feed
runHook postInstall
'';
};
in
buildFHSUserEnv {
name = "fr24feed";
targetPkgs = pkgs: with pkgs; [
bash
];
extraBuildCommands = ''
chmod +w etc
ln -s /host/etc/fr24feed.ini etc/fr24feed.ini
'';
runScript = "${bash}/bin/bash ${
writeText "fr24feed"
''
exec ${fr24feed}/bin/fr24feed "$@"
''
}";
}

View file

@ -0,0 +1,15 @@
{ buildPythonApplication
, fetchFromGitHub
}:
buildPythonApplication rec {
pname = "mlat-client";
version = "0.4.2";
src = fetchFromGitHub {
owner = "adsbxchange";
repo = "mlat-client";
rev = "v${version}";
sha256 = "sha256:0v2f5ikl7salvvqxwq1n8v4z7p4m2yg6kxd5hpyd8pl1i6jwpzsp";
};
}

View file

@ -0,0 +1,17 @@
{ dump1090
}:
dump1090.overrideAttrs (oldAttrs: {
pname = "faup1090";
buildFlags = [ "faup1090" ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -v faup1090 $out/bin
runHook postInstall
'';
})

View file

@ -0,0 +1,71 @@
{ lib
, fetchFromGitHub
, stdenv
, coreutils
, iproute2
, openssl
, tcllauncher
, tcl
, tcllib
, tcltls
, tclx
, faup1090
, mlat-client
, which
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "piaware";
version = "8.2";
src = fetchFromGitHub {
owner = "flightaware";
repo = "piaware";
rev = "v${version}";
sha256 = "sha256:163ywwgcv1ick7qj1cx2879nm9apv2fadx1sgpx6lw9llvxhkb9d";
};
postPatch = ''
substituteInPlace package/fa_sysinfo.tcl \
--replace "/bin/df" "${coreutils}/bin/df" \
--replace "/sbin/ip" "${iproute2}/bin/ip" \
--replace "|ip" "|${iproute2}/bin/ip"
substituteInPlace programs/piaware/login.tcl \
--replace "/bin/uname" "${coreutils}/bin/uname"
substituteInPlace programs/piaware/helpers.tcl \
--replace "/bin/uname" "${coreutils}/bin/uname"
substituteInPlace programs/piaware/faup1090.tcl \
--replace "/usr/lib/piaware/helpers/faup1090" "${faup1090}/bin/faup1090"
substituteInPlace programs/piaware/mlat.tcl \
--replace "/usr/lib/piaware/helpers/fa-mlat-client" "${mlat-client}/bin/fa-mlat-client"
'';
buildInputs = [
tcllauncher
];
nativeBuildInputs = [
openssl
which
tcl
makeWrapper
];
makeFlags = "PREFIX= DESTDIR=${placeholder "out"}";
enableParallelBuilding = true;
postInstall = ''
wrapProgram $out/bin/piaware \
--suffix TCLLIBPATH ' ' "${tcltls}/lib ${tcllib}/lib ${tcllauncher}/lib ${tclx}/lib ${placeholder "out"}/lib"
wrapProgram $out/bin/piaware-config \
--suffix TCLLIBPATH ' ' "${tcltls}/lib ${tcllib}/lib ${tcllauncher}/lib ${tclx}/lib ${placeholder "out"}/lib"
wrapProgram $out/bin/piaware-status \
--suffix TCLLIBPATH ' ' "${tcltls}/lib ${tcllib}/lib ${tcllauncher}/lib ${tclx}/lib ${placeholder "out"}/lib"
wrapProgram $out/bin/pirehose \
--suffix TCLLIBPATH ' ' "${tcltls}/lib ${tcllib}/lib ${tcllauncher}/lib ${tclx}/lib ${placeholder "out"}/lib"
'';
}

View file

@ -0,0 +1,45 @@
{ lib
, fetchFromGitHub
, stdenv
, tcl
, tclx
, makeWrapper
, pkg-config
, autoreconfHook
}:
stdenv.mkDerivation rec {
pname = "tcllauncher";
version = "1.10";
src = fetchFromGitHub {
owner = "flightaware";
repo = "tcllauncher";
rev = "v${version}";
sha256 = "sha256:0zjq6s7ny0a72qmbbigsqp151kb316hvydsl6dl10y6arjhyqnh5";
};
buildInputs = [
tcl
tclx
];
nativeBuildInputs = [
autoreconfHook
pkg-config
makeWrapper
];
configureFlags = [
"--with-tcl=${tcl}/lib"
"--with-tclinclude=${tcl}/include"
"--exec-prefix=${placeholder "out"}"
];
makeFlags = [ "DESTDIR=/" ];
enableParallelBuilding = true;
#postInstall = ''
# wrapProgram $out/bin/tcllauncher \
# --suffix TCLLIBPATH ' ' "${tclx}/lib ${placeholder "out"}/lib"
#'';
}

View file

@ -0,0 +1,56 @@
{ lib
, fetchFromGitHub
, stdenv
, pkg-config
}:
let
tar1090 = fetchFromGitHub {
owner = "wiedehopf";
repo = "tar1090";
rev = "0678a884f18c4ce78b569a88340db3763ae45ff6";
sha256 = "sha256:0000000000000000000000000000000000000000000000000000";
};
tar1090-db = fetchFromGitHub {
owner = "wiedehopf";
repo = "tar1090-db";
rev = "bad4a563c52d71e791d4dbdb392e2257b3df7f17";
sha256 = "sha256:0000000000000000000000000000000000000000000000000000";
};
in
stdenv.mkDerivation rec {
pname = "tar1090";
version = "unstable-2022-10-06";
src = tar1090;
buildInputs = [
libusb1
ncurses
zlib
zstd
librtlsdr
libbladeRF
libiio
libad9361
];
nativeBuildInputs = [
pkg-config
];
makeFlags = "RTLSDR=yes AIRCRAFT_HASH_BITS=15 HISTORY=yes BLADERF=yes PLUTOSDR=yes AGGRESSIVE=yes HAVE_BIASTEE=yes";
enableParallelBuilding = true;
installPhase = ''
runHook preInstall
install -d $out/bin
install -m 0755 readsb $out/bin/readsb
ln -s $out/bin/readsb $out/bin/viewadsb
runHook postInstall
'';
}