* gnu/packages/patches/openbox-python3.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/openbox.scm (openbox)[source]: Apply it. [arguments]: New field. [propagated-inputs]: Replace python2-pyxdg with python-pyxdg. [native-inputs]: Replace python-2 with python-wrapper. Add autoconf, automake, gettext-minimal and libtool.
		
			
				
	
	
		
			165 lines
		
	
	
	
		
			6.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
	
		
			6.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Retrieved from the openbox Debian package.
 | |
| 
 | |
| From acfbbc4ea40932f183617bb7006700140fe5f61e Mon Sep 17 00:00:00 2001
 | |
| From: Troy Curtis Jr <troycurtisjr@gmail.com>
 | |
| Date: Wed, 13 Sep 2017 21:59:48 -0500
 | |
| Subject: [PATCH] Add python3 support to openbox-xdg-autostart.
 | |
| 
 | |
| Updated syntax in openbox-xdg-autostart to support both python2 and
 | |
| python3.
 | |
| 
 | |
| Added a configure substitution to set the chosen python at build time.
 | |
| 
 | |
| https://bugzilla.icculus.org/show_bug.cgi?id=6444
 | |
| ---
 | |
|  .gitignore                                    |  1 +
 | |
|  configure.ac                                  |  3 +
 | |
|  ...xdg-autostart => openbox-xdg-autostart.in} | 70 +++++++++----------
 | |
|  3 files changed, 38 insertions(+), 36 deletions(-)
 | |
|  rename data/autostart/{openbox-xdg-autostart => openbox-xdg-autostart.in} (77%)
 | |
| 
 | |
| diff --git a/configure.ac b/configure.ac
 | |
| index ca1602670..9a31e9845 100644
 | |
| --- a/configure.ac
 | |
| +++ b/configure.ac
 | |
| @@ -103,6 +103,8 @@ AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h grp.h locale.h pwd.h)
 | |
|  AC_CHECK_HEADERS(signal.h string.h stdio.h stdlib.h unistd.h sys/stat.h)
 | |
|  AC_CHECK_HEADERS(sys/select.h sys/socket.h sys/time.h sys/types.h sys/wait.h)
 | |
|  
 | |
| +AM_PATH_PYTHON([2],,)
 | |
| +
 | |
|  AC_PATH_PROG([SED], [sed], [no])
 | |
|  if test "$SED" = "no"; then
 | |
|    AC_MSG_ERROR([The program "sed" is not available. This program is required to build Openbox.])
 | |
| @@ -259,6 +261,7 @@ AC_CONFIG_FILES([
 | |
|    obrender/version.h
 | |
|    obt/version.h
 | |
|    version.h
 | |
| +  data/autostart/openbox-xdg-autostart
 | |
|  ])
 | |
|  AC_CONFIG_COMMANDS([doc],
 | |
|                     [test -d doc || mkdir doc])
 | |
| diff --git a/data/autostart/openbox-xdg-autostart b/data/autostart/openbox-xdg-autostart.in
 | |
| similarity index 77%
 | |
| rename from data/autostart/openbox-xdg-autostart
 | |
| rename to data/autostart/openbox-xdg-autostart.in
 | |
| index 04a17a199..3c365b112 100755
 | |
| --- a/data/autostart/openbox-xdg-autostart
 | |
| +++ b/data/autostart/openbox-xdg-autostart.in
 | |
| @@ -1,4 +1,4 @@
 | |
| -#!/usr/bin/env python
 | |
| +#!@PYTHON@
 | |
|  
 | |
|  # openbox-xdg-autostart runs things based on the XDG autostart specification
 | |
|  # Copyright (C) 2008       Dana Jansens
 | |
| @@ -28,9 +28,7 @@ try:
 | |
|      from xdg.DesktopEntry import DesktopEntry
 | |
|      from xdg.Exceptions import ParsingError
 | |
|  except ImportError:
 | |
| -    print
 | |
| -    print >>sys.stderr, "ERROR:", ME, "requires PyXDG to be installed"
 | |
| -    print
 | |
| +    sys.stderr.write("\nERROR: %s requires PyXDG to be installed\n" % ME)
 | |
|      sys.exit(1)
 | |
|  
 | |
|  def main(argv=sys.argv):
 | |
| @@ -51,7 +49,7 @@ def main(argv=sys.argv):
 | |
|              try:
 | |
|                  autofile = AutostartFile(path)
 | |
|              except ParsingError:
 | |
| -                print "Invalid .desktop file: " + path
 | |
| +                print("Invalid .desktop file: " + path)
 | |
