{ stdenv, fetchurl, makeWrapper, pkgconfig , freeglut, freealut, libGLU, libICE, libjpeg, openal, openscenegraph, plib , libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto , libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr , makeDesktopItem, qtbase, qtdeclarative, glew, sqlite, speex }: let version = "2017.2.1"; shortVersion = "2017.2"; data = stdenv.mkDerivation rec { name = "flightgear-base-${version}"; src = fetchurl { url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.tar.bz2"; sha256 = "196imk6ppin98djrci52ixm75a4183kvjysya6y7xnd1012hwdf9"; }; phases = [ "installPhase" ]; installPhase = '' mkdir -p "$out/share/FlightGear" tar xf "${src}" -C "$out/share/FlightGear/" --strip-components=1 ''; }; in stdenv.mkDerivation rec { name = "flightgear-${version}"; # inheriting data for `nix-prefetch-url -A pkgs.flightgear.data.src` inherit version data; src = fetchurl { url = "mirror://sourceforge/flightgear/release-${shortVersion}/${name}.tar.bz2"; sha256 = "0nqz66xlqfyip9srbx4wk0d4m21npghzil07cwih5zfa6qvsdnf7"; }; # Of all the files in the source and data archives, there doesn't seem to be # a decent icon :-) iconsrc = fetchurl { url = "http://wiki.flightgear.org/images/6/62/FlightGear_logo.png"; sha256 = "1ikz413jia55vfnmx8iwrlxvx8p16ggm81mbrj66wam3q7s2dm5p"; }; desktopItem = makeDesktopItem { name = "flightgear"; exec = "fgfs"; icon = "${iconsrc}"; comment = "FlightGear Flight Simulator"; desktopName = "FlightGear"; genericName = "Flight simulator"; categories = "Game;Simulation"; }; buildInputs = [ makeWrapper pkgconfig freeglut freealut libGLU libICE libjpeg openal openscenegraph plib libSM libunwind libX11 xproto libXext xextproto libXi inputproto libXmu libXt simgear zlib boost cmake libpng udev fltk13 apr qtbase qtdeclarative glew sqlite speex ]; cmakeFlags="-DFG_BUILD_TYPE=Release -DSYSTEM_SQLITE=ON -DSYSTEM_SPEEX=ON"; postInstall = '' mkdir -p "$out/share/applications/" cp "${desktopItem}"/share/applications/* "$out/share/applications/" #*/ for f in $out/bin/* #*/ do wrapProgram $f --set FG_ROOT "${data}/share/FlightGear" done ''; meta = with stdenv.lib; { description = "Flight simulator"; maintainers = with maintainers; [ raskin the-kenny ]; platforms = platforms.linux; hydraPlatforms = []; # disabled from hydra because it's so big license = licenses.gpl2; }; }