[ipython] port ipython to fontawesome-4 and regenerate css in build (#1006575)

Thomas Spura tomspur at fedoraproject.org
Sun Jul 6 11:45:02 UTC 2014


commit c43dcf36628ad9086b5a81e6f6e6220771638753
Author: Thomas Spura <thomas.spura at gmail.com>
Date:   Sun Jul 6 13:44:21 2014 +0200

    port ipython to fontawesome-4 and regenerate css in build (#1006575)

 ipython-2.1.0-fontawesome4.patch |  144 ++++++++++++++++++++++++++++++++++++++
 ipython.spec                     |   21 +++++-
 2 files changed, 164 insertions(+), 1 deletions(-)
---
diff --git a/ipython-2.1.0-fontawesome4.patch b/ipython-2.1.0-fontawesome4.patch
new file mode 100644
index 0000000..6e785e1
--- /dev/null
+++ b/ipython-2.1.0-fontawesome4.patch
@@ -0,0 +1,144 @@
+commit 716862fc302c447d756e1c2075c5136e6c9c60b0
+Author: Thomas Spura <thomas.spura at gmail.com>
+Date:   Sun Jul 6 13:11:20 2014 +0200
+
+    Port to fontawesome4
+
+diff --git a/IPython/html/static/notebook/js/maintoolbar.js b/IPython/html/static/notebook/js/maintoolbar.js
+index 01af262..c957bfe 100644
+--- a/IPython/html/static/notebook/js/maintoolbar.js
++++ b/IPython/html/static/notebook/js/maintoolbar.js
+@@ -27,7 +27,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'save_b',
+                     label : 'Save and Checkpoint',
+-                    icon : 'icon-save',
++                    icon : 'fa fa-save',
+                     callback : function () {
+                         IPython.notebook.save_checkpoint();
+                         }
+@@ -38,7 +38,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'insert_below_b',
+                     label : 'Insert Cell Below',
+-                    icon : 'icon-plus-sign',
++                    icon : 'fa fa-plus',
+                     callback : function () {
+                         IPython.notebook.insert_cell_below('code');
+                         IPython.notebook.select_next();
+@@ -51,7 +51,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'cut_b',
+                     label : 'Cut Cell',
+-                    icon : 'icon-cut',
++                    icon : 'fa fa-cut',
+                     callback : function () {
+                         IPython.notebook.cut_cell();
+                         }
+@@ -59,7 +59,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'copy_b',
+                     label : 'Copy Cell',
+-                    icon : 'icon-copy',
++                    icon : 'fa fa-copy',
+                     callback : function () {
+                         IPython.notebook.copy_cell();
+                         }
+@@ -67,7 +67,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'paste_b',
+                     label : 'Paste Cell Below',
+-                    icon : 'icon-paste',
++                    icon : 'fa fa-paste',
+                     callback : function () {
+                         IPython.notebook.paste_cell_below();
+                         }
+@@ -78,7 +78,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'move_up_b',
+                     label : 'Move Cell Up',
+-                    icon : 'icon-arrow-up',
++                    icon : 'fa fa-arrow-up',
+                     callback : function () {
+                         IPython.notebook.move_cell_up();
+                         }
+@@ -86,7 +86,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'move_down_b',
+                     label : 'Move Cell Down',
+-                    icon : 'icon-arrow-down',
++                    icon : 'fa fa-arrow-down',
+                     callback : function () {
+                         IPython.notebook.move_cell_down();
+                         }
+@@ -98,7 +98,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'run_b',
+                     label : 'Run Cell',
+-                    icon : 'icon-play',
++                    icon : 'fa fa-play',
+                     callback : function () {
+                         // emulate default shift-enter behavior
+                         IPython.notebook.execute_cell_and_select_below();
+@@ -107,7 +107,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'interrupt_b',
+                     label : 'Interrupt',
+-                    icon : 'icon-stop',
++                    icon : 'fa fa-stop',
+                     callback : function () {
+                         IPython.notebook.session.interrupt_kernel();
+                         }
+@@ -115,7 +115,7 @@ var IPython = (function (IPython) {
+                 {
+                     id : 'repeat_b',
+                     label : 'Restart Kernel',
+-                    icon : 'icon-repeat',
++                    icon : 'fa fa-repeat',
+                     callback : function () {
+                         IPython.notebook.restart_kernel();
+                         }
+diff --git a/IPython/html/static/notebook/less/notificationarea.less b/IPython/html/static/notebook/less/notificationarea.less
+index 5b3fd52..00073c0 100644
+--- a/IPython/html/static/notebook/less/notificationarea.less
++++ b/IPython/html/static/notebook/less/notificationarea.less
+@@ -28,19 +28,19 @@
+ }
+ 
+ .edit_mode_icon:before {
+-     .icon(@pencil);
++     content: @fa-var-pencil;
+ }
+ 
+ .command_mode_icon:before {
+-     .icon(' ');
++     content: ' ';
+ }
+ 
+ .kernel_idle_icon:before {
+-     .icon(@circle-blank);
++     content: @fa-var-circle-o;
+ }
+ 
+ .kernel_busy_icon:before {
+-     .icon(@circle);
++     content: @fa-var-circle;
+ }
+ 
+ 
+diff --git a/IPython/html/static/tree/less/tree.less b/IPython/html/static/tree/less/tree.less
+index 1827f97..a480d67 100644
+--- a/IPython/html/static/tree/less/tree.less
++++ b/IPython/html/static/tree/less/tree.less
+@@ -141,9 +141,9 @@ input.engine_num_input {
+ }
+ 
+ .folder_icon:before {
+-    .icon(@folder-close-alt)
++    content: @fa-var-folder-o
+ }
+ 
+ .notebook_icon:before {
+-    .icon(@book)
++    content: @fa-var-book
+ }
diff --git a/ipython.spec b/ipython.spec
index 15667e8..51df343 100644
--- a/ipython.spec
+++ b/ipython.spec
@@ -17,7 +17,7 @@
 
 Name:           ipython
 Version:        2.1.0
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        An enhanced interactive Python shell
 
 Group:          Development/Libraries
@@ -29,6 +29,9 @@ URL:            http://ipython.org/
 Source0:        https://pypi.python.org/packages/source/i/ipython/ipython-%{version}.tar.gz
 # Add _jsdir to default search path
 Patch0:         ipython-2.1.0-_jsdir-search-path.patch
+# Port to fontawesome 4
+# Sent upstream: https://github.com/ipython/ipython/pull/6084
+Patch1:         ipython-2.1.0-fontawesome4.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -178,6 +181,11 @@ Requires:       js-highlight
 BuildRequires:  js-marked
 Requires:       js-marked
 
+# BR of helpers for unbundling
+BuildRequires:  nodejs-less
+BuildRequires:  fabric
+
+
 # Temporal bundling allowed in:
 # https://fedorahosted.org/fpc/ticket/416
 #############################################################################
@@ -385,6 +393,10 @@ This package contains the gui of %{name}, which requires PyQt.
 %patch0 -p1 -b .jsdir
 sed -i "s;_jsdir;%{_jsdir};g" \
     IPython/html/notebookapp.py
+%patch1 -p1 -b .fontawesome4
+
+# Accept less > 1.5.0
+sed -i "s/max_less_version = '1.5.0'/max_less_version = '2.5.0'/g" IPython/html/fabfile.py
 
 
 # delete bundling libs
@@ -447,6 +459,10 @@ popd
 %do_global_symlinking
 #asdf
 
+pushd IPython/html
+    fab css
+popd
+
 %if 0%{?with_python3}
 rm -rf %{py3dir}
 cp -a . %{py3dir}
@@ -697,6 +713,9 @@ popd
 %endif # with_python3
 
 %changelog
+* Sun Jul  6 2014 Thomas Spura <tomspur at fedoraproject.org> - 2.1.0-6
+- port ipython to fontawesome-4 and regenerate css in build (#1006575)
+
 * Mon Jun 23 2014 Thomas Spura <tomspur at fedoraproject.org> - 2.1.0-5
 - use mathjax from _jsdir instead of cdn
 - enable python3 tests


More information about the scm-commits mailing list