|              else:
 | |
|                  if not autofile in files:
 | |
|                      files.append(autofile)
 | |
| @@ -99,9 +97,9 @@ class AutostartFile:
 | |
|  
 | |
|      def _alert(self, str, info=False):
 | |
|          if info:
 | |
| -            print "\t ", str
 | |
| +            print("\t ", str)
 | |
|          else:
 | |
| -            print "\t*", str
 | |
| +            print("\t*", str)
 | |
|  
 | |
|      def _showInEnvironment(self, envs, verbose=False):
 | |
|          default = not self.de.getOnlyShowIn()
 | |
| @@ -146,14 +144,14 @@ class AutostartFile:
 | |
|  
 | |
|      def display(self, envs):
 | |
|          if self._shouldRun(envs):
 | |
| -            print "[*] " + self.de.getName()
 | |
| +            print("[*] " + self.de.getName())
 | |
|          else:
 | |
| -            print "[ ] " + self.de.getName()
 | |
| +            print("[ ] " + self.de.getName())
 | |
|          self._alert("File: " + self.path, info=True)
 | |
|          if self.de.getExec():
 | |
|              self._alert("Executes: " + self.de.getExec(), info=True)
 | |
|          self._shouldRun(envs, True)
 | |
| -        print
 | |
| +        print()
 | |
|  
 | |
|      def run(self, envs):
 | |
|          here = os.getcwd()
 | |
| @@ -165,34 +163,34 @@ class AutostartFile:
 | |
|          os.chdir(here)
 | |
|  
 | |
|  def show_help():
 | |
| -    print "Usage:", ME, "[OPTION]... [ENVIRONMENT]..."
 | |
| -    print
 | |
| -    print "This tool will run xdg autostart .desktop files"
 | |
| -    print
 | |
| -    print "OPTIONS"
 | |
| -    print "  --list        Show a list of the files which would be run"
 | |
| -    print "                Files which would be run are marked with an asterix"
 | |
| -    print "                symbol [*].  For files which would not be run,"
 | |
| -    print "                information is given for why they are excluded"
 | |
| -    print "  --help        Show this help and exit"
 | |
| -    print "  --version     Show version and copyright information"
 | |
| -    print
 | |
| -    print "ENVIRONMENT specifies a list of environments for which to run autostart"
 | |
| -    print "applications.  If none are specified, only applications which do not "
 | |
| -    print "limit themselves to certain environments will be run."
 | |
| -    print
 | |
| -    print "ENVIRONMENT can be one or more of:"
 | |
| -    print "  GNOME         Gnome Desktop"
 | |
| -    print "  KDE           KDE Desktop"
 | |
| -    print "  ROX           ROX Desktop"
 | |
| -    print "  XFCE          XFCE Desktop"
 | |
| -    print "  Old           Legacy systems"
 | |
| -    print
 | |
| +    print("Usage:", ME, "[OPTION]... [ENVIRONMENT]...")
 | |
| +    print()
 | |
| +    print("This tool will run xdg autostart .desktop files")
 | |
| +    print()
 | |
| +    print("OPTIONS")
 | |
| +    print("  --list        Show a list of the files which would be run")
 | |
| +    print("                Files which would be run are marked with an asterix")
 | |
| +    print("                symbol [*].  For files which would not be run,")
 | |
| +    print("                information is given for why they are excluded")
 | |
| +    print("  --help        Show this help and exit")
 | |
| +    print("  --version     Show version and copyright information")
 | |
| +    print()
 | |
| +    print("ENVIRONMENT specifies a list of environments for which to run autostart")
 | |
| +    print("applications.  If none are specified, only applications which do not ")
 | |
| +    print("limit themselves to certain environments will be run.")
 | |
| +    print()
 | |
| +    print("ENVIRONMENT can be one or more of:")
 | |
| +    print("  GNOME         Gnome Desktop")
 | |
| +    print("  KDE           KDE Desktop")
 | |
| +    print("  ROX           ROX Desktop")
 | |
| +    print("  XFCE          XFCE Desktop")
 | |
| +    print("  Old           Legacy systems")
 | |
| +    print()
 | |
|  
 | |
|  def show_version():
 | |
| -    print ME, VERSION
 | |
| -    print "Copyright (c) 2008        Dana Jansens"
 | |
| -    print
 | |
| +    print(ME, VERSION)
 | |
| +    print("Copyright (c) 2008        Dana Jansens")
 | |
| +    print()
 | |
|  
 | |
|  if __name__ == "__main__":
 | |
|          sys.exit(main())
 |