115 lines
1.9 KiB
Nix
115 lines
1.9 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
wrapQtAppsHook,
|
|
libglut,
|
|
freealut,
|
|
libGLU,
|
|
libGL,
|
|
libICE,
|
|
libjpeg,
|
|
openal,
|
|
openscenegraph,
|
|
plib,
|
|
libSM,
|
|
libunwind,
|
|
libX11,
|
|
xorgproto,
|
|
libXext,
|
|
libXi,
|
|
libXmu,
|
|
libXt,
|
|
simgear,
|
|
zlib,
|
|
boost,
|
|
cmake,
|
|
libpng,
|
|
udev,
|
|
fltk13,
|
|
apr,
|
|
makeDesktopItem,
|
|
qtbase,
|
|
qtdeclarative,
|
|
glew,
|
|
curl,
|
|
}:
|
|
|
|
let
|
|
version = "2020.3.19";
|
|
shortVersion = builtins.substring 0 6 version;
|
|
data = stdenv.mkDerivation rec {
|
|
pname = "flightgear-data";
|
|
inherit version;
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.txz";
|
|
sha256 = "sha256-863EnNBU+rYTdxHwMV6HbBu99lO6H3mKGuyumm6YR5U=";
|
|
};
|
|
|
|
dontUnpack = true;
|
|
|
|
installPhase = ''
|
|
mkdir -p "$out/share/FlightGear"
|
|
tar xf "${src}" -C "$out/share/FlightGear/" --strip-components=1
|
|
'';
|
|
};
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "flightgear";
|
|
# inheriting data for `nix-prefetch-url -A pkgs.flightgear.data.src`
|
|
inherit version data;
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
|
|
sha256 = "sha256-Fn0I3pzA9yIYs3myPNflbH9u4Y19VZUS2lGjvWfzjm4=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
wrapQtAppsHook
|
|
];
|
|
buildInputs = [
|
|
libglut
|
|
freealut
|
|
libGLU
|
|
libGL
|
|
libICE
|
|
libjpeg
|
|
openal
|
|
openscenegraph
|
|
plib
|
|
libSM
|
|
libunwind
|
|
libX11
|
|
xorgproto
|
|
libXext
|
|
libXi
|
|
libXmu
|
|
libXt
|
|
simgear
|
|
zlib
|
|
boost
|
|
libpng
|
|
udev
|
|
fltk13
|
|
apr
|
|
qtbase
|
|
glew
|
|
qtdeclarative
|
|
curl
|
|
];
|
|
|
|
qtWrapperArgs = [
|
|
"--set FG_ROOT ${data}/share/FlightGear"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Flight simulator";
|
|
maintainers = with maintainers; [ raskin ];
|
|
platforms = platforms.linux;
|
|
hydraPlatforms = [ ]; # disabled from hydra because it's so big
|
|
license = licenses.gpl2Plus;
|
|
mainProgram = "fgfs";
|
|
};
|
|
}
|