Hello community, here is the log from the commit of package birdie for openSUSE:Factory checked in at 2017-09-25 13:59:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/birdie (Old) and /work/SRC/openSUSE:Factory/.birdie.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "birdie" Mon Sep 25 13:59:19 2017 rev:3 rq:528417 version:1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/birdie/birdie.changes 2016-10-26 13:29:57.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.birdie.new/birdie.changes 2017-09-25 13:59:34.221535249 +0200 @@ -1,0 +2,6 @@ +Wed Sep 13 19:20:10 UTC 2017 - [email protected] + +- Add birdie-webkit2gtk4-port.patch: Port to WebKit2Gtk-4.0. +- Name the patch for Vala 0.34+ birdie-1.1-vala-0.34.patch. + +------------------------------------------------------------------- Old: ---- 1.1.tar.gz birdie-1.1_vala-0.34.pacth New: ---- birdie-1.1-vala-0.34.patch birdie-1.1.tar.gz birdie-webkit2gtk4-port.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ birdie.spec ++++++ --- /var/tmp/diff_new_pack.gtAXMU/_old 2017-09-25 13:59:34.985427772 +0200 +++ /var/tmp/diff_new_pack.gtAXMU/_new 2017-09-25 13:59:34.989427209 +0200 @@ -1,7 +1,7 @@ # # spec file for package birdie # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,34 +23,33 @@ License: GPL-3.0 Group: Productivity/Networking/Other Url: https://birdieapp.github.io/ -Source: https://github.com/birdieapp/birdie/archive/1.1.tar.gz -# PATCH-FIX-UPSTREAM vala-0.34.pacth [gh#birdieapp/birdie#191] -- Fix warning where 'static' is superfluous -Patch0: birdie-1.1_vala-0.34.pacth +Source: https://github.com/needle-and-thread/birdie/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +# PATCH-FIX-UPSTREAM birdie-1.1-vala-0.34.patch gh#needle-and-thread/birdie#191 -- Fix a warning where "static" is superfluous. +Patch0: birdie-1.1-vala-0.34.patch +# PATCH-FIX-UPSTREAM birdie-webkit2gtk4-port.patch [email protected] -- Port to WebKit2Gtk-4.0. +Patch1: birdie-webkit2gtk4-port.patch BuildRequires: cmake BuildRequires: gcc-c++ -BuildRequires: intltool -BuildRequires: pkgconfig(xtst) -BuildRequires: pkgconfig(libcanberra) +BuildRequires: hicolor-icon-theme +BuildRequires: pkgconfig +BuildRequires: update-desktop-files +BuildRequires: vala +BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) BuildRequires: pkgconfig(gee-1.0) -BuildRequires: pkgconfig(purple) -BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtksourceview-3.0) BuildRequires: pkgconfig(json-glib-1.0) +BuildRequires: pkgconfig(libcanberra) BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(purple) BuildRequires: pkgconfig(rest-0.7) -BuildRequires: pkgconfig(webkitgtk-3.0) -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: update-desktop-files -%glib2_gsettings_schema_requires +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(webkit2gtk-4.0) +BuildRequires: pkgconfig(xtst) Recommends: %{name}-lang -%if 0%{?suse_version} == 1320 -BuildRequires: pkgconfig(vapigen-0.26) -%else -BuildRequires: pkgconfig(vapigen) -%endif +%glib2_gsettings_schema_requires %description Birdie is a beautiful and fast Twitter client designed for Elementary OS. @@ -60,38 +59,39 @@ %prep %setup -q %patch0 -p1 +%patch1 -p1 +chmod a-x AUTHORS COPYING README.md %build %cmake -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %install %cmake_install %find_lang %{name} %post -%glib2_gsettings_schema_post -%icon_theme_cache_post %desktop_database_post +%icon_theme_cache_post +%glib2_gsettings_schema_post %postun -%glib2_gsettings_schema_postun -%icon_theme_cache_postun %desktop_database_postun +%icon_theme_cache_postun +%glib2_gsettings_schema_postun %files -%defattr(-,root,root) -%doc AUTHORS COPYING NEWS README.md +%doc AUTHORS COPYING README.md %{_bindir}/%{name} %{_datadir}/%{name}/ -%dir %{_datadir}/appdata -%dir %{_datadir}/indicators -%dir %{_datadir}/indicators/messages -%dir %{_datadir}/indicators/messages/applications -%{_datadir}/glib-2.0/schemas/org.birdieapp.birdie.gschema.xml -%{_datadir}/appdata/%{name}.appdata.xml -%{_datadir}/applications/%{name}.desktop -%{_datadir}/icons/hicolor/*/*/* +%{_datadir}/glib-2.0/schemas/*%{name}.gschema.xml +%dir %{_datadir}/appdata/ +%{_datadir}/appdata/*%{name}.appdata.xml +%{_datadir}/applications/*%{name}.desktop +%{_datadir}/icons/hicolor/*/*/*.* +%dir %{_datadir}/indicators/ +%dir %{_datadir}/indicators/messages/ +%dir %{_datadir}/indicators/messages/applications/ %{_datadir}/indicators/messages/applications/birdie %files lang -f %{name}.lang ++++++ birdie-1.1-vala-0.34.patch ++++++ --- a/src/Birdie.vala +++ b/src/Birdie.vala @@ -127,7 +127,7 @@ namespace Birdie { private int limit_notifications; - public static const OptionEntry[] app_options = { + public const OptionEntry[] app_options = { { "debug", 'd', 0, OptionArg.NONE, out Option.DEBUG, "Enable debug logging", null }, { "start-hidden", 's', 0, OptionArg.NONE, out Option.START_HIDDEN, "Start hidden", null }, { null } --- a/src/Media/Imgur.vala +++ b/src/Media/Imgur.vala @@ -16,8 +16,8 @@ namespace Birdie.Media { public class Imgur : Object { - private static const string CLIENT_ID = "c04f7adadaa22017f95c7b002ad20240"; - private static const string URL_FORMAT = "http://api.imgur.com/2/"; + private const string CLIENT_ID = "c04f7adadaa22017f95c7b002ad20240"; + private const string URL_FORMAT = "http://api.imgur.com/2/"; private Rest.Proxy proxy; public Imgur () { --- a/src/Widgets/CompletionProvider.vala +++ b/src/Widgets/CompletionProvider.vala @@ -16,7 +16,7 @@ namespace Birdie.Widgets { public class CompletionProvider : Gtk.SourceCompletionProvider, Object { - static const unichar[] stoppers = {' ', '\n'}; + const unichar[] stoppers = {' ', '\n'}; Gtk.TextMark completion_mark; /* The mark at which the proposals were generated */ public string name; ++++++ birdie-webkit2gtk4-port.patch ++++++ --- a/birdie.spec +++ b/birdie.spec @@ -12,7 +12,7 @@ BuildRequires: intltool BuildRequires: vala-devel >= 0.22.1 BuildRequires: pkgconfig(glib-2.0) BuildRequires: libpurple-devel -BuildRequires: pkgconfig(webkitgtk-3.0) +BuildRequires: pkgconfig(webkit2gtk-4.0) BuildRequires: sqlite-devel BuildRequires: libXtst-devel BuildRequires: libgee06-devel --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,7 +111,7 @@ pkg_check_modules(DEPS REQUIRED libnotify libcanberra gdk-x11-3.0 - webkitgtk-3.0 + webkit2gtk-4.0 sqlite3 xtst purple @@ -142,7 +142,7 @@ set(CFLAGS ) set(BIRDIE_PACKAGES - gtk+-3.0 gtksourceview-3.0 libsoup-2.4 gee-1.0 rest-0.7 json-glib-1.0 libnotify>=0.7.5 libcanberra>=0.28 gdk-x11-3.0 webkitgtk-3.0 sqlite3 xtst purple posix ${EXTRA_PACKAGES} + gtk+-3.0 gtksourceview-3.0 libsoup-2.4 gee-1.0 rest-0.7 json-glib-1.0 libnotify>=0.7.5 libcanberra>=0.28 gdk-x11-3.0 webkit2gtk-4.0 sqlite3 xtst purple posix ${EXTRA_PACKAGES} ) set(VALAC_OPTIONS --- a/INSTALL +++ b/INSTALL @@ -10,10 +10,10 @@ # There's an official package on the AUR: https://aur.archlinux.org/packages/birdie-git/ # UBUNTU -# sudo apt-get install cmake valac libgtk-3-dev librest-dev libjson-glib-dev libnotify-dev libcanberra-dev libx11-dev libwebkitgtk-3.0-dev libsqlite3-dev libxtst-dev libpurple-dev libgee-dev libdbusmenu-gtk-dev libgtksourceview-3.0-dev +# sudo apt-get install cmake valac libgtk-3-dev librest-dev libjson-glib-dev libnotify-dev libcanberra-dev libx11-dev libwebkit2gtk-4.0-dev libsqlite3-dev libxtst-dev libpurple-dev libgee-dev libdbusmenu-gtk-dev libgtksourceview-3.0-dev # FEDORA -# yum install gcc gcc-c++ cmake vala libgee06-devel rest-devel libcanberra-devel libsqlite3x-devel libXtst-devel libpurple-devel libdbusmenu-devel json-glib-devel libnotify-devel webkitgtk3-devel libwnck3-devel +# yum install gcc gcc-c++ cmake vala libgee06-devel rest-devel libcanberra-devel libsqlite3x-devel libXtst-devel libpurple-devel libdbusmenu-devel json-glib-devel libnotify-devel webkit2gtk4-devel libwnck3-devel # ----------------------------------------------------------------------------- # BUILDING --- a/src/Birdie.vala +++ b/src/Birdie.vala @@ -698,20 +698,30 @@ namespace Birdie { var light_window = new Widgets.LightWindow (false); var web_view = new WebKit.WebView (); - web_view.document_load_finished.connect (() => { - web_view.execute_script ("oldtitle=document.title;document.title=document.documentElement.innerHTML;"); - var html = web_view.get_main_frame ().get_title (); - web_view.execute_script ("document.title=oldtitle;"); - - if ("<code>" in html) { - var pin = html.split ("<code>"); - pin = pin[1].split ("</code>"); + web_view.get_settings ().set_enable_javascript (true); + web_view.load_changed.connect ((load_event) => { + if (load_event != WebKit.LoadEvent.FINISHED) { + return; + } + + var loop = new GLib.MainLoop (); + web_view.run_javascript.begin ("oldtitle=document.title;elems=document.body.getElementsByTagName('code');(elems.length>0)?document.title=elems[0].innerHTML:document.title='null';", null, (obj, res) => { + loop.quit (); + }); + loop.run (); + var pin = web_view.get_title (); + web_view.run_javascript.begin ("document.title=oldtitle;", null, (obj, res) => { + loop.quit (); + }); + loop.run (); + + if (pin != "null") { light_window.destroy (); new Thread<void*> (null, () => { this.switch_timeline ("loading"); - int code = this.new_api.get_tokens (pin[0]); + int code = this.new_api.get_tokens (pin); if (code == 0) { Idle.add (() => { @@ -737,10 +747,8 @@ namespace Birdie { this.set_widgets_sensitive (window_active); }); web_view.load_uri (this.new_api.get_request ()); - var scrolled_webview = new Gtk.ScrolledWindow (null, null); - scrolled_webview.add_with_viewport (web_view); light_window.set_title (_("Sign in")); - light_window.add (scrolled_webview); + light_window.add (web_view); light_window.set_transient_for (this.m_window); light_window.set_modal (true); light_window.set_size_request (600, 600); --- a/src/Media/ShowMedia.vala +++ b/src/Media/ShowMedia.vala @@ -50,7 +50,7 @@ namespace Birdie.Media { public void show_youtube_video (string youtube_video_id) { var light_window = new Widgets.LightWindow (); WebKit.WebView web_view = new WebKit.WebView (); - web_view.load_html_string ("<iframe width='640' height='390' style='margin-left: -10px; margin-top: -10px; margin-bottom: -10px;' src='http://www.youtube.com/embed/" + + web_view.load_html ("<iframe width='640' height='390' style='margin-left: -10px; margin-top: -10px; margin-bottom: -10px;' src='http://www.youtube.com/embed/" + youtube_video_id + "?version=3&autohide=1&controls=2&modestbranding=1&showinfo=0&showsearch=0&vq=hd720&autoplay=1' frameborder='0'</iframe>", "http://www.youtube.com/embed/"); light_window.add (web_view); light_window.set_position (Gtk.WindowPosition.CENTER); Only in a/vapi: webkitgtk-3.0.vapi
