Date: Friday, September 7, 2018 @ 09:18:59
  Author: bgyorgy
Revision: 378554

upgpkg: screenlets 0.1.7-2

Reduce dependencies

Added:
  screenlets/trunk/optional-gconf.patch
  screenlets/trunk/optional-wnck.patch
  screenlets/trunk/remove-beautifulsoup.patch
  screenlets/trunk/update-website.patch
Modified:
  screenlets/trunk/PKGBUILD

----------------------------+
 PKGBUILD                   |   32 +++++++++---
 optional-gconf.patch       |   15 +++++
 optional-wnck.patch        |   65 ++++++++++++++++++++++++
 remove-beautifulsoup.patch |   38 ++++++++++++++
 update-website.patch       |  113 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 256 insertions(+), 7 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2018-09-07 09:18:57 UTC (rev 378553)
+++ PKGBUILD    2018-09-07 09:18:59 UTC (rev 378554)
@@ -5,24 +5,30 @@
 
 pkgname=screenlets
 pkgver=0.1.7
-pkgrel=1
+pkgrel=2
 pkgdesc="Widget framework that consists of small owner-drawn applications"
 arch=('any')
 url="https://launchpad.net/screenlets";
 license=('GPL3')
-depends=('python2-beautifulsoup4' 'python2-dbus' 'python2-gconf'  
'python2-gnomekeyring'
-         'python2-wnck' 'python2-xdg')
+depends=('pygtk' 'python2-dbus' 'python2-xdg')
 optdepends=('screenlets-pack-basic: Desktop widgets')
-options=('!emptydirs')
 
