diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | ChangeLog | 50 | ||||
-rw-r--r-- | HACKING | 114 | ||||
-rwxr-xr-x | tools/release | 20 | ||||
-rw-r--r-- | win32/makedist/midori.nsi | 2 |
5 files changed, 177 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 83991a2b..0446997b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ project(midori C) add_definitions("-DPACKAGE_NAME=\"${CMAKE_PROJECT_NAME}\"") add_definitions("-DPACKAGE_BUGREPORT=\"https://bugs.launchpad.net/midori\"") -set(VERSION 0.5.7) +set(VERSION 0.5.8) add_definitions("-DMIDORI_VERSION_SUFFIX=\"${VERSION}\"") string(REPLACE "." ";" VERSION_LIST ${VERSION}) @@ -1,5 +1,55 @@ This file is licensed under the terms of the expat license, see the file EXPAT. +v0.5.8 + Use png icon instead of svg in set_status + We must not pass a Cancellable to FaviconDatabase.get_favicon_pixbuf + Retain spelling suggestion menu items from WebKit + Properly guard usage of gtk3 get_style_context + Block unverified sub resources + Mimic the look of Granite.DynamicNotebook when compiled with --enable-granite. + Fix X11 lib underlink in midori-core + Fix bookmarkbar bookmark click not opening links + Use sanitized app URI as wm_classname/ StartupWMClass + Make trunk build with WebKit2 again + Fix for incorrect tstamp for background tabs + Don't declare sorting doubles are nullable and print values when database tracing is enabled + Correctly apply saved entry state and treat urlbar as a regular editable item + Add missing conditional includes for granite flavoured build + Open URIs dragged on tab label or new tab button + Small adblock bugfixes + Work around GTK3's hard-coded minimum stackswitcher button width + Fix building with mingw packages from fedora 18 + Set page title as basis for print filename + Rename notes inline + Use EXTRA_WARNINGS option when building for windows + Drop forgotten clutter init and obsolete header declarations + Rework history-step handling and make it work again + Port Tabby to DatabaseStatement API + Replace bookmark stracing with generic profiling in Midori.Database + Port autocompleter test to async job + Finishing touches for Adblock + Add filters and defaults + Implement and use ContextAction.escaped + printf URI in show_message_dialog for download error + Improve docs and GIR annotations for KatzeItem, KatzeArray, and MidoriWebSettings + Drop redundant TabNew from compact menu and put button in Tab Panel + Fix loading file:// pages + Implement Send Page Link by Email + Use GtkStackSwitcher with GTK+ >= 3.10 + Implements context popup menu on menu entries of bookmark bar and bookmark menu. + Fix building with newer mingw versions + Display locationbar suggestions in the correct order + Don't bother adblocking internal pages and favicons + Don't use trailing comma on last list element in Adblock tests + Rewrite Adblock more modularly, add Whitelist support + Add support of DragonFlyBSD + Change tooltips of Reload and ReloadStop actions while shift modifier is pressed + Implement Midori.Database.attach method + Allow :memory: as folder to make schema detection work + More robust app/ profile creation + Add helper callbacks to modify bookmark's tree store with unneded access to bookmarks db + Implement more flexible fallback behavior for Cookie Permissions + v0.5.7: Modify actions and internal items in browser without changing settings Delay tab loading after Midori crashed @@ -23,6 +23,13 @@ Join irc://irc.freenode.net/midori #midori on Freenode https://kiwiirc.com/clien * https://translations.launchpad.net/midori/trunk/+pots/trunk Translate to your own language * https://github.com/eustasy/midori-browser.org/issues Report website bugs * Write http://wiki.xfce.org/midori/tutorial your own extension - granted that's code, too, but maybe a little easier than hacking the core. + +====== Documentation resources ====== + + * https://wiki.gnome.org/Projects/Vala/Tutorial Vala Tutorial + * http://midori-browser.org/docs/api/vala/midori/ Midori Vala Docs + * http://midori-browser.org/docs/api/c/html/ Midori C Docs + ====== Build the code ====== mkdir _build @@ -200,9 +207,11 @@ When built with Granite (-DUSE_GRANITE=1 or --enable-granite) there're a few key * URL completion styling is slightly different * Clear Private Data uses **Granite.Widgets.LightWindow** * Edit Bookmark and Security Details use http://valadoc.elementaryos.org/Granite/Granite.Widgets.PopOver.html Granite.Widgets.PopOver instead of Gtk.Window - * Browser uses **Granite.Widgets.DynamicNotebook** instead of Gtk.Notebook + ====== 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: yum install gcc vala intltool @@ -217,7 +226,7 @@ Packages needed when assembling the archive yum install faenza-icon-theme p7zip mingw32-nsis greybird-gtk3-theme Installing those should get you the packages needed to successfully build and develop Midori for Win32. -===== Building ===== +==== Building ==== For 32-bit builds: mkdir _mingw32 @@ -244,6 +253,105 @@ For testing your changes unfortuantely a real system is needed because Midori an 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://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting +%20Win64/Personal%20Builds/rubenvb/gcc-4.8-release/|Releases]] + +[[http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting +%20Win64/Personal%20Builds/rubenvb/gcc-4.8-release/x86_64-w64-mingw32-gcc-4.8.0- +win32_rubenvb.7z/download|Download]] + + +==== 7zip ==== +We will need 7zip to extract various archives + +http://www.7-zip.org/download.html Homepage + + +http://downloads.sourceforge.net/sevenzip/7z920.exe 32bit Installer + + +==== 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://www.python.org/download/releases/3.3.5 Releases + +http://www.python.org/downloads/release/python-335/ Download + +http://www.python.org/ftp/python/3.3.5/python-3.3.5.amd64.msi Installer + +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://github.com/mkbosmans/download-mingw-rpm/blob/master/download- +mingw-rpm.py|View Script]] + +[[https://github.com/mkbosmans/download-mingw-rpm/raw/master/download- +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 + +c:\Python33\python.exe download-mingw-rpm.py -u http://ftp.wsisiz.edu.pl/pub/linux/fedora/linux/updates/18/i386/ --deps mingw32-webkitgtk mingw32-glib-networking mingw32-gdb mingw32-gstreamer-plugins-good + +[[http://dl.fedoraproject.org/pub/fedora/linux/releases/18/Everything/i386/os/Packages +/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://sourceforge.net/projects/mingw-w64/files/External%20binary +%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/MSYS-20111123.zip/download|Download]] + + +==== CMake ==== +http://www.cmake.org/cmake/resources/software.html Homepage +http://www.cmake.org/files/v2.8/cmake-2.8.12.2-win32-x86.exe Installer + +When installing check the installer checkbox "add to path" + + +==== Bazaar ==== +http://wiki.bazaar.canonical.com/WindowsDownloads Homepage + +We will get 2.4 Stable Release (standalone) + +http://launchpad.net/bzr/2.4/2.4.2/+download/bzr-2.4.2-1-setup.exe Installer + +When installing check the installer checkbox "add to path" + +==== Vala ==== +http://ftp.gnome.org/pub/gnome/sources/vala/0.20/vala-0.20.0.tar.xz Source + +==== 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 ====== * freeze: a period of bug fixes only eg. 4/2 cycle means 4 weeks of features and 2 weeks to focus on resolving existing problems * MR: merge request, a branch proposed for review diff --git a/tools/release b/tools/release index 6c12039d..41939e8b 100755 --- a/tools/release +++ b/tools/release @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2013 Christian Dywan <christian@twotoasts.de> +# Copyright (C) 2013-2014 Christian Dywan <christian@twotoasts.de> # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -14,15 +14,23 @@ NEWVER=$(python -c "print('0.'+str(float('$OLDVER'[2:])+.1))") if [ "x$1" = "xbefore" ]; then echo Bumping from $OLDVER to $NEWVER sed -i "s@$OLDVER@$NEWVER@g" CMakeLists.txt win32/makedist/midori.nsi - echo; echo v$NEWVER:; bzr log --line -rtag:$OLDVER.. | sed -r 's@.+2013-[0-9]+-[0-9]+ @@' | sed 's@\[merge\] @@' | grep -v -E 'l10n|makedist|tools(/release)?: |nsi|translation|Bump version to|Merge lp:midori|POTFILES.in'; echo + mv ChangeLog ChangeLog.old || exit 1 + echo This file is licensed under the terms of the expat license, see the file EXPAT. > ChangeLog + echo >> ChangeLog + echo v$NEWVER >> ChangeLog + bzr log --line -rtag:$OLDVER.. \ + | sed -r 's@.+20[0-9][0-9]-[0-9]+-[0-9]+ @ @' \ + | sed 's@\[merge\] @@' \ + | grep -v -E 'l10n|Revert |makedist|tools(/release)?: |nsi|translation|Bump version to|Merge lp:midori|POTFILES.in' \ + >> ChangeLog + tail -n+2 ChangeLog.old >> ChangeLog + rm ChangeLog.old curl http://wiki.xfce.org/_export/raw/midori/contribute | \ sed -r 's@\[\[([^|]+)\|([^]]+)\]\]@\1 \2@g' | \ sed -r 's@<code( bash|)>|</code>@@g' > HACKING curl http://wiki.xfce.org/_export/xhtml/midori/faq | \ sed 's@This is a list of frequently asked questions@This is <a href="http://wiki.xfce.org/midori/faq">a snapshot of the online FAQ</a>@g' | \ sed 's@<link rel="style.*>@<link rel="stylesheet" href="faq.css" />@g' > data/faq.html -elif [ "x$1" = "xafter" ]; then - NEWVER=$OLDVER echo -n bzr commit -p -m "'Bump version to $NEWVER'" case $SHELL in *fish*) @@ -31,9 +39,9 @@ elif [ "x$1" = "xafter" ]; then echo -n ' && ' ;; esac echo bzr tag $NEWVER +elif [ "x$1" = "xafter" ]; then echo Press RETURN to download tarball now; read yes - wget http://git.xfce.org/apps/midori/snapshot/midori-$NEWVER.tar.bz2 - echo https://releases.xfce.org/ + wget http://bazaar.launchpad.net/~midori/midori/trunk/tarball echo Press RETURN to update Launchpad bugs now; read yes if [ -n $(which bugreleaser 1>/dev/null) ]; then bugreleaser midori diff --git a/win32/makedist/midori.nsi b/win32/makedist/midori.nsi index 66626c61..ab2eddc9 100644 --- a/win32/makedist/midori.nsi +++ b/win32/makedist/midori.nsi @@ -21,7 +21,7 @@ RequestExecutionLevel admin ; set execution level for Windows Vista ; helper defines ; ;;;;;;;;;;;;;;;;;;; !define PRODUCT_NAME "Midori" -!define PRODUCT_VERSION "0.5.7" +!define PRODUCT_VERSION "0.5.8" !define PRODUCT_BUILD "0" !define PRODUCT_VERSION_ID "${PRODUCT_VERSION}.${PRODUCT_BUILD}" !define PRODUCT_PUBLISHER "Christian Dywan" |