|
57 | 57 | hash = "sha256-h5y0M1dupdO9CNG+OhUYi56UXsWAL5B0PTnhx+gU3FA="; |
58 | 58 | fetchSubmodules = false; |
59 | 59 | }; |
60 | | - in rec { |
61 | | - formatter = pkgs.alejandra; |
62 | 60 |
|
63 | | - # TODO: generalise lotus v. azalea |
64 | | - packages.default = packages.lotus; |
65 | | - packages.lotus = pkgs.stdenv.mkDerivation { |
66 | | - name = "lotus"; |
67 | | - |
68 | | - srcs = [ |
69 | | - ec |
70 | | - cmsis |
71 | | - zephyr |
72 | | - ]; |
| 61 | + mkBuild = packages: build: |
| 62 | + pkgs.stdenv.mkDerivation { |
| 63 | + name = build; |
73 | 64 |
|
74 | | - sourceRoot = "."; |
| 65 | + srcs = [ |
| 66 | + ec |
| 67 | + cmsis |
| 68 | + zephyr |
| 69 | + ]; |
75 | 70 |
|
76 | | - postPatch = '' |
77 | | - mkdir .repo |
| 71 | + sourceRoot = "."; |
78 | 72 |
|
79 | | - mkdir -p src/platform |
80 | | - mv ec src/platform/ec |
| 73 | + postPatch = '' |
| 74 | + mkdir .repo |
81 | 75 |
|
82 | | - mkdir -p src/third_party/zephyr |
83 | | - mv cmsis src/third_party/zephyr/cmsis |
| 76 | + mkdir -p src/platform |
| 77 | + mv ec src/platform/ec |
84 | 78 |
|
85 | | - mkdir -p src/third_party/zephyr |
86 | | - mv zephyr src/third_party/zephyr/main |
87 | | - ''; |
| 79 | + mkdir -p src/third_party/zephyr |
| 80 | + mv cmsis src/third_party/zephyr/cmsis |
88 | 81 |
|
89 | | - nativeBuildInputs = [ |
90 | | - zephyr-sdk |
91 | | - pkgs.cmake |
92 | | - pkgs.git |
93 | | - pkgs.ninja |
94 | | - pythonPkgs.pyyaml |
95 | | - pythonPkgs.pykwalify |
96 | | - pythonPkgs.packaging |
97 | | - pythonPkgs.pyelftools |
98 | | - pythonPkgs.colorama |
99 | | - packages.binman |
100 | | - ]; |
| 82 | + mkdir -p src/third_party/zephyr |
| 83 | + mv zephyr src/third_party/zephyr/main |
| 84 | + ''; |
101 | 85 |
|
102 | | - dontUseCmakeConfigure = true; |
| 86 | + nativeBuildInputs = [ |
| 87 | + zephyr-sdk |
| 88 | + pkgs.cmake |
| 89 | + pkgs.git |
| 90 | + pkgs.ninja |
| 91 | + pythonPkgs.pyyaml |
| 92 | + pythonPkgs.pykwalify |
| 93 | + pythonPkgs.packaging |
| 94 | + pythonPkgs.pyelftools |
| 95 | + pythonPkgs.colorama |
| 96 | + packages.binman |
| 97 | + ]; |
103 | 98 |
|
104 | | - buildPhase = '' |
105 | | - ${packages.zmake}/bin/zmake -j8 build lotus -DCMAKE_MAKE_PROGRAM="${pkgs.ninja}/bin/ninja" -DBUILD_VERSION=awawa |
106 | | - ''; |
| 99 | + dontUseCmakeConfigure = true; |
107 | 100 |
|
108 | | - installPhase = '' |
109 | | - mkdir $out |
110 | | - cp src/platform/ec/build/zephyr/lotus/output/* $out/ |
111 | | - ''; |
| 101 | + buildPhase = '' |
| 102 | + ${packages.zmake}/bin/zmake -j8 build ${build} -DCMAKE_MAKE_PROGRAM="${pkgs.ninja}/bin/ninja" -DBUILD_VERSION=awawa |
| 103 | + ''; |
112 | 104 |
|
113 | | - dontFixup = true; |
114 | | - }; |
| 105 | + installPhase = '' |
| 106 | + mkdir $out |
| 107 | + cp src/platform/ec/build/zephyr/${build}/output/* $out/ |
| 108 | + ''; |
| 109 | + |
| 110 | + dontFixup = true; |
| 111 | + }; |
| 112 | + in rec { |
| 113 | + formatter = pkgs.alejandra; |
| 114 | + |
| 115 | + packages.default = packages.lotus; |
| 116 | + packages.lotus = mkBuild packages "lotus"; |
| 117 | + packages.azalea = mkBuild packages "azalea"; |
115 | 118 |
|
116 | 119 | packages.zmake = pythonPkgs.buildPythonPackage { |
117 | 120 | name = "zmake"; |
|
122 | 125 |
|
123 | 126 | postPatch = '' |
124 | 127 | sed -e 's#"/bin:/usr/bin"#"/bin:/usr/bin:${pkgs.gcc}/bin:${pkgs.dtc}/bin"${ |
125 | | - if pkgs.stdenv.hostPlatform.isDarwin then |
126 | | - '',"DYLD_LIBRARY_PATH":"${pkgs.dtc}/lib"'' |
| 128 | + if pkgs.stdenv.hostPlatform.isDarwin |
| 129 | + then '',"DYLD_LIBRARY_PATH":"${pkgs.dtc}/lib"'' |
127 | 130 | else "" |
128 | 131 | }#' -i zmake/jobserver.py |
129 | 132 | ''; |
|
0 commit comments