Refactoring 3rdparty/README.md according to the three main OS (Windows, OSX and Windows)
Needs RevisionPublic

Authored by ablondinmasse on Dec 30 2016, 11:29 PM.

Details

Reviewers
alvinhochun
Group Reviewers
Krita
Summary

The instructions in the 3rdparty/README file might be a bit confusing for beginners since they address the three main OS (Windows, OSX and Windows) simultaneously. The goal of this patch is to split it according to each OS. I also slightly improved the Markdown format.

I must say I understand why it was written that way: there are a lot of redundancies in the new version. Therefore, I'm not quite sure if the new README file is better this way. Any comments about improving it are welcome!

Diff Detail

Repository
R37 Krita
Lint
Lint Skipped
Unit
Unit Tests Skipped
ablondinmasse retitled this revision from to Refactoring 3rdparty/README.md according to the three main OS (Windows, OSX and Windows).
ablondinmasse updated this object.
ablondinmasse edited the test plan for this revision. (Show Details)
ablondinmasse added a reviewer: Krita.
ablondinmasse set the repository for this revision to R37 Krita.
ablondinmasse added a project: Krita.
Restricted Application added a subscriber: woltherav. ยท View Herald TranscriptDec 30 2016, 11:29 PM
ablondinmasse updated this object.

Hi, @alvinhochun!

I'm a bit of afraid that having these lines duplicated in three places will make the build instructions unmaintainable. Especially if we take into account that Boud is the only person who can build Krita on all the three operating systems. It means that others will modify only their parts and they will become out of sync really quickly.

Can markup do some nice highlighting for each operating system? So we could probably return to the previous layout but with a proper highlighting the steps for a particular OS?

Hi @dkazakov, I decided to reply on your comment over in the Maniphest task since I am not specificity on this patch.

Hi, everyone,

While I was creating the patch, I had the same feeling than @dkazakov: I'm not sure it's better with so many lines duplicated. It's messier to maintain.

Should I just drop it? Or I could try another patch with the same structure as before, but with Markdown highlights to emphasize what OS is used where.

Should I just drop it? Or I could try another patch with the same structure as before, but with Markdown highlights to emphasize what OS is used where.

If you could reformat the old file structure with nice markup, it would be awesome :) I followed the instructions yesterday and it seems like all the instructions are still actual (at least on Windows and Linux).

Hi, @alvinhochun!

Btw, I was going to add instructions about Audio Support, but I'm afraid of getting into the conflict with your changes, could you please add the following chapter into your notes?

Notes about building Krita on Linux (Ubuntu 16.04)

To have audio playback support in Krita, you should have the following development packages installed:

  • GStreamer 1.0 (mind the version, 0.10 will not work!)
  • ASound

To have the fonts set up properly:

  • FontConfig

In total the following lines should do the trick:

sudo apt install libfontconfig1-dev
sudo apt install libasound2-dev 
sudo apt install libgstreamer1.0-dev gstreamer1.0-pulseaudio 
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev

When building Qt, make sure it finds the libraries correctly, by checking its configure output. There should be something like that:

Support enabled for:
  ...
  GStreamer .............. yes (1.0)
  Fontconfig ............. yes

Hi @dkazakov, tbh I didn't plan to do any changes to the structure soon, but it just so happened that @ablondinmasse submitted this patch which I am not sure how to handle.

I think it's fine if @ablondinmasse want to try restructuring the file and do some new formatting, but it might be too early to review this patch before having decided on the direction to go?

Also, I actually have some other changes planned (which btw shouldn't conflict with @dkazakov's changes), so I want to have T4986 as a parent task, and create a subtask for each individual change, how do you think about it?

Actually, I was thinking about it in the wrong way. Some small changes would not worth creating a subtask at all. Might as well just commit directly.

The conflict at the moment is whether the structure should be changed before or after updating the content. I would want to update the content before restructuring the whole thing. And perhaps the structure might even change naturally while updating the content.

alvinhochun requested changes to this revision.Aug 16 2017, 3:59 PM

This is obviously outdated for current master, especially with all the Python stuff being added.

This revision now requires changes to proceed.Aug 16 2017, 3:59 PM