Final Project Report - GSoC 2018 - Scilab

Aim

The main aim of the project was to build a ' click and run ' application for Scilab on MacOS. However I decided to separate the aim into following cateogories:
  1. To build a shell script which helps to get all tools required to compile Scilab from source, and also compiles scilab.
  2. To properly bundle jre with the application, although jre was already bundeled but still it asks for Legacy Java SE6.
  3. To create a script which automates the process of app creation and codesigning

Progress

Completed

  1. I did make ScilabAppCreator which builds both an app and a dmg installer for Mac, which are properly signed by a Developer ID.
    This project can be found here: https://github.com/dvkcool/scilabAppCreator
    Also a detailed documentaion of how to use this project with all pre-requisites can be found here: Documentation page
  2. I did make scripts which handles the complete process of downloading sources to compiling and installing Scilab
    It can be found here: https://github.com/dvkcool/scilab-work/blob/master/Script/scilabDependenciesInstallerAndCompiler.sh
    Also I did write other scripts for custom use cases, a collection of which can be found here: https://github.com/dvkcool/scilab-work/tree/master/Script

Incomplete

  1. I did try a lot to bundle a jre in a proper manner, but I was unable to solve the issue.
    In any case MacOS prompeted to install the legacy Java SE6, however it was not the case if the main application was java executable.
    But in our case a C++ file was invoking a java file, so a chance of doing same was negligible.
    I however came up with a solution of creating a sym link to our bundled jre which solved the issue but it required the admin permission to modify system settings, which was not a very good alternative to choose.

Blog and Communication

I did maintain a blog diary of my GSoC journey, which I used to add twice in week or more. The index of which can be found here:https://dvkcool.github.io/gsoc-2018/blog/index.html

Also my mentors especially Mr. Paul BIGNIER (paro) and Mr. Clément David (davidcl) were super helpful. They answered all my doubts and queries through IRC or mailing list.
A list of my updates/queries on mailing list can be found on below links.:
  1. http://mailinglists.scilab.org/Gsoc-Scilab-Dmg-v5-for-Mac-OS-10-9-td4038350.html
  2. http://mailinglists.scilab.org/Gsoc-MacOS-DMG-v4-td4038298.html
  3. http://mailinglists.scilab.org/Gsoc-Progress-Update-Signed-dmg-app-with-bundled-java-and-thirdparty-td4038175.html
  4. http://mailinglists.scilab.org/Gsoc-Scilab-compilation-with-jdk10-td4038088.html
  5. http://mailinglists.scilab.org/Gsoc-Week-1-Blog-and-a-few-doubts-td4037969.html

A few videos which I made for the project





In case of any queries/doubts feel free to drop me a mail at divyanshukumarg@gmail.com

Hoping for Best.
Happily Coding
Divyanshu Kumar