lol
1{ lib, stdenv, fetchurl, wrapQtAppsHook
2, freeglut, freealut, libGLU, libGL, libICE, libjpeg, openal, openscenegraph, plib
3, libSM, libunwind, libX11, xorgproto, libXext, libXi
4, libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr
5, makeDesktopItem, qtbase, qtdeclarative, glew, curl
6}:
7
8let
9 version = "2020.3.19";
10 shortVersion = builtins.substring 0 6 version;
11 data = stdenv.mkDerivation rec {
12 pname = "flightgear-data";
13 inherit version;
14
15 src = fetchurl {
16 url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.txz";
17 sha256 = "sha256-863EnNBU+rYTdxHwMV6HbBu99lO6H3mKGuyumm6YR5U=";
18 };
19
20 dontUnpack = true;
21
22 installPhase = ''
23 mkdir -p "$out/share/FlightGear"
24 tar xf "${src}" -C "$out/share/FlightGear/" --strip-components=1
25 '';
26 };
27in
28stdenv.mkDerivation rec {
29 pname = "flightgear";
30 # inheriting data for `nix-prefetch-url -A pkgs.flightgear.data.src`
31 inherit version data;
32
33 src = fetchurl {
34 url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
35 sha256 = "sha256-Fn0I3pzA9yIYs3myPNflbH9u4Y19VZUS2lGjvWfzjm4=";
36 };
37
38 nativeBuildInputs = [ cmake wrapQtAppsHook ];
39 buildInputs = [
40 freeglut freealut libGLU libGL libICE libjpeg openal openscenegraph plib
41 libSM libunwind libX11 xorgproto libXext libXi
42 libXmu libXt simgear zlib boost libpng udev fltk13 apr qtbase
43 glew qtdeclarative curl
44 ];
45
46 qtWrapperArgs = [
47 "--set FG_ROOT ${data}/share/FlightGear"
48 ];
49
50 meta = with lib; {
51 description = "Flight simulator";
52 maintainers = with maintainers; [ raskin ];
53 platforms = platforms.linux;
54 hydraPlatforms = []; # disabled from hydra because it's so big
55 license = licenses.gpl2;
56 mainProgram = "fgfs";
57 };
58}