Package: guix-patches;
Reported by: Leo Famulari <leo <at> famulari.name>
Date: Thu, 20 Jan 2022 18:12:01 UTC
Severity: normal
Tags: patch
Merged with 53750
Done: Vinicius Monego <monego <at> posteo.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 53394 in the body.
You can then email your comments to 53394 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#53394
; Package guix-patches
.
(Thu, 20 Jan 2022 18:12:01 GMT) Full text and rfc822 format available.Leo Famulari <leo <at> famulari.name>
:guix-patches <at> gnu.org
.
(Thu, 20 Jan 2022 18:12:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Leo Famulari <leo <at> famulari.name> To: guix-patches <at> gnu.org Subject: [PATCH] gnu: Openbox: Make compatible with Python 3. Date: Thu, 20 Jan 2022 13:11:07 -0500
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 <hanno <at> gentoo.org> +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 <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(+) + 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 "/<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 +#+} +#-- +#cgit v1.2.3-18-g5258 +# -- 2.34.0
Leo Famulari <leo <at> famulari.name>
to control <at> debbugs.gnu.org
.
(Thu, 03 Feb 2022 16:15:02 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#53394
; Package guix-patches
.
(Sun, 06 Feb 2022 18:57:02 GMT) Full text and rfc822 format available.Message #10 received at 53394 <at> debbugs.gnu.org (full text, mbox):
From: Vinicius Monego <monego <at> posteo.net> To: Leo Famulari <leo <at> famulari.name>, 53394 <at> debbugs.gnu.org Subject: Re: [PATCH] gnu: Openbox: Make compatible with Python 3. Date: Sun, 06 Feb 2022 18:56:14 +0000
Em qui, 2022-01-20 às 13:11 -0500, Leo Famulari escreveu: > 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 > [...] I noticed that with 'python' the shebang in libexec/openbox-xdg- autostart becomes '#!/usr/bin/env python' while with python-wrapper it changes to the store path. I also 'cat' that file and the code is still in Python 2. Can you check this? openbox.scm is missing the copyright line, and python2-xdg should be changed to python-xdg. There are trailing whitespaces in the patch.
guix-patches <at> gnu.org
:bug#53394
; Package guix-patches
.
(Tue, 29 Mar 2022 10:07:02 GMT) Full text and rfc822 format available.Message #13 received at 53394 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Vinicius Monego <monego <at> posteo.net> Cc: 53394 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name> Subject: Re: bug#53394: [PATCH] gnu: Openbox: Make compatible with Python 3. Date: Tue, 29 Mar 2022 12:06:24 +0200
Leo, Vinicius, What’s the status of this patch? Looks like it was almost ready. Thanks, Ludo’. Vinicius Monego <monego <at> posteo.net> skribis: > Em qui, 2022-01-20 às 13:11 -0500, Leo Famulari escreveu: >> 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 >> > > [...] > > I noticed that with 'python' the shebang in libexec/openbox-xdg- > autostart becomes '#!/usr/bin/env python' while with python-wrapper it > changes to the store path. > > I also 'cat' that file and the code is still in Python 2. Can you check > this? > > openbox.scm is missing the copyright line, and python2-xdg should be > changed to python-xdg. There are trailing whitespaces in the patch.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 19 Sep 2022 11:24:11 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.