nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 120 lines 2.1 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitLab, 5 callPackage, 6 libglut, 7 freealut, 8 libGLU, 9 libGL, 10 libICE, 11 libjpeg, 12 openal, 13 plib, 14 libSM, 15 libunwind, 16 libX11, 17 xorgproto, 18 libXext, 19 libXi, 20 libXmu, 21 libXt, 22 simgear, 23 zlib, 24 boost, 25 cmake, 26 libpng, 27 udev, 28 fltk_1_3, 29 apr, 30 qt5, 31 glew, 32 curl, 33}: 34 35let 36 version = "2024.1.3"; 37 data = stdenv.mkDerivation rec { 38 pname = "flightgear-data"; 39 inherit version; 40 41 src = fetchFromGitLab { 42 owner = "flightgear"; 43 repo = "fgdata"; 44 tag = version; 45 hash = "sha256-LNHO/W8p4b8fYcehdfVecldKQ9uJp1zlg60xdgDC45c="; 46 }; 47 48 dontUnpack = true; 49 50 installPhase = '' 51 mkdir -p "$out/share/FlightGear" 52 cp ${src}/* -a "$out/share/FlightGear/" 53 ''; 54 }; 55 openscenegraph = callPackage ./openscenegraph-flightgear.nix { }; 56in 57stdenv.mkDerivation rec { 58 pname = "flightgear"; 59 # inheriting data for `nix-prefetch-url -A pkgs.flightgear.data.src` 60 inherit version data; 61 62 src = fetchFromGitLab { 63 owner = "flightgear"; 64 repo = "flightgear"; 65 tag = version; 66 hash = "sha256-m4bbWwMXwKJrMkb6svGrIZhcsPghrTMgFs8JCx3Wn/A="; 67 }; 68 69 nativeBuildInputs = [ 70 cmake 71 qt5.wrapQtAppsHook 72 ]; 73 buildInputs = [ 74 libglut 75 freealut 76 libGLU 77 libGL 78 libICE 79 libjpeg 80 openal 81 openscenegraph 82 plib 83 libSM 84 libunwind 85 libX11 86 xorgproto 87 libXext 88 libXi 89 libXmu 90 libXt 91 (simgear.override { openscenegraph = openscenegraph; }) 92 zlib 93 boost 94 libpng 95 udev 96 fltk_1_3 97 apr 98 qt5.qtbase 99 qt5.qtquickcontrols2 100 glew 101 qt5.qtdeclarative 102 curl 103 ]; 104 105 qtWrapperArgs = [ "--set FG_ROOT ${data}/share/FlightGear" ]; 106 107 postInstall = '' 108 # Remove redundant AppImage artifacts 109 rm -rf "$out/appdir" 110 ''; 111 112 meta = { 113 description = "Flight simulator"; 114 maintainers = with lib.maintainers; [ raskin ]; 115 platforms = lib.platforms.linux; 116 hydraPlatforms = [ ]; # disabled from hydra because it's so big 117 license = lib.licenses.gpl2Plus; 118 mainProgram = "fgfs"; 119 }; 120}