source=(https://launchpad.net/screenlets/trunk/$pkgver/+download/$pkgname-$pkgver.tar.bz2{,.asc}
         drop-webkit.patch
-        bs4-port.patch)
+        bs4-port.patch
+        remove-beautifulsoup.patch
+        optional-gconf.patch
+        optional-wnck.patch
+        update-website.patch)
 validpgpkeys=('D82D1D02396B27DC5045E356A01AFB1B15E8CCA4'  # Guido Tabbernuk
               '1F78BFA38F0D87A5E007D332990F03C13116C9F7') # Hrotkó Gábor
 sha256sums=('e3c2575461051f4e39713edebc93284f35649a54ce5a068a4090f8d07a91da57'
             'SKIP'
             '2283836998e7a249f61eec408fc4b4432391c060463c41f79b579761b6dda032'
-            '0e12e18c0b2caeac804b1fcfdf82c868a8270d24cda4a94f28302fa3ef03c2a9')
+            '0e12e18c0b2caeac804b1fcfdf82c868a8270d24cda4a94f28302fa3ef03c2a9'
+            '5e1e36c1a5b3c7f53c3708e5719ff267da615fe27148e91618ddb59e10054960'
+            'fe7ea6b146e328c82a950d03b5f779f870bfcc0f93107864fe84537b419f00d0'
+            'a26220546d4149588395fbf2687d0103ea2443280cc81b8727e614c37c0c9adb'
+            '03c658426ebecff5fc0dc67c29f1c4c84a1b6a0cd714f1bad353da0f35dd8f31')
 
 prepare() {
   cd $pkgname-$pkgver
@@ -31,8 +37,20 @@
   patch -Np1 -i ../drop-webkit.patch
 
   # Port to BeautifulSoup 4
-  patch -Np1 -i ../bs4-port.patch
+  # patch -Np1 -i ../bs4-port.patch
 
+  # Remove BeautifulSoup dependency
+  patch -Np1 -i ../remove-beautifulsoup.patch
+
+  # Make gconf dependency optional
+  patch -Np1 -i ../optional-gconf.patch
+
+  # Make wnck dependency optional
+  patch -Np1 -i ../optional-wnck.patch
+
+  # Update website links
+  patch -Np1 -i ../update-website.patch
+
   # Update deprecated icon names
   sed -i 's/gtk-close/window-close/
           s/gtk-properties/document-properties/' src/lib/__init__.py

Added: optional-gconf.patch
===================================================================
--- optional-gconf.patch                                (rev 0)
+++ optional-gconf.patch        2018-09-07 09:18:59 UTC (rev 378554)
@@ -0,0 +1,15 @@
+diff -Naur screenlets-0.1.7.orig/src/lib/plugins/Proxy.py 
screenlets-0.1.7/src/lib/plugins/Proxy.py
+--- screenlets-0.1.7.orig/src/lib/plugins/Proxy.py     2017-01-30 
21:36:27.000000000 +0100
++++ screenlets-0.1.7/src/lib/plugins/Proxy.py  2018-09-07 09:47:24.977974659 
+0200
+@@ -14,7 +14,10 @@
+ # You should have received a copy of the GNU General Public License
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ 
+-import gconf
++try:
++    import gconf
++except ImportError:
++    pass
+ 
+ class Proxy(object):
+ 

Added: optional-wnck.patch
===================================================================
--- optional-wnck.patch                         (rev 0)
+++ optional-wnck.patch 2018-09-07 09:18:59 UTC (rev 378554)
@@ -0,0 +1,65 @@
+diff -Naur 
screenlets-0.1.7.orig/src/share/screenlets-manager/screenlets-manager.py 
screenlets-0.1.7/src/share/screenlets-manager/screenlets-manager.py
+--- screenlets-0.1.7.orig/src/share/screenlets-manager/screenlets-manager.py   
2018-09-07 05:15:53.789089000 +0200
++++ screenlets-0.1.7/src/share/screenlets-manager/screenlets-manager.py        
2018-09-07 05:27:31.226935452 +0200
+@@ -1208,32 +1208,37 @@
+ proc = os.popen("""ps axo "%p,%a" | grep "python.*screenlets-manager.py" | 
grep -v grep|cut -d',' -f1""").read()
+ procs = proc.split('\n')
+ import sys
+-import wnck
+ try:
+-      wnck.set_client_type(wnck.CLIENT_TYPE_PAGER)
+-except AttributeError:
+-      print "Error: Failed to set libwnck client type, window " \
+-                              "activation may not work"
+-if len(procs) > 2:
+-      print "Manager already started"
+-      screen = wnck.screen_get_default()
+-      while gtk.events_pending():
+-              gtk.main_iteration()
+-      wins = screen.get_windows_stacked()
++      import wnck
++      try:
++              wnck.set_client_type(wnck.CLIENT_TYPE_PAGER)
++      except AttributeError:
++              print "Error: Failed to set libwnck client type, window " \
++                                      "activation may not work"
++      if len(procs) > 2:
++              print "Manager already started"
++              screen = wnck.screen_get_default()
++              while gtk.events_pending():
++                      gtk.main_iteration()
++              wins = screen.get_windows_stacked()
++              
++              for win in wins:
++                      name = win.get_name()
++                      if name == gettext.gettext('Screenlets Manager'):
+       
+-      for win in wins:
+-              name = win.get_name()
+-              if name == gettext.gettext('Screenlets Manager'):
+-
+-                      if win and win.is_active():
+-                              sys.exit(1)
+-                      elif win and win.is_minimized():
+-                              win.unminimize(1)
+-                      elif win and win.is_active() == False:
+-                              win.activate(1)
+-
+-
+-      sys.exit(1)
++                              if win and win.is_active():
++                                      sys.exit(1)
++                              elif win and win.is_minimized():
++                                      win.unminimize(1)
++                              elif win and win.is_active() == False:
++                                      win.activate(1)
++      
++      
++              sys.exit(1)
++except ImportError:
++      if len(procs) > 2:
++              print "Manager already started"
++              sys.exit(1)
+ 
+ 
+ app = ScreenletsManager()

Added: remove-beautifulsoup.patch
===================================================================
--- remove-beautifulsoup.patch                          (rev 0)
+++ remove-beautifulsoup.patch  2018-09-07 09:18:59 UTC (rev 378554)
@@ -0,0 +1,38 @@
+diff -Naur screenlets-0.1.7.orig/src/lib/__init__.py 
screenlets-0.1.7/src/lib/__init__.py
+--- screenlets-0.1.7.orig/src/lib/__init__.py  2018-09-07 05:15:53.772422000 
+0200
++++ screenlets-0.1.7/src/lib/__init__.py       2018-09-07 05:33:33.317360251 
+0200
+@@ -2429,7 +2429,6 @@
+                       if name== 'width':
+                               self.p_layout.set_width(width)
+                       elif name == 'text':
+-                              value = utils.html_to_pango(value)
+                               self.p_layout.set_markup(value)
+                               self.label.set_markup(value)
+                               ink_rect, logical_rect = 
self.p_layout.get_pixel_extents()
+diff -Naur screenlets-0.1.7.orig/src/lib/utils.py 
screenlets-0.1.7/src/lib/utils.py
+--- screenlets-0.1.7.orig/src/lib/utils.py     2018-09-07 05:15:53.782423000 
+0200
++++ screenlets-0.1.7/src/lib/utils.py  2018-09-07 05:32:37.545761868 +0200
+@@ -33,7 +33,6 @@
+ import subprocess
+ import commands
+ from HTMLParser import HTMLParser
+-from BeautifulSoup import BeautifulStoneSoup
+ from xdg.BaseDirectory import *
+ 
+ try:
+@@ -93,15 +92,6 @@
+     def get_data(self):
+         return ''.join(self.fed)
+ 
+-def html_to_pango (html):     
+-      """Simple html to pango stripper."""
+-      s = MLStripper()
+-      s.feed(html)
+-      no_html = s.get_data()
+-      decoded = BeautifulStoneSoup(no_html, 
convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+-      result = decoded.encode("UTF-8")
+-      return result.strip(" \n")
+-
+ def is_manager_running_me():
+       """checks if the one starting the screenlet is the screenlets manager"""
+       if str(sys.argv[0]).find('screenlets-manager') != -1:

Added: update-website.patch
===================================================================
--- update-website.patch                                (rev 0)
+++ update-website.patch        2018-09-07 09:18:59 UTC (rev 378554)
@@ -0,0 +1,113 @@
+diff -Naur screenlets-0.1.7.orig/src/lib/__init__.py 
screenlets-0.1.7/src/lib/__init__.py
+--- screenlets-0.1.7.orig/src/lib/__init__.py  2018-09-07 05:43:35.190744637 
+0200
++++ screenlets-0.1.7/src/lib/__init__.py       2018-09-07 05:15:53.772422000 
+0200
+@@ -162,10 +162,7 @@
+ TRANSLATORS = "Special thanks for translators\nFull Translator list on 
https://translations.launchpad.net/screenlets/";
+ 
+ # the application website
+-WEBSITE = 'http://www.screenlets.org'
+-
+-# The Screenlets download page. Notice that if you translate this, you also 
have to create/translate the page for your language on the Screenlets.org (it's 
a Wiki!)
+-THIRD_PARTY_DOWNLOAD = 
_("http://www.screenlets.org/index.php/Get_more_screenlets";)
++WEBSITE = 'https://launchpad.net/screenlets'
+ 
+ 
+ 
#-------------------------------------------------------------------------------
+diff -Naur screenlets-0.1.7.orig/src/lib/utils.py 
screenlets-0.1.7/src/lib/utils.py
+--- screenlets-0.1.7.orig/src/lib/utils.py     2018-09-07 05:15:53.782423000 
+0200
++++ screenlets-0.1.7/src/lib/utils.py  2018-09-07 05:47:21.560437204 +0200
+@@ -193,23 +193,6 @@
+       """Returns screenlet name on form 'foobar-screenlet' by shortened 
screenlet class name."""
+       return name.lower() + "-screenlet"
+ 
+-def is_screenlets_ppa_enabled():
+-      """Detect if Screenlets default PPA is enabled on system."""
+-      result = commands.getstatusoutput("ls 
/etc/apt/sources.list.d/screenlets*ppa*.list | xargs grep '^deb.*'")[0]
+-      return result == 0
+-
+-def get_more_screenlets_ubuntu():
+-      if not is_screenlets_ppa_enabled():
+-              print "PPA not enabled yet"
+-              if screenlets.show_question(None, _('The Screenlets PPA is not 
listed among Software Sources. Adding this enables installing individual 
screenlets from Package Manager (or Software Center) and by clicking on an 
AptURL on web pages like Gnome-look.org. Would you like to add the Screenlets 
PPA to your system?'), title=_("Do you want to enable the Screenlets PPA?")):
+-                      result = commands.getstatusoutput('gksudo 
add-apt-repository ppa:screenlets-dev/ppa && gksudo apt-get update')[0]
+-                      if result == 0:
+-                              screenlets.show_message(None, _('The Screenlets 
PPA added successfully.'), title=_("Success!"))
+-                      else:
+-                              screenlets.show_error(None, _('Adding the 
Screenlets PPA failed.'), title=_("Failed!"))
+-      print "show web page anyway"
+-      subprocess.Popen(["xdg-open", screenlets.THIRD_PARTY_DOWNLOAD])
+-
+ 
+ def get_translator(path):
+       """Returns translator by screenlet class path from __file__."""
+diff -Naur 
screenlets-0.1.7.orig/src/share/screenlets-manager/screenlets-daemon.py 
screenlets-0.1.7/src/share/screenlets-manager/screenlets-daemon.py
+--- screenlets-0.1.7.orig/src/share/screenlets-manager/screenlets-daemon.py    
2018-09-07 05:47:43.807730305 +0200
++++ screenlets-0.1.7/src/share/screenlets-manager/screenlets-daemon.py 
2018-09-07 05:15:53.785756000 +0200
+@@ -169,7 +169,6 @@
+                       add_image_menuitem(self.menu, gtk.STOCK_PREFERENCES, 
_("Screenlets Manager"), self.openit)
+                       add_menuitem(self.menu, "-")
+                       add_image_menuitem(self.menu, gtk.STOCK_ADD, _("Install 
Screenlet"), self.installit)
+-                      add_image_menuitem(self.menu, gtk.STOCK_NETWORK, _("Get 
more Screenlets"), self.getit)
+                       add_menuitem(self.menu, "-")
+                       
+                       # create the
+@@ -265,14 +264,8 @@
+                       
+ 
+       
+-      def getit(self, widget):
+-              if screenlets.UBUNTU:
+-                      utils.get_more_screenlets_ubuntu()
+-              else:
+-                      subprocess.Popen(["xdg-open", 
screenlets.THIRD_PARTY_DOWNLOAD])
+-
+       def website_open(self, d, link, data):
+-              utils.xdg_open('http://screenlets.org')
++              utils.xdg_open('https://launchpad.net/screenlets')
+ 
+ 
+       def about(self, widget):
+diff -Naur 
screenlets-0.1.7.orig/src/share/screenlets-manager/screenlets-manager.py 
screenlets-0.1.7/src/share/screenlets-manager/screenlets-manager.py
+--- screenlets-0.1.7.orig/src/share/screenlets-manager/screenlets-manager.py   
2018-09-07 05:15:53.789089000 +0200
++++ screenlets-0.1.7/src/share/screenlets-manager/screenlets-manager.py        
2018-09-07 05:49:11.616871511 +0200
+@@ -528,18 +528,12 @@
+               # add about/close buttons to window
+               but_about = gtk.Button(stock=gtk.STOCK_ABOUT)
+               but_close = gtk.Button(stock=gtk.STOCK_CLOSE)
+-              but_download = gtk.Button(_('Get more screenlets'))
+-              
but_download.set_image(gtk.image_new_from_stock(gtk.STOCK_GO_DOWN, 
+-                      gtk.ICON_SIZE_BUTTON))
+               but_about.connect('clicked', self.button_clicked, 'about')
+               but_close.connect('clicked', self.button_clicked, 'close')
+-              but_download.connect('clicked', self.button_clicked, 'download')
+               but_about.set_tooltip_text(_("Show info about this dialog ..."))
+-              but_download.set_tooltip_text(_("Download more screenlets ..."))
+               but_close.set_tooltip_text(_("Close this dialog ..."))
+               action_area.set_layout(gtk.BUTTONBOX_EDGE)
+               action_area.pack_start(but_about, False, False)
+-              action_area.pack_start(but_download, False, False)
+               action_area.pack_end(but_close, False, False)
+               vbox.show_all()
+               # initially create lower infobox
+@@ -670,7 +664,7 @@
+               dlg.destroy()
+               
+       def website_open(self, d, link, data):
+-              subprocess.Popen(["xdg-open", "http://www.screenlets.org";])
++              subprocess.Popen(["xdg-open", 
"https://launchpad.net/screenlets";])
+ 
+       # could be used to reload screenlets on every activation (but it's a 
bit too much)
+       def on_active_changed(self, window, param):
+@@ -956,12 +950,6 @@
+                       utils.quit_all_screenlets()
+                       self.refilter_screenlets(None,'type_changed')
+ 
+-              elif id == 'download':
+-                      if screenlets.UBUNTU:
+-                              utils.get_more_screenlets_ubuntu()
+-                      else:
+-                              subprocess.Popen(["xdg-open", 
screenlets.THIRD_PARTY_DOWNLOAD])
+-                      
+       def show_install_chose_ui(self):
+               install_rbs = gtk.VBox(False, 10)
+               install_rbs.set_border_width(10)

Reply via email to