commit:     31bad4f781f788ccf848500f8c17905ad32a2de9
Author:     Hanno Böck <hanno <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 13 16:22:27 2020 +0000
Commit:     Hanno Böck <hanno <AT> gentoo <DOT> org>
CommitDate: Mon Jan 13 16:22:27 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31bad4f7

x11-wm/openbox: Python 3 support.

Use EAPI 7.
Remove Python 2, change to python single package.

Closes: https://bugs.gentoo.org/696042
Signed-off-by: Hanno Böck <hanno <AT> gentoo.org>
Package-Manager: Portage-2.3.84, Repoman-2.3.20

 x11-wm/openbox/files/openbox-3.6.1-py3-xdg.patch | 126 +++++++++++++++++++++++
 x11-wm/openbox/openbox-3.6.1-r2.ebuild           | 100 ++++++++++++++++++
 2 files changed, 226 insertions(+)

diff --git a/x11-wm/openbox/files/openbox-3.6.1-py3-xdg.patch 
b/x11-wm/openbox/files/openbox-3.6.1-py3-xdg.patch
new file mode 100644
index 00000000000..d28b536d64a
--- /dev/null
+++ b/x11-wm/openbox/files/openbox-3.6.1-py3-xdg.patch
@@ -0,0 +1,126 @@
+diff --git a/data/autostart/openbox-xdg-autostart 
b/data/autostart/openbox-xdg-autostart
+index 04a17a199..f2c75bbdd 100755
+--- a/data/autostart/openbox-xdg-autostart
++++ b/data/autostart/openbox-xdg-autostart
+@@ -19,6 +19,8 @@
+ #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ #   GNU General Public License for more details.
+ 
++from __future__ import print_function
++
+ ME="openbox-xdg-autostart"
+ VERSION="1.1"
+ 
+@@ -28,9 +30,9 @@ 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
++    print()
++    print("ERROR:", ME, "requires PyXDG to be installed", file=sys.stderr)
++    print()
+     sys.exit(1)
+ 
+ def main(argv=sys.argv):
+@@ -51,7 +53,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 +101,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 +148,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 +167,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())

diff --git a/x11-wm/openbox/openbox-3.6.1-r2.ebuild 
b/x11-wm/openbox/openbox-3.6.1-r2.ebuild
new file mode 100644
index 00000000000..80c67975b17
--- /dev/null
+++ b/x11-wm/openbox/openbox-3.6.1-r2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit multilib autotools python-single-r1 eutils
+
+DESCRIPTION="A standards compliant, fast, light-weight, extensible window 
manager"
+HOMEPAGE="http://openbox.org/";
+if [[ ${PV} == *9999* ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="git://git.openbox.org/dana/openbox"
+       SRC_URI="branding? (
+       https://dev.gentoo.org/~hwoarang/distfiles/surreal-gentoo.tar.gz )"
+else
+       SRC_URI="http://openbox.org/dist/openbox/${P}.tar.gz
+       branding? ( 
https://dev.gentoo.org/~hwoarang/distfiles/surreal-gentoo.tar.gz )"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 
~x86-linux"
+fi
+
+LICENSE="GPL-2"
+SLOT="3"
+IUSE="branding debug imlib nls session startup-notification static-libs svg 
xdg"
+REQUIRED_USE="xdg? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/glib:2
+       >=dev-libs/libxml2-2.0
+       >=media-libs/fontconfig-2
+       x11-libs/cairo
+       x11-libs/libXau
+       x11-libs/libXcursor
+       x11-libs/libXext
+       x11-libs/libXft
+       x11-libs/libXinerama
+       x11-libs/libXrandr
+       x11-libs/libXt
+       >=x11-libs/pango-1.8[X]
+       imlib? ( media-libs/imlib2 )
+       startup-notification? ( >=x11-libs/startup-notification-0.8 )
+       svg? ( gnome-base/librsvg:2 )
+       xdg? (
+               ${PYTHON_DEPS}
+               dev-python/pyxdg[${PYTHON_USEDEP}]
+       )
+       "
+DEPEND="${RDEPEND}
+       sys-devel/gettext
+       virtual/pkgconfig
+       x11-base/xorg-proto"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-3.5.2-gnome-session.patch"
+       # see https://github.com/danakj/openbox/pull/35
+       "${FILESDIR}/${PN}-3.6.1-py3-xdg.patch"
+)
+
+src_prepare() {
+       default
+       sed -i \
+               -e "s:-O0 -ggdb ::" \
+               -e 's/-fno-strict-aliasing//' \
+               "${S}"/m4/openbox.m4 || die
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+               $(use_enable debug) \
+               $(use_enable static-libs static) \
+               $(use_enable nls) \
+               $(use_enable imlib imlib2) \
+               $(use_enable svg librsvg) \
+               $(use_enable startup-notification) \
+               $(use_enable session session-management) \
+               --with-x
+}
+
+src_install() {
+       dodir /etc/X11/Sessions
+       echo "/usr/bin/openbox-session" > "${ED}/etc/X11/Sessions/${PN}"
+       fperms a+x /etc/X11/Sessions/${PN}
+       emake DESTDIR="${D}" install
+       if use branding; then
+               insinto /usr/share/themes
+               doins -r "${WORKDIR}"/Surreal_Gentoo
+               # make it the default theme
+               sed -i \
+                       -e "/<theme>/{n; 
s@<name>.*</name>@<name>Surreal_Gentoo</name>@}" \
+                       "${D}"/etc/xdg/openbox/rc.xml \
+                       || die "failed to set Surreal Gentoo as the default 
theme"
+       fi
+       use static-libs || find "${D}" -name '*.la' -delete
+       if use xdg ; then
+               python_fix_shebang "${ED}"/usr/libexec/openbox-xdg-autostart
+       else
+               rm "${ED}"/usr/libexec/openbox-xdg-autostart || die
+       fi
+}

Reply via email to