Week06
Semester Project
Team: Matthew, Keisuke, Umar ——————————– For our semester long project, we decided to work on Inkscape. The reason I decided to choose inkscape is because it is a program that we have all used at least once so we at least know what the purpose of the program is. However, one thing that threw me off intially is the fact that the inkscape source code is hosted on GitLab instead of GitHub. The reason that threw me off is because I’m already not too confident in myself in GitHub, and to potentially have to relearn everything on GitLab was a bit intimidating. But after deciding to finally take a step and check out Inkscape on GitLab, I realized that it is surprisingly similar. The layout is really similar, and it seems like the only difference between GitLab and GitHub is a different “skin” so to speak. Meaning, there is a different color theme. Other than that, I had to create an account, but I just chose to create with my GitHub account. The forking, cloning options were all still there like I was taught in class.
Installing
After feeling confident in myself because GitLab is surprisingly similar to GitHub, I decided to begin the installation process of Inkscape onto my computer. I had to build Inkscape from the source code and not just download the installation.exe from Inkscape’s website.
- Inkscape’s GitHub Doesn’t contain much information, just links to other resources
- Inkscape’s GitLab The home of inkscape’s juicy source code.
I began my build adventure by navigating to the install.md. There I was greeted with a really simple code snippet.
mkdir build cd build cmake .. make make installSounds simple enough, but it was suspiciously too simple. I had to download this program called CMake. I have no idea what that is and never heard of it. However, amid all the rest of the text and command prompts, I saw a link to Inkscape’s wiki to Compile Inkscape. From there, I clicked the installation instructions for Windows. There were really clear instructions on how to properly build Inkscape with good use of pictures.
I began by installing something called MSYS2. From there, it asked me to run the code snippetpacman -SyuuThis command used in MSYS2 will check to see if all files are updated and if not, update them.
I actually had to run the command a couple of times, sometimes during the upgrade process, it would ask me to close the terminal and reopen and rerun the command to double check that everything is updated. It took my computer about 5 minutes to finish updating.
After MSYS2 finished compiling, it than asked me to run a really long command to download all dependencies needed to build Inkscape. The code can be found here After waiting for about 10 minutes, the installation of the dependencies finally finished.
waiting and waiting…
I then ran the following code to create a clone from inkscape’s gitlab
git clone --recurse-submodules https://gitlab.com/inkscape/inkscape.git master
The file is pretty big, at around 2.00GB and took a few minutes to finish downloading
After the cloning was finished, I had to ran these series of commands.
# change to the directory containing your Inkscape source checkout (has to be adjusted to match your system)
cd master
# create a directory for the build (could also be another folder, but we'll assume 'build' being used for the rest of the article)
mkdir build
cd build
# create build files with CMake (we generate rules for "Ninja" as it's significantly faster then "MinGW Makefiles" which uses mingw32-make)
# note the source path '..' (which in this case is the parent directory) and should always point to the root folder of your copy of the Inkscape source
cmake -G Ninja ..
# start the compilation
ninja
# install compiled files and all dependencies required to run Inkscape into the folder 'build/inkscape/'
ninja install
# The last two steps can be combined (i.e. run 'ninja install' immediately) if you want to save time in future, as the "install" target also includes the default target
Running the command “ninja” to start the compilation was also a long and tedious process. It took very long to complete the compilation and finished in about 50 minutes.
After waiting for what seems like decades, I now have a finished, built copy of Inkscape on my computer.
Comments on open source isn’t about you This article or reading really reminded me what open source is open and the pros and cons that come with it. I totally 100% agree with what is said in that article. It is true that open source, you are not entitled anything, and no one is your boss, and you’re no ones boss. Being the owner of a open source project does not allow you to boss people around. If you have someone who you have been relying on to make great progress to your project, and suddenly they stopped working because “they don’t feel like it”, you absolutely cannot say anything to them, and ask them to work. One does not gain any status in life because they helped contribute greatly to a open source project.