|
20 | 20 | # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21 | 21 | # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22 | 22 |
|
23 |
| -# Due to the use of submodules this has to be build with: |
24 |
| -# |
25 |
| -# nix build "git+file://$(pwd)?submodules=1" |
26 |
| -# |
27 |
| -# See: https://github.com/NixOS/nix/pull/5434 |
28 | 23 | {
|
29 | 24 | description = "A 2D platform game featuring Tux the penguin";
|
30 | 25 |
|
31 |
| - inputs = rec { |
| 26 | + inputs = { |
32 | 27 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11";
|
33 | 28 | flake-utils.url = "github:numtide/flake-utils";
|
| 29 | + |
| 30 | + tinycmmc.url = "gitlab:grumbel/cmake-modules"; |
| 31 | + tinycmmc.inputs.nixpkgs.follows = "nixpkgs"; |
| 32 | + tinycmmc.inputs.flake-utils.follows = "flake-utils"; |
| 33 | + |
| 34 | + sexpcpp.url = "gitlab:lispparser/sexp-cpp"; |
| 35 | + sexpcpp.inputs.nixpkgs.follows = "nixpkgs"; |
| 36 | + sexpcpp.inputs.flake-utils.follows = "flake-utils"; |
| 37 | + sexpcpp.inputs.tinycmmc.follows = "tinycmmc"; |
| 38 | + |
| 39 | + tinygettext.url = "github:tinygettext/tinygettext"; |
| 40 | + tinygettext.inputs.nixpkgs.follows = "nixpkgs"; |
| 41 | + tinygettext.inputs.flake-utils.follows = "flake-utils"; |
| 42 | + tinygettext.inputs.tinycmmc.follows = "tinycmmc"; |
| 43 | + |
| 44 | + SDL2_ttf.url = "github:SuperTux/SDL_ttf"; |
| 45 | + SDL2_ttf.inputs.nixpkgs.follows = "nixpkgs"; |
| 46 | + SDL2_ttf.inputs.flake-utils.follows = "flake-utils"; |
34 | 47 | };
|
35 | 48 |
|
36 |
| - outputs = { self, nixpkgs, flake-utils }: |
| 49 | + outputs = { self, nixpkgs, flake-utils, tinycmmc, sexpcpp, tinygettext, SDL2_ttf }: |
37 | 50 | flake-utils.lib.eachDefaultSystem (system:
|
38 | 51 | let
|
39 | 52 | pkgs = nixpkgs.legacyPackages.${system};
|
40 | 53 | in rec {
|
41 | 54 | packages = flake-utils.lib.flattenTree rec {
|
| 55 | + squirrel = pkgs.stdenv.mkDerivation { |
| 56 | + pname = "squirrel"; |
| 57 | + version = "3.2"; |
| 58 | + src = pkgs.fetchgit { |
| 59 | + url = "https://github.com/albertodemichelis/squirrel.git"; |
| 60 | + rev = "v3.2"; |
| 61 | + hash = "sha256-vzAF0ooYoghw0yKKoS0Q6RnPPMhmP+05RoutVSZIGwk="; |
| 62 | + }; |
| 63 | + nativeBuildInputs = [ |
| 64 | + pkgs.cmake |
| 65 | + ]; |
| 66 | + }; |
| 67 | + |
42 | 68 | raqm = pkgs.stdenv.mkDerivation rec {
|
43 | 69 | pname = "libraqm";
|
44 | 70 | version = "0.7.2";
|
|
70 | 96 | # isn't included in the Nix store.
|
71 | 97 | version = "0.6.3-unknown-" + (if (self ? shortRev) then self.shortRev else "dirty");
|
72 | 98 | src = nixpkgs.lib.cleanSource ./.;
|
73 |
| - postPatch = let |
| 99 | + patchPhase = let |
74 | 100 | ver = builtins.splitVersion version;
|
75 |
| - in ''cat > version.cmake <<EOF |
| 101 | + in '' |
| 102 | + substituteInPlace config.h.cmake \ |
| 103 | + --replace "#define _SQ64" "" |
| 104 | +
|
| 105 | + cat > version.cmake <<EOF |
76 | 106 | SET(SUPERTUX_VERSION_MAJOR ${builtins.elemAt ver 0})
|
77 | 107 | SET(SUPERTUX_VERSION_MINOR ${builtins.elemAt ver 1})
|
78 | 108 | SET(SUPERTUX_VERSION_PATCH ${builtins.elemAt ver 2})
|
79 | 109 | SET(SUPERTUX_VERSION_TWEAK )
|
80 | 110 | SET(SUPERTUX_VERSION_STRING "v${version}")
|
81 | 111 | SET(SUPERTUX_VERSION_BUILD "${builtins.elemAt ver 4}")
|
82 | 112 | EOF
|
83 |
| -''; |
| 113 | + ''; |
84 | 114 | cmakeFlags = [ "-DINSTALL_SUBDIR_BIN=bin" ];
|
85 | 115 | enableParallelBuilding = true;
|
86 | 116 | nativeBuildInputs = [
|
87 | 117 | pkgs.cmake
|
88 |
| - pkgs.ninja |
89 |
| - pkgs.gcc |
90 | 118 | pkgs.pkgconfig
|
91 | 119 | pkgs.makeWrapper
|
92 | 120 | pkgs.git
|
|
98 | 126 | '';
|
99 | 127 | buildInputs = [
|
100 | 128 | raqm
|
| 129 | + squirrel |
| 130 | + sexpcpp.defaultPackage.${system} |
| 131 | + tinygettext.defaultPackage.${system} |
| 132 | + SDL2_ttf.defaultPackage.${system} |
| 133 | + |
| 134 | + pkgs.physfs |
| 135 | + pkgs.SDL_ttf |
101 | 136 |
|
102 | 137 | pkgs.boost
|
103 | 138 | pkgs.curl
|
104 |
| - pkgs.fmt |
| 139 | + pkgs.fmt_8 |
105 | 140 | pkgs.fribidi
|
106 | 141 | pkgs.harfbuzz
|
107 | 142 | pkgs.freetype
|
|
0 commit comments