From patchwork Thu Jan 20 18:11:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Leo Famulari X-Patchwork-Id: 36668 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7D79B27BBEA; Thu, 20 Jan 2022 22:50:37 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A012727BBE9 for ; Thu, 20 Jan 2022 22:50:36 +0000 (GMT) Received: from localhost ([::1]:48736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nAgGJ-00043w-Pw for patchwork@mira.cbaines.net; Thu, 20 Jan 2022 17:50:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43592) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAbuk-0005jH-Gn for guix-patches@gnu.org; Thu, 20 Jan 2022 13:12:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:38000) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nAbuk-0007X0-4R for guix-patches@gnu.org; Thu, 20 Jan 2022 13:12:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nAbuk-0001wh-0n for guix-patches@gnu.org; Thu, 20 Jan 2022 13:12:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53394] [PATCH] gnu: Openbox: Make compatible with Python 3. Resent-From: Leo Famulari Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Jan 2022 18:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 53394 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 53394@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16427022827409 (code B ref -1); Thu, 20 Jan 2022 18:12:01 +0000 Received: (at submit) by debbugs.gnu.org; 20 Jan 2022 18:11:22 +0000 Received: from localhost ([127.0.0.1]:59136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAbu5-0001vQ-6w for submit@debbugs.gnu.org; Thu, 20 Jan 2022 13:11:21 -0500 Received: from lists.gnu.org ([209.51.188.17]:51892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAbu2-0001vI-Lb for submit@debbugs.gnu.org; Thu, 20 Jan 2022 13:11:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43478) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAbu2-0004V3-Bs for guix-patches@gnu.org; Thu, 20 Jan 2022 13:11:18 -0500 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:42023) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAbtx-0006Yv-HP for guix-patches@gnu.org; Thu, 20 Jan 2022 13:11:15 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 929633200645; Thu, 20 Jan 2022 13:11:11 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Thu, 20 Jan 2022 13:11:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to; s=mesmtp; bh=aMLx8Ra3kMt5DF+LJwotuUW8tOPcFERotYs rn23WsNM=; b=stktof6anvFZgBq+d1y+pkFw9fsicnW0m10q3Eh7jgo/qzDJ/3+ O0ARnG+k3tU775f5ibbC4UOFnHKEOGDcUNU9+kyNOTfQ9oiq5kEaTGvMwnAOoLmw kL5JlJ5gqkZml09N8j2J7cwoMQwgoozMtf2cXcBjruH6mEfOziqp89Bs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=aMLx8Ra3kMt5DF+LJ wotuUW8tOPcFERotYsrn23WsNM=; b=NNahbnRMw0eu58tVU6PRkOGd3L9VTwpqo QlT715CLYG5zG+yHRsciRHJXNNPIbhw4rbIOaMh2Ro8uQKDlfTWdi/cweXwFgEL5 AZgTQlrEiLnYPKsQjjEgUUf/kEikCAIBf/fr3SDXBrEugJePUqVdYpTyXkCIbHuJ wMX/rtt+93gfbL6C1NZXIXWZRn7iPnkjH6m7X05DhmrnYDaTsL/J6ur42UG0Z+ZT uulnjoLnLCv0y1gb1esqteBX7VtX6eurMr/1yim6FEme0auB34tnEHT/LzM0ef8Q UvuVFWfNb4R7gJYNFz6hlLBAaHYys6lbdAGvS8BbkM9DJM4lUx5Ew== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddrudekgddutdejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofggtgfgsehtkeertd ertdejnecuhfhrohhmpefnvghoucfhrghmuhhlrghrihcuoehlvghosehfrghmuhhlrghr ihdrnhgrmhgvqeenucggtffrrghtthgvrhhnpeeuffdtjeeiheejueegteegkeettddute ejhefhieeghfegkeefhffgffekueekieenucffohhmrghinhepohhpvghnsghogidrohhr ghdpghgvnhhtohhordhorhhgpdhgihhthhhusgdrtghomhenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlvghosehfrghmuhhlrghrihdrnhgr mhgv X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Thu, 20 Jan 2022 13:11:10 -0500 (EST) From: Leo Famulari Date: Thu, 20 Jan 2022 13:11:07 -0500 Message-Id: <002d396c0ecfe47e1457a71842d53c95875f99cf.1642702165.git.leo@famulari.name> X-Mailer: git-send-email 2.34.0 MIME-Version: 1.0 Received-SPF: pass client-ip=64.147.123.21; envelope-from=leo@famulari.name; helo=wout5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches As the patch file says, Openbox seems abandoned upstream. So, as Python 2 is phased out, we can either use a patch like this, or remove Openbox. I rebuilt all affected packages on x86_64-linux, and there were no new build failures, only the same failures as before this patch: kdepim-runtime-20.04.1 kmail-20.04.1 akregator-20.04.1 scorep-openmpi-3.1 smb4k-3.0.6 * gnu/packages/patches/openbox-python-3-compatibility.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/openbox.scm (openbox)[source]: Use it. --- gnu/packages/openbox.scm | 4 +- .../openbox-python-3-compatibility.patch | 273 ++++++++++++++++++ 2 files changed, 276 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openbox-python-3-compatibility.patch diff --git a/gnu/packages/openbox.scm b/gnu/packages/openbox.scm index 873592c19e..698c939a96 100644 --- a/gnu/packages/openbox.scm +++ b/gnu/packages/openbox.scm @@ -24,6 +24,7 @@ (define-module (gnu packages openbox) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) @@ -44,6 +45,7 @@ (define-public openbox (uri (string-append "http://openbox.org/dist/openbox/" name "-" version ".tar.xz")) + (patches (search-patches "openbox-python-3-compatibility.patch")) (sha256 (base32 "0vg2y1qddsdxkjv806mzpvmkgzliab8ll4s7zm7ma5jnriamirxb")))) @@ -60,7 +62,7 @@ (define-public openbox libxrandr libxft pango - python-2)) + python)) (synopsis "Box style window manager") (description "Openbox is a highly configurable, next generation window manager with diff --git a/gnu/packages/patches/openbox-python-3-compatibility.patch b/gnu/packages/patches/openbox-python-3-compatibility.patch new file mode 100644 index 0000000000..8e19bc86d6 --- /dev/null +++ b/gnu/packages/patches/openbox-python-3-compatibility.patch @@ -0,0 +1,273 @@ +Make Openbox compatible with Python 3. + +Patch adapted from Gentoo: + +https://gitweb.gentoo.org/repo/gentoo.git/patch/?id=31bad4f781f788ccf848500f8c17905ad32a2de9 + +Openbox seems to be abandoned upstream, with no activity in their Git repo since +2015: + +http://openbox.org/develop-git.php + +From 31bad4f781f788ccf848500f8c17905ad32a2de9 Mon Sep 17 00:00:00 2001 +From: Hanno Böck +Date: Mon, 13 Jan 2020 17:22:27 +0100 +Subject: x11-wm/openbox: Python 3 support. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use EAPI 7. +Remove Python 2, change to python single package. + +Closes: https://bugs.gentoo.org/696042 +Signed-off-by: Hanno Böck +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(+) + create mode 100644 x11-wm/openbox/files/openbox-3.6.1-py3-xdg.patch + create mode 100644 x11-wm/openbox/openbox-3.6.1-r2.ebuild + +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 "//{n; s@.*@Surreal_Gentoo@}" \ +#+ "${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 +#+} +#-- +#cgit v1.2.3-18-g5258 +#