Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
midori:contribute [2013/11/22 19:32] – lewisgoddard | midori:contribute [2015/08/30 21:05] – kalikiana | ||
---|---|---|---|
Line 17: | Line 17: | ||
Join [[irc:// | Join [[irc:// | ||
+ | |||
+ | //Note: Midori also has a mirrored room in Slack ([[https:// | ||
+ | |||
====== Contribute other than touching code ====== | ====== Contribute other than touching code ====== | ||
Line 24: | Line 27: | ||
* [[https:// | * [[https:// | ||
* Write [[http:// | * Write [[http:// | ||
+ | |||
+ | ====== Documentation resources ====== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
====== Build the code ====== | ====== Build the code ====== | ||
Line 30: | Line 40: | ||
cmake -DCMAKE_INSTALL_PREFIX=/ | cmake -DCMAKE_INSTALL_PREFIX=/ | ||
make | make | ||
- | sudo make install</ | + | sudo make install |
+ | sudo gtk-update-icon-cache / | ||
+ | </ | ||
//Advanced Tip: Pass "-G Ninja" to cmake to use [[http:// | //Advanced Tip: Pass "-G Ninja" to cmake to use [[http:// | ||
If using GTK+3 you'll want to add <code bash> | If using GTK+3 you'll want to add <code bash> | ||
+ | |||
+ | You can build Midori using another C Compiler for example Clang. Just | ||
+ | add -DCMAKE_C_COMPILER=/ | ||
+ | Then you can build following your normal procedure. Like this: | ||
+ | <code bash> | ||
+ | make</ | ||
Midori can be **run without being installed**. | Midori can be **run without being installed**. | ||
Line 62: | Line 80: | ||
<code bash>env MIDORI_DEBUG=help _build/ | <code bash>env MIDORI_DEBUG=help _build/ | ||
+ | |||
+ | Whilst -g is convenient you may want to use proper gdb: | ||
+ | |||
+ | <code bash>gdb | ||
+ | file _build/ | ||
+ | run | ||
+ | … | ||
+ | bt</ | ||
+ | |||
+ | On Windows you can open the folder where Midori is installed and double-click gdb.exe. A black command line window should appear. | ||
+ | |||
+ | <code bash> | ||
+ | run | ||
+ | … | ||
+ | bt</ | ||
To verify a regression you might need to revert a particular change: | To verify a regression you might need to revert a particular change: | ||
Line 201: | Line 234: | ||
* Clear Private Data uses **Granite.Widgets.LightWindow** | * Clear Private Data uses **Granite.Widgets.LightWindow** | ||
* Edit Bookmark and Security Details use [[http:// | * Edit Bookmark and Security Details use [[http:// | ||
- | * Browser uses **Granite.Widgets.DynamicNotebook** instead of Gtk.Notebook | + | |
====== Midori for Windows ====== | ====== Midori for Windows ====== | ||
- | ===== Dependencies | + | |
+ | ===== For Linux developers | ||
+ | ==== Dependencies | ||
Midori for Windows is compiled on a Linux host and MinGW stack. For the current build Fedora 18 packages are used. Packages needed are listed below: | Midori for Windows is compiled on a Linux host and MinGW stack. For the current build Fedora 18 packages are used. Packages needed are listed below: | ||
Line 218: | Line 253: | ||
Installing those should get you the packages needed to successfully build and develop Midori for Win32. | Installing those should get you the packages needed to successfully build and develop Midori for Win32. | ||
- | ===== Building | + | ==== Building ==== |
For 32-bit builds: | For 32-bit builds: | ||
<code bash> | <code bash> | ||
Line 244: | Line 279: | ||
One way around it is to virtualize Windows on a Linux host and mount your MinGW directories as a network drive or shared folder. | One way around it is to virtualize Windows on a Linux host and mount your MinGW directories as a network drive or shared folder. | ||
+ | |||
+ | ===== For Windows developers ===== | ||
+ | Rough list of prerequisites for building with MinGW on Windows | ||
+ | |||
+ | If in doubt whether to get 32 or 64 bit versions use 32 bit ones, they are more | ||
+ | universal and tend to be less broken. | ||
+ | |||
+ | |||
+ | ==== MinGW compiler ==== | ||
+ | Compiler should match the one that was used to build packages ideally. | ||
+ | |||
+ | * We will user *mingw64 rubenvb* release | ||
+ | * Lastest stable release is gcc 4.8.0 | ||
+ | |||
+ | [[http:// | ||
+ | %20Win64/ | ||
+ | |||
+ | [[http:// | ||
+ | %20Win64/ | ||
+ | win32_rubenvb.7z/ | ||
+ | |||
+ | |||
+ | ==== 7zip ==== | ||
+ | We will need 7zip to extract various archives | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ==== Python3 (to extract rpms) ==== | ||
+ | We will need python3 to use download-mingw-rpm.py script. | ||
+ | If you don't plan to use it you can safely skip this step. | ||
+ | |||
+ | We get python3, whatever is the lastes stable release. | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | Install Python and be sure to check "addd python.exe to path" installer checkbox. | ||
+ | |||
+ | ==== download-mingw-rpm.py ==== | ||
+ | We get download-mingw-rpm.py script from github. It uses Python3 and should fetch and | ||
+ | unpack rpm files for us. | ||
+ | |||
+ | [[https:// | ||
+ | mingw-rpm.py|View Script]] | ||
+ | |||
+ | [[https:// | ||
+ | mingw-rpm.py|Download Script]] | ||
+ | |||
+ | Usage: | ||
+ | |||
+ | * Launch cmd.exe | ||
+ | * Navigate to folder where the script was saved | ||
+ | * Make sure that python can access 7z.exe | ||
+ | * Run command and wait, it should extract the packages into your current directory | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | [[http:// | ||
+ | /m/|Fedora 18 packages]] | ||
+ | |||
+ | The above URL for some reason does not work with the script. | ||
+ | |||
+ | ==== MSYS ==== | ||
+ | Msys contains shell and some small utilities | ||
+ | |||
+ | [[http:// | ||
+ | %20packages%20%28Win64%20hosted%29/ | ||
+ | |||
+ | |||
+ | ==== CMake ==== | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | |||
+ | When installing check the installer checkbox "add to path" | ||
+ | |||
+ | |||
+ | ==== Bazaar ==== | ||
+ | [[http:// | ||
+ | |||
+ | We will get 2.4 Stable Release (standalone) | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | When installing check the installer checkbox "add to path" | ||
+ | |||
+ | ==== Vala ==== | ||
+ | [[http:// | ||
+ | |||
+ | ==== Globbing it all together ==== | ||
+ | |||
+ | Extracted rpms msys and mingw packages should form uniform unix like folder. | ||
+ | You use msys.bat to launch a shell | ||
====== Jargon ====== | ====== Jargon ====== |