On 15/8/19 2:07 am, Vijay Kumar Banerjee wrote: > I wrote a patch for lv_drivers repository to support FreeBSD framebuffer > in fbdev, which they merged to the master today.
Well done, that is great. > I have tested > the driver to be working with an app that I wrote on FreeBSD and > tested it on Beaglebone black image 12-STABLE. Awesome. > I intend to write an RSB recipe to build littleVGL and seek some guidance > on how to proceed. :) Please review https://docs.rtems.org/branches/master/user/rsb/third-party-packages.html I suggest you see how the curl package is done. It is a nice clean example. The packages are sort of based on the FreeBSD ports layout. Littlevgl is not a port so we can use `graphics/littlevgl`. The file pattern used in the RSB for a 3rd party package is: - A buildset or bset file, this is the top level wrapper for the config files and selects the version to be built... https://git.rtems.org/rtems-source-builder/tree/rtems/config/ftp/curl.bset - The version specific config file that sets the version and checksum for the package. It includes the build config or recipe... https://git.rtems.org/rtems-source-builder/tree/rtems/config/ftp/curl-7.65.1-1.cfg Note, this is a 3prd party package so includes `rtems-bsp.cfg`. This create a suitable environment to build a package for a BSP. - The build config file ... https://git.rtems.org/rtems-source-builder/tree/source-builder/config/curl-1.cfg These configs do not include any other configs and could be used to build a native package for a host or a 3rd party package for RTEMS. - The `%prep` section prepares the source to build. For github if we are building from master we select a commit and fetch a compressed tarball. This means we can snapshot the source when making a release. The RSB can work directly with the git repo however this has proven to be more fragile than a tarball. - The `%build` section builds the package. The contents of this file are used to create a shell script. Use --dry-run, --trace and --log to debug what is happening. The shell script contents should be viewable in the log file if a dry run does not created it. There is a lot of trace but searching will help you locate the piece you are interested in. The `source_dir_*` shell variable is the directory created by extracting the tarfile. The macros `%{build_directory}` and `%{host_build_flags}` are defined in `defaults.mc` and should handle the compiler and flags. You may want to check libbsd is installed in your config, see ... https://git.rtems.org/rtems-source-builder/tree/rtems/config/rtems-bsp.cfg#n198 .. for an example of how to check and add `%error This package needs libbsd, please build and install` or something like that as an error. The paths to install to are set up for you, these match how a BSP and RTEMS are installed. The layout needs to be followed or applications will not be able to find the header or the library. - The `%install` section installs the package. The install process is to a staging area `${SB_BUILD_ROOT}`. Nothing is installed unless all parts build so we do not have an inconsistent build in the install prefix. Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel