X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=default.nix;h=c523b5693d39f57b4d90b7bba9a917618befd2f2;hp=fe38854085cb4a93fca063c9deb240d81809d932;hb=883e2b54db7e05149fcd5d4cfcf40ebd7181b29e;hpb=74d091b81b40c011eb51241ecb2b398ea133dec8 diff --git a/default.nix b/default.nix index fe388540..c523b569 100644 --- a/default.nix +++ b/default.nix @@ -1,141 +1,2 @@ -# nix-shell -A xonotic -# --argstr cc clang -{ - nixpkgs ? , - pkgs ? (import nixpkgs) {}, - cc ? null, -}: -with pkgs; -let - VERSION = "0.8.2"; - stdenv = if (cc != null) then overrideCC pkgs.stdenv pkgs."${cc}" else pkgs.stdenv; - targets = rec { - xonotic = stdenv.mkDerivation rec { - name = "xonotic-${version}"; - version = VERSION; - - XON_NO_DAEMON = true; - XON_NO_RADIANT = true; - - XON_NO_QCC = true; - QCC = "${gmqcc}/gmqcc"; - - src = lib.sourceFilesBySuffices ./. [ - ".txt" ".cmake" ".in" - ".c" ".cpp" ".h" - ".inc" ".def" - ".qc" ".qh" - ".sh" - ]; - - enableParallelBuilding = true; - - cmakeFlags = [ - "-DDOWNLOAD_MAPS=0" - ]; - - nativeBuildInputs = [ - cmake # for building - git # for versioning - # unzip # for downloading maps - ]; - - buildInputs = [ - openssl # for d0_blind_id - SDL2 # for darkplaces - ]; - - runtimeInputs = [ - zlib - curl - - libjpeg - libpng - - freetype - - libogg - libtheora - libvorbis - ]; - - shellHook = '' - export LD_LIBRARY_PATH=''${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${lib.makeLibraryPath runtimeInputs} - ''; - - installPhase = '' - mkdir $out - - exe=darkplaces/darkplaces - rpath=$(patchelf --print-rpath $exe) - rpath_firstparty=$out/d0_blind_id - rpath_thirdparty=${lib.makeLibraryPath runtimeInputs} - rpath=''${rpath:+$rpath:}$rpath_firstparty:$rpath_thirdparty - patchelf --set-rpath $rpath $exe - - cp -r . $out - ''; - - dontPatchELF = true; - }; - - gmqcc = stdenv.mkDerivation rec { - name = "gmqcc-${version}"; - version = "xonotic-${VERSION}"; - - src = ./gmqcc; - - enableParallelBuilding = true; - - installPhase = '' - mkdir $out - cp -r . $out - ''; - }; - - netradiant = stdenv.mkDerivation rec { - name = "netradiant-${version}"; - version = VERSION; - - XON_NO_DAEMON = true; - XON_NO_DP = true; - XON_NO_PKI = true; - XON_NO_QCC = true; - XON_NO_DATA = true; - - src = ./netradiant; - - enableParallelBuilding = true; - - cmakeFlags = [ - "-DDOWNLOAD_MAPS=0" - "-DGTK_NS=GTK" - ]; - - nativeBuildInputs = [ - cmake # for building - git # for versioning - ]; - - buildInputs = [ - pkgconfig - glib - libxml2 - ncurses - libjpeg - libpng - minizip - - mesa - - xorg.libXt - xorg.libXmu - xorg.libSM - xorg.libICE - - gnome2.gtk - gnome2.gtkglext - ]; - }; - }; -in targets +{ pkgs ? import {}, cc ? null }@args: +pkgs.callPackage ./derivation.nix args