anchao commented on PR #16763:
URL: https://github.com/apache/nuttx/pull/16763#issuecomment-3186584098

   > @comejv @anchao @xiaoxiang781216 I don't see Nix support as something bad, 
of course, there are many Package managers out here, but people are free to add 
it. After all this is an democratic RTOS. I just suggest including the 
following information in the header of Nix documentation: "Nix is not the 
official build system of NuttX, this support was contributed to help people to 
integrate NuttX easily".
   > 
   > If we need to remove Nix, we need to remove CMakefile, since the official 
build system is based on Makefile
   
   @comejv  @acassis 
   
   > Should I revert and create another repo? Or maybe move it into tools? 
@anchao
   > Nix isn't a build system though, it just handles dependencies. But I see 
your point
   
   Nix is a positive change, especially with the detailed documentation 
provided in this commit. Thank you for your efforts. @comejv 
   
   > I don't see Nix support as something bad, of course, there are many 
Package managers out here, but people are free to add it. After all this is an 
democratic RTOS. I just suggest including the following information in the 
header of Nix documentation: "Nix is not the official build system of NuttX, 
this support was contributed to help people to integrate NuttX easily".
   
   Similar to Zephyr West, Nuttx doesn't offer official 3-party package 
management or dependency management framework. If our milestone is Nix, we 
might need to comprehensively plan the improvements needed for community 
adoption of this framework (especially since Nuttx-apps has too many of 
external libraries that require conditional downloads).
   
   From the current commit, it seems that nix only locks the download links and 
revisions of external dependency libraries, but this information is of no value 
for the Nuttx. Another problem is that it may not be a good choice to put the 
configuration file in the top-level directory. We could refer to zephyr or 
linux, whose top-level directory structure rarely changes and basically does 
not introduce unofficial configuration files.
   
   https://github.com/torvalds/linux
   https://github.com/zephyrproject-rtos/zephyr
   
   I think it would be better if it was relocated to tools or other directories.
   
   
   @acassis 
   
   > If we need to remove Nix, we need to remove CMakefile, since the official 
build system is based on Makefile
   
   The significance of CMake is completely different. It solves the issue that 
the Makefile build system in Nuttx cannot be out of tree.
   Today's IoT SOCs are becoming increasingly complex, completely different 
from the MCU chips of 10 years ago. Taking Espressif as an example, there are 
multiple MCUs in one chip. Using one set of code to compile the firmware of 
multiple MCUs at the same time is a big problem that the current system needs 
to solve.
   
   
   Moreover, the initiator of the CMake improvement is actual user within the 
community @protobits @dagar  . I merely, out of empathy, recognized that this 
improvement needs to be promoted to prevent NuttX from losing users in 
multi-MCU architecture SOCs. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to