public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/fvwm/, x11-wm/fvwm/files/
@ 2022-11-25  6:02 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2022-11-25  6:02 UTC (permalink / raw
  To: gentoo-commits

commit:     bb35499bd2326e26a2e9da56e2b09ad5d700cd23
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 25 05:53:55 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 25 05:53:55 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb35499b

x11-wm/fvwm: add 2.7.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-wm/fvwm/Manifest                       |   1 +
 x11-wm/fvwm/files/fvwm-2.7.0-clang16.patch |  54 +++++++++
 x11-wm/fvwm/fvwm-2.7.0.ebuild              | 169 +++++++++++++++++++++++++++++
 3 files changed, 224 insertions(+)

diff --git a/x11-wm/fvwm/Manifest b/x11-wm/fvwm/Manifest
index 18a4810efc83..2127ffe67fa4 100644
--- a/x11-wm/fvwm/Manifest
+++ b/x11-wm/fvwm/Manifest
@@ -1 +1,2 @@
 DIST fvwm-2.6.9.tar.gz 3942859 BLAKE2B 8faf2d420d96049ab0528a6c6a5dc6ed8ee9449f8e533b9ad9bb526faea86030684fc0aa8ed0d307cb64575457676611298adf582b1249c37a3db35a72b43bf1 SHA512 a9c2214ad19edd17da81446a6d4250284cc50b59b53c233212f2a9354c01143dbb870521392752f272f00af50bee2dd8f0b6bf6176b0d4b3075694d2a61a623e
+DIST fvwm-2.7.0.tar.gz 3933529 BLAKE2B b4be7083c2946cb2a0c48673271d490a49aba5aec8407169bedc5a35f55fe8cd2724a9f6570c5e7ea110652c04956570c874256f96fa5d920a2a1ede152c0c25 SHA512 fc9076c3f07f36b0b2c7c4d2bdf7bb1a711000e39316e327173548bc99dc2b8a29b591e3644e1492f87603b576cd4a3f58ecbdd84a4384d294417b3c56c81808

diff --git a/x11-wm/fvwm/files/fvwm-2.7.0-clang16.patch b/x11-wm/fvwm/files/fvwm-2.7.0-clang16.patch
new file mode 100644
index 000000000000..025c6e6d10ec
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.7.0-clang16.patch
@@ -0,0 +1,54 @@
+https://github.com/fvwmorg/fvwm/pull/100
+
+From 0b4daddf6b88b696daf54714448b8d89a615abf2 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:06:50 +0100
+Subject: [PATCH 1/2] configure: Do not require support for implicit ints
+
+Implicit ints  have not been part of C since 1999, and future
+compilers will disable support for them by default.  Fortunatenly,
+only one configure check needs adjusting.
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -30,7 +30,7 @@ if test "$ac_cv_func_select" = yes; then
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif],
+-[extern select ($ac_cv_type_fd_set_size_t,
++[extern int select ($ac_cv_type_fd_set_size_t,
+  $ac_cv_type_fd_set *,	$ac_cv_type_fd_set *, $ac_cv_type_fd_set *,
+  $ac_type_timeval *);],
+ [ac_found=yes ; break 3],ac_found=no)
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,7 +220,7 @@ AC_MINIX
+ 
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; static j; int *p; char *c;
++[int i; int *p; char *c;
+   switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+   *c = &i; c = p;
+   while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+
+From 6b9d100ae4e784821b5189474dc58e646417bcf6 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:07:56 +0100
+Subject: [PATCH 2/2] acinclude.m4: Add missing <unistd.h> to
+ AM_SAFETY_CHECK_MKSTEMP
+
+Otherwise, the check fails on a compiler which does not support
+implicit function declarations (a language feature removed in 1999).
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1154,6 +1154,9 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
+ int main(void)
+ {
+   char template[128];
+

diff --git a/x11-wm/fvwm/fvwm-2.7.0.ebuild b/x11-wm/fvwm/fvwm-2.7.0.ebuild
new file mode 100644
index 000000000000..a7844f949583
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.7.0.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit autotools flag-o-matic python-single-r1 desktop
+
+DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
+HOMEPAGE="https://www.fvwm.org/"
+SRC_URI="https://github.com/fvwmorg/fvwm/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+ FVWM"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="bidi debug doc netpbm nls perl png readline stroke svg tk truetype +vanilla xinerama lock"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+	sys-libs/zlib
+	x11-libs/libICE
+	x11-libs/libSM
+	x11-libs/libX11
+	x11-libs/libXau
+	x11-libs/libxcb
+	x11-libs/libXcursor
+	x11-libs/libXdmcp
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXpm
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	virtual/libiconv
+	$(python_gen_cond_dep '
+		dev-python/pyxdg[${PYTHON_USEDEP}]
+	')
+	bidi? ( dev-libs/fribidi )
+	nls? ( virtual/libintl )
+	png? ( media-libs/libpng:0= )
+	readline? (
+		sys-libs/ncurses:0=
+		sys-libs/readline:0=
+	)
+	stroke? ( dev-libs/libstroke )
+	svg? ( gnome-base/librsvg )
+	truetype? (
+		media-libs/fontconfig
+		x11-libs/libXft
+	)
+	xinerama? ( x11-libs/libXinerama )
+"
+RDEPEND="${COMMON_DEPEND}
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-apps/debianutils
+	perl? ( tk? (
+			dev-lang/tk
+			dev-perl/Tk
+			>=dev-perl/X11-Protocol-0.56
+		)
+	)
+	lock? ( x11-misc/xlockmore )
+	netpbm? ( media-libs/netpbm )
+"
+DEPEND="${COMMON_DEPEND}
+	x11-base/xorg-proto
+"
+BDEPEND="
+	dev-lang/perl
+	dev-libs/libxslt
+	virtual/pkgconfig
+"
+
+src_prepare() {
+	if ! use vanilla; then
+		# Enables fast translucent menus; patch from fvwm-user mailing list.
+		eapply -p0 "${FILESDIR}/${PN}-2.5.27-translucent-menus.diff"
+
+		# Allow more mouse buttons, bug #411811
+		eapply -p0 "${FILESDIR}/${PN}-2.6.5-mouse-buttons.patch"
+	fi
+
+	eapply -p0 "${FILESDIR}/${PN}-2.6.5-ar.patch" #474528
+
+	eapply "${FILESDIR}"/fvwm-2.7.0-clang16.patch
+
+	default
+
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--libexecdir="${EPREFIX}"/usr/$(get_libdir)
+		--with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
+		--enable-iconv
+		--enable-package-subdirs
+		--enable-mandoc
+		--without-rplay-library
+		$(use_enable bidi)
+		$(use_enable debug debug-msgs)
+		$(use_enable debug command-log)
+		$(use_enable doc htmldoc)
+		$(use_enable nls)
+		$(use_enable perl perllib)
+		$(use_enable png)
+		$(use_with readline readline-library)
+		$(use_with stroke stroke-library)
+		$(use_enable svg rsvg)
+		$(use_enable truetype xft)
+		$(use_enable xinerama)
+	)
+
+	# Non-upstream email where bugs should be sent; used in fvwm-bug.
+	export FVWM_BUGADDR="maintainer-needed@gentoo.org"
+
+	# Recommended by upstream, reference ????
+	append-flags -fno-strict-aliasing
+
+	# Signed chars are required.
+	use ppc && append-flags -fsigned-char
+
+	use readline && myeconfargs+=( --without-termcap-library )
+
+	export ac_cv_path_PYTHON="${PYTHON}"
+
+	econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+	make_session_desktop fvwm /usr/bin/fvwm
+
+	if ! use lock; then
+		find "${D}" -name '*fvwm-menu-xlock' -exec rm -f '{}' \; 2>/dev/null
+	fi
+
+	if use perl; then
+		if ! use tk; then
+			rm "${D}"/usr/share/fvwm/perllib/FVWM/Module/Tk.pm || die
+			rm "${D}"/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm || die
+			find "${D}"/usr/share/fvwm/perllib -depth -type d -exec rmdir '{}' \; 2>/dev/null
+		fi
+	else
+		# Completely wipe it if ! use perl
+		rm -r "${D}"/usr/bin/fvwm-perllib "${D}"/usr/share/man/man1/fvwm-perllib.1
+	fi
+
+	# Utility for testing FVWM behaviour by creating a simple window with
+	# configurable hints.
+	if use debug; then
+		dobin "${S}"/tests/hints/hints_test
+		newdoc "${S}"/tests/hints/README README.hints
+	fi
+
+	dodir /etc/X11/Sessions
+	echo "/usr/bin/fvwm" > "${D}"/etc/X11/Sessions/${PN} || die
+	fperms a+x /etc/X11/Sessions/${PN}
+
+	dodoc docs/{COMMANDS,DEVELOPERS.md}
+
+	# README file for translucent menus patch.
+	if ! use vanilla; then
+		dodoc "${FILESDIR}"/README.translucency
+		ewarn "You are using a patched build, so, please, don't"
+		ewarn "report bugs at the fvwm-workers list unless you are"
+		ewarn "also able to reproduce them with a vanilla build (USE=vanilla)."
+	fi
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: x11-wm/fvwm/, x11-wm/fvwm/files/
@ 2023-12-20 10:45 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2023-12-20 10:45 UTC (permalink / raw
  To: gentoo-commits

commit:     16d668a7b49b68443e1b4e95a0b67905fed92d0e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 20 10:45:17 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 20 10:45:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16d668a7

x11-wm/fvwm: further modern C fixes for configure

Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-wm/fvwm/files/fvwm-2.7.0-c99.patch |  99 +++++++++++++++++++
 x11-wm/fvwm/fvwm-2.7.0-r2.ebuild       | 171 +++++++++++++++++++++++++++++++++
 2 files changed, 270 insertions(+)

diff --git a/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch b/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch
new file mode 100644
index 000000000000..7bc137dc6cc2
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch
@@ -0,0 +1,99 @@
+https://github.com/fvwmorg/fvwm/pull/100
+
+From 0b4daddf6b88b696daf54714448b8d89a615abf2 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:06:50 +0100
+Subject: [PATCH 1/3] configure: Do not require support for implicit ints
+
+Implicit ints  have not been part of C since 1999, and future
+compilers will disable support for them by default.  Fortunatenly,
+only one configure check needs adjusting.
+---
+ acinclude.m4 | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 8b74ff1e5..b66042f9f 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -30,7 +30,7 @@ if test "$ac_cv_func_select" = yes; then
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif],
+-[extern select ($ac_cv_type_fd_set_size_t,
++[extern int select ($ac_cv_type_fd_set_size_t,
+  $ac_cv_type_fd_set *,	$ac_cv_type_fd_set *, $ac_cv_type_fd_set *,
+  $ac_type_timeval *);],
+ [ac_found=yes ; break 3],ac_found=no)
+diff --git a/configure.ac b/configure.ac
+index 97ab9e7a1..c9fcede6a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,7 +220,7 @@ AC_MINIX
+ 
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; static j; int *p; char *c;
++[int i; int *p; char *c;
+   switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+   *c = &i; c = p;
+   while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+
+From 6b9d100ae4e784821b5189474dc58e646417bcf6 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:07:56 +0100
+Subject: [PATCH 2/3] acinclude.m4: Add missing <unistd.h> to
+ AM_SAFETY_CHECK_MKSTEMP
+
+Otherwise, the check fails on a compiler which does not support
+implicit function declarations (a language feature removed in 1999).
+---
+ acinclude.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index b66042f9f..4dee2abeb 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1154,6 +1154,9 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
+ int main(void)
+ {
+   char template[128];
+
+From 33537b8ae5a302e4016dc1c6cfe5577fb3fa36c9 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 19 Dec 2023 13:24:50 +0100
+Subject: [PATCH 3/3] configure: Further defang the -Werror check
+
+Incompatible pointer types are actually errors (in the sense
+that they are invalid C).  Compilers have merely tolerated them as
+warnings for backwards compatibility.  This is changing with Clang 16
+and GCC 14, so relax the check a little.
+---
+ configure.ac | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c9fcede6a..2e9615b2b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,9 +220,8 @@ AC_MINIX
+ 
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; int *p; char *c;
+-  switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+-  *c = &i; c = p;
++[int unused; int *p; char *c;
++  printf("%Q", c, p);
+   while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+ ], , AC_MSG_ERROR("
+ configure is not able to compile programs with warnings.  Please
+

diff --git a/x11-wm/fvwm/fvwm-2.7.0-r2.ebuild b/x11-wm/fvwm/fvwm-2.7.0-r2.ebuild
new file mode 100644
index 000000000000..8f75a2f03ab7
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.7.0-r2.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic python-single-r1 desktop
+
+DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
+HOMEPAGE="https://www.fvwm.org/"
+SRC_URI="https://github.com/fvwmorg/fvwm/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+ FVWM"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="bidi debug doc netpbm nls perl png readline stroke svg tk truetype +vanilla xinerama lock"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+	sys-libs/zlib
+	x11-libs/libICE
+	x11-libs/libSM
+	x11-libs/libX11
+	x11-libs/libXau
+	x11-libs/libxcb
+	x11-libs/libXcursor
+	x11-libs/libXdmcp
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXpm
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	virtual/libiconv
+	$(python_gen_cond_dep '
+		dev-python/pyxdg[${PYTHON_USEDEP}]
+	')
+	bidi? ( dev-libs/fribidi )
+	nls? ( virtual/libintl )
+	png? ( media-libs/libpng:0= )
+	readline? (
+		sys-libs/ncurses:0=
+		sys-libs/readline:0=
+	)
+	stroke? ( dev-libs/libstroke )
+	svg? ( gnome-base/librsvg )
+	truetype? (
+		media-libs/fontconfig
+		x11-libs/libXft
+	)
+	xinerama? ( x11-libs/libXinerama )
+"
+RDEPEND="${COMMON_DEPEND}
+	${PYTHON_DEPS}
+	dev-lang/perl
+	sys-apps/debianutils
+	perl? ( tk? (
+			dev-lang/tk
+			dev-perl/Tk
+			>=dev-perl/X11-Protocol-0.56
+		)
+	)
+	lock? ( x11-misc/xlockmore )
+	netpbm? ( media-libs/netpbm )
+"
+DEPEND="${COMMON_DEPEND}
+	x11-base/xorg-proto
+"
+BDEPEND="
+	dev-lang/perl
+	dev-libs/libxslt
+	virtual/pkgconfig
+"
+
+src_prepare() {
+	if ! use vanilla; then
+		# Enables fast translucent menus; patch from fvwm-user mailing list.
+		eapply -p0 "${FILESDIR}/${PN}-2.5.27-translucent-menus.diff"
+
+		# Allow more mouse buttons, bug #411811
+		eapply -p0 "${FILESDIR}/${PN}-2.6.5-mouse-buttons.patch"
+	fi
+
+	eapply -p0 "${FILESDIR}/${PN}-2.6.5-ar.patch" #474528
+
+	eapply "${FILESDIR}"/fvwm-2.7.0-c99.patch
+
+	default
+
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--libexecdir="${EPREFIX}"/usr/$(get_libdir)
+		--with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
+		--enable-iconv
+		--enable-package-subdirs
+		--enable-mandoc
+		--without-rplay-library
+		$(use_enable bidi)
+		$(use_enable debug debug-msgs)
+		$(use_enable debug command-log)
+		$(use_enable doc htmldoc)
+		$(use_enable nls)
+		$(use_enable perl perllib)
+		$(use_enable png)
+		$(use_with readline readline-library)
+		$(use_with stroke stroke-library)
+		$(use_enable svg rsvg)
+		$(use_enable truetype xft)
+		$(use_enable xinerama)
+	)
+
+	# Non-upstream email where bugs should be sent; used in fvwm-bug.
+	export FVWM_BUGADDR="maintainer-needed@gentoo.org"
+
+	# Recommended by upstream, reference ????
+	append-flags -fno-strict-aliasing
+
+	# Signed chars are required.
+	use ppc && append-flags -fsigned-char
+
+	use readline && myeconfargs+=( --without-termcap-library )
+
+	export ac_cv_path_PYTHON="${PYTHON}"
+
+	econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+	make_session_desktop fvwm /usr/bin/fvwm
+
+	if ! use lock; then
+		find "${D}" -name '*fvwm-menu-xlock' -exec rm -f '{}' \; 2>/dev/null
+	fi
+
+	if use perl; then
+		if ! use tk; then
+			rm "${D}"/usr/share/fvwm/perllib/FVWM/Module/Tk.pm || die
+			rm "${D}"/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm || die
+			find "${D}"/usr/share/fvwm/perllib -depth -type d -exec rmdir '{}' \; 2>/dev/null
+		fi
+	else
+		# Completely wipe it if ! use perl
+		rm -r "${D}"/usr/bin/fvwm-perllib "${D}"/usr/share/man/man1/fvwm-perllib.1
+	fi
+
+	# Utility for testing FVWM behaviour by creating a simple window with
+	# configurable hints.
+	if use debug; then
+		dobin "${S}"/tests/hints/hints_test
+		newdoc "${S}"/tests/hints/README README.hints
+	fi
+
+	exeinto /etc/X11/Sessions
+	newexe - ${PN} <<-EOF
+	#!/bin/sh
+	${PN}
+	EOF
+
+	dodoc docs/{COMMANDS,DEVELOPERS.md}
+
+	# README file for translucent menus patch.
+	if ! use vanilla; then
+		dodoc "${FILESDIR}"/README.translucency
+		ewarn "You are using a patched build, so, please, don't"
+		ewarn "report bugs at the fvwm-workers list unless you are"
+		ewarn "also able to reproduce them with a vanilla build (USE=vanilla)."
+	fi
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: x11-wm/fvwm/, x11-wm/fvwm/files/
@ 2024-04-22 16:52 Viorel Munteanu
  0 siblings, 0 replies; 5+ messages in thread
From: Viorel Munteanu @ 2024-04-22 16:52 UTC (permalink / raw
  To: gentoo-commits

commit:     e1f71959296911d772d34f341b067ebdcaba1367
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 22 16:30:58 2024 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Mon Apr 22 16:51:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1f71959

x11-wm/fvwm: enable py3.12

Enable python 3.12.  It is used only for one script in bin/ and it works.
Fix installing docs in the proper place.

Closes: https://bugs.gentoo.org/929896
Closes: https://bugs.gentoo.org/927863
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 x11-wm/fvwm/files/fvwm-2.7.0-fix-docdir.patch |  13 ++
 x11-wm/fvwm/fvwm-2.7.0-r4.ebuild              | 171 ++++++++++++++++++++++++++
 2 files changed, 184 insertions(+)

diff --git a/x11-wm/fvwm/files/fvwm-2.7.0-fix-docdir.patch b/x11-wm/fvwm/files/fvwm-2.7.0-fix-docdir.patch
new file mode 100644
index 000000000000..b1f5a1db7ea2
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.7.0-fix-docdir.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/927863
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -102,7 +102,7 @@
+ PPACKAGE=`echo "${PACKAGE}" | "$SED" -e "${transform}"`
+ FVWM_MODULESUBDIR=/${PPACKAGE}/${VERSION}
+ FVWM_DATASUBDIR=/${PPACKAGE}
+-FVWM_DOCSUBDIR=/doc/${PPACKAGE}
++FVWM_DOCSUBDIR=/doc/${PF}
+ 
+ AC_ARG_ENABLE(package-subdirs,
+   AS_HELP_STRING([--disable-package-subdirs],

diff --git a/x11-wm/fvwm/fvwm-2.7.0-r4.ebuild b/x11-wm/fvwm/fvwm-2.7.0-r4.ebuild
new file mode 100644
index 000000000000..349ad4960c6c
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.7.0-r4.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic python-single-r1 desktop
+
+DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
+HOMEPAGE="https://www.fvwm.org/"
+SRC_URI="https://github.com/fvwmorg/fvwm/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+ FVWM"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="bidi debug doc netpbm nls perl png readline stroke svg tk truetype +vanilla xinerama lock"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+	sys-libs/zlib
+	x11-libs/libICE
+	x11-libs/libSM
+	x11-libs/libX11
+	x11-libs/libXau
+	x11-libs/libxcb
+	x11-libs/libXcursor
+	x11-libs/libXdmcp
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXpm
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	virtual/libiconv
+	$(python_gen_cond_dep '
+		dev-python/pyxdg[${PYTHON_USEDEP}]
+	')
+	bidi? ( dev-libs/fribidi )
+	nls? ( virtual/libintl )
+	png? ( media-libs/libpng:0= )
+	readline? (
+		sys-libs/ncurses:0=
+		sys-libs/readline:0=
+	)
+	stroke? ( dev-libs/libstroke )
+	svg? ( gnome-base/librsvg )
+	truetype? (
+		media-libs/fontconfig
+		x11-libs/libXft
+	)
+	xinerama? ( x11-libs/libXinerama )
+"
+RDEPEND="${COMMON_DEPEND}
+	${PYTHON_DEPS}
+	dev-lang/perl
+	perl? ( tk? (
+			dev-lang/tk
+			dev-perl/Tk
+			>=dev-perl/X11-Protocol-0.56
+		)
+	)
+	lock? ( x11-misc/xlockmore )
+	netpbm? ( media-libs/netpbm )
+"
+DEPEND="${COMMON_DEPEND}
+	x11-base/xorg-proto
+"
+BDEPEND="
+	dev-lang/perl
+	dev-libs/libxslt
+	virtual/pkgconfig
+"
+
+src_prepare() {
+	if ! use vanilla; then
+		# Enables fast translucent menus; patch from fvwm-user mailing list.
+		eapply -p0 "${FILESDIR}/${PN}-2.5.27-translucent-menus.diff"
+
+		# Allow more mouse buttons, bug #411811
+		eapply -p0 "${FILESDIR}/${PN}-2.6.5-mouse-buttons.patch"
+	fi
+
+	eapply -p0 "${FILESDIR}/${PN}-2.6.5-ar.patch" #474528
+
+	eapply "${FILESDIR}"/fvwm-2.7.0-c99.patch
+	eapply "${FILESDIR}"/fvwm-2.7.0-fix-docdir.patch
+
+	default
+
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--libexecdir="${EPREFIX}"/usr/$(get_libdir)
+		--with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
+		--enable-iconv
+		--enable-package-subdirs
+		--enable-mandoc
+		--without-rplay-library
+		$(use_enable bidi)
+		$(use_enable debug debug-msgs)
+		$(use_enable debug command-log)
+		$(use_enable doc htmldoc)
+		$(use_enable nls)
+		$(use_enable perl perllib)
+		$(use_enable png)
+		$(use_with readline readline-library)
+		$(use_with stroke stroke-library)
+		$(use_enable svg rsvg)
+		$(use_enable truetype xft)
+		$(use_enable xinerama)
+	)
+
+	# Non-upstream email where bugs should be sent; used in fvwm-bug.
+	export FVWM_BUGADDR="maintainer-needed@gentoo.org"
+
+	# Recommended by upstream, reference ????
+	append-flags -fno-strict-aliasing
+
+	# Signed chars are required.
+	use ppc && append-flags -fsigned-char
+
+	use readline && myeconfargs+=( --without-termcap-library )
+
+	export ac_cv_path_PYTHON="${PYTHON}"
+
+	econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+	make_session_desktop fvwm /usr/bin/fvwm
+
+	if ! use lock; then
+		find "${ED}" -name '*fvwm-menu-xlock' -delete || die
+	fi
+
+	if use perl; then
+		if ! use tk; then
+			rm "${ED}"/usr/share/fvwm/perllib/FVWM/Module/Tk.pm || die
+			rm "${ED}"/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm || die
+			find "${ED}"/usr/share/fvwm/perllib -depth -type d -exec rmdir '{}' \; || die
+		fi
+	else
+		# Completely wipe it if ! use perl
+		rm -r "${ED}"/usr/bin/fvwm-perllib "${ED}"/usr/share/man/man1/fvwm-perllib.1 || die
+	fi
+
+	# Utility for testing FVWM behaviour by creating a simple window with
+	# configurable hints.
+	if use debug; then
+		dobin tests/hints/hints_test
+		newdoc tests/hints/README README.hints
+	fi
+
+	exeinto /etc/X11/Sessions
+	newexe - ${PN} <<-EOF
+	#!/bin/sh
+	${PN}
+	EOF
+
+	dodoc docs/{COMMANDS,DEVELOPERS.md}
+
+	# README file for translucent menus patch.
+	if ! use vanilla; then
+		dodoc "${FILESDIR}"/README.translucency
+		ewarn "You are using a patched build, so, please, don't"
+		ewarn "report bugs at the fvwm-workers list unless you are"
+		ewarn "also able to reproduce them with a vanilla build (USE=vanilla)."
+	fi
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: x11-wm/fvwm/, x11-wm/fvwm/files/
@ 2024-08-15 19:07 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2024-08-15 19:07 UTC (permalink / raw
  To: gentoo-commits

commit:     a7ff4695abec63c8ef91b29d533ec89c80636190
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 19:04:41 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 19:07:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7ff4695

x11-wm/fvwm: fix patches

* Use rebased ar, translucent-menus patches from bug #898918, thanks
  to Gianni Ceccarelli <dakkar <AT> thenautilus.net>

* Filter LTO for bug #864957 (fvwm 2.x is EOL) so unlikely to be fixed
  upstream. If 3.x gets fixed (bug #864959), we can always look at
  backporting it.

Bug: https://bugs.gentoo.org/864959
Closes: https://bugs.gentoo.org/864957
Closes: https://bugs.gentoo.org/898918
Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-wm/fvwm/files/fvwm-2.7.0-ar.patch              |  41 ++
 .../fvwm/files/fvwm-2.7.0-translucent-menus.diff   | 507 +++++++++++++++++++++
 x11-wm/fvwm/fvwm-2.7.0-r5.ebuild                   | 172 +++++++
 3 files changed, 720 insertions(+)

diff --git a/x11-wm/fvwm/files/fvwm-2.7.0-ar.patch b/x11-wm/fvwm/files/fvwm-2.7.0-ar.patch
new file mode 100644
index 000000000000..80ceca36f3b2
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.7.0-ar.patch
@@ -0,0 +1,41 @@
+diff --git i/configure.ac w/configure.ac
+index 97ab9e7..8cd2efb 100644
+--- i/configure.ac
++++ w/configure.ac
+@@ -208,6 +208,10 @@ AC_MSG_RESULT($val)
+ # optional libraries.
+ AC_PROG_CC
+ AC_PROG_CPP
++AN_MAKEVAR([AR], [AC_PROG_AR])
++AN_PROGRAM([ar], [AC_PROG_AR])
++AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
++AC_PROG_AR
+ 
+ # added -Wall for gcc, what about for others?
+ if test "x$GCC" = "xyes"; then
+diff --git i/libs/Makefile.in w/libs/Makefile.in
+index 28b6732..c66d3e4 100644
+--- i/libs/Makefile.in
++++ w/libs/Makefile.in
+@@ -100,7 +100,7 @@ CONFIG_HEADER = $(top_builddir)/config.h
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+ LIBRARIES = $(noinst_LIBRARIES)
+-AR = ar
++AR = @AR@
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+diff --git i/modules/FvwmScript/Widgets/Makefile.in w/modules/FvwmScript/Widgets/Makefile.in
+index 8bda02d..582b046 100644
+--- i/modules/FvwmScript/Widgets/Makefile.in
++++ w/modules/FvwmScript/Widgets/Makefile.in
+@@ -100,7 +100,7 @@ CONFIG_HEADER = $(top_builddir)/config.h
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+ LIBRARIES = $(noinst_LIBRARIES)
+-AR = ar
++AR = @AR@
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)

diff --git a/x11-wm/fvwm/files/fvwm-2.7.0-translucent-menus.diff b/x11-wm/fvwm/files/fvwm-2.7.0-translucent-menus.diff
new file mode 100644
index 000000000000..67f0a3bf0cd5
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.7.0-translucent-menus.diff
@@ -0,0 +1,507 @@
+diff --git i/fvwm/colorset.c w/fvwm/colorset.c
+index e10f1d1..0217cc3 100644
+--- i/fvwm/colorset.c
++++ w/fvwm/colorset.c
+@@ -164,6 +164,8 @@ static char *csetopts[] =
+ 	"NoIconTint",
+ 	"IconAlpha",
+ 
++	"Translucent",
++	"NoTranslucent",
+ 	NULL
+ };
+ 
+@@ -625,6 +627,7 @@ void parse_colorset(int n, char *line)
+ 	char *fg_tint = NULL;
+ 	char *bg_tint = NULL;
+ 	char *icon_tint = NULL;
++	char *translucent_tint = NULL;
+ 	Bool have_pixels_changed = False;
+ 	Bool has_icon_pixels_changed = False;
+ 	Bool has_fg_changed = False;
+@@ -637,6 +640,7 @@ void parse_colorset(int n, char *line)
+ 	Bool has_fg_tint_changed = False;
+ 	Bool has_bg_tint_changed = False;
+ 	Bool has_icon_tint_changed = False;
++	Bool has_translucent_tint_changed = False;
+ 	Bool has_pixmap_changed = False;
+ 	Bool has_shape_changed = False;
+ 	Bool has_image_alpha_changed = False;
+@@ -764,6 +768,10 @@ void parse_colorset(int n, char *line)
+ 		case 21: /* Plain */
+ 			has_pixmap_changed = True;
+ 			free_colorset_background(cs, True);
++			cs->is_translucent = False;
++			cs->translucent_tint_percent = 0;
++			cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED;
++			has_translucent_tint_changed = True;
+ 			break;
+ 		case 22: /* NoShape */
+ 			has_shape_changed = True;
+@@ -930,6 +938,24 @@ void parse_colorset(int n, char *line)
+ 				cs->icon_alpha_percent = tmp;
+ 			}
+ 			break;
++		case 42: /* Translucent */
++			cs->is_translucent = True;
++			parse_simple_tint(
++				cs, args, &translucent_tint,
++				TRANSLUCENT_TINT_SUPPLIED,
++				&has_translucent_tint_changed, &percent,
++				"Translucent");
++			if (has_translucent_tint_changed)
++			{
++				cs->translucent_tint_percent = percent;
++			}
++			break;
++		case 43: /* NoTranslucent */
++			cs->is_translucent = False;
++			cs->translucent_tint_percent = 0;
++			cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED;
++			has_translucent_tint_changed = True;
++			break;
+ 		default:
+ 			/* test for ?Gradient */
+ 			if (option[0] && StrEquals(&option[1], "Gradient"))
+@@ -1632,6 +1658,27 @@ void parse_colorset(int n, char *line)
+ 		}
+ 	}
+ 
++	/*
++	 * ---------- change the translucent tint colour ----------
++	 */
++	if (has_translucent_tint_changed)
++	{
++		/* user specified colour */
++		if (translucent_tint != NULL)
++		{
++			PictureFreeColors(
++				dpy, Pcmap, &cs->translucent_tint, 1, 0, True);
++			cs->translucent_tint = GetColor(translucent_tint);
++		}
++		else
++		{
++			/* default */
++			PictureFreeColors(
++				dpy, Pcmap, &cs->translucent_tint, 1, 0, True);
++			cs->translucent_tint = GetColor(black);
++		}
++	}
++
+ 	/*
+ 	 * ---------- send new colorset to fvwm and clean up ----------
+ 	 */
+@@ -1728,6 +1775,7 @@ void alloc_colorset(int n)
+ 			ncs->fgsh = GetColor(white);
+ 			ncs->tint = GetColor(black);
+ 			ncs->icon_tint = GetColor(black);
++			ncs->translucent_tint = GetColor(black);
+ 			ncs->pixmap = XCreatePixmapFromBitmapData(
+ 				dpy, Scr.NoFocusWin,
+ 				&g_bits[4 * (nColorsets % 3)], 4, 4,
+@@ -1745,6 +1793,7 @@ void alloc_colorset(int n)
+ 			ncs->fgsh = GetForeShadow(ncs->fg, ncs->bg);
+ 			ncs->tint = GetColor(black);
+ 			ncs->icon_tint = GetColor(black);
++			ncs->translucent_tint = GetColor(black);
+ 		}
+ 		ncs->fg_tint = ncs->bg_tint = GetColor(black);
+ 		/* set flags for fg contrast, bg average */
+@@ -1756,6 +1805,7 @@ void alloc_colorset(int n)
+ 		ncs->icon_alpha_percent = 100;
+ 		ncs->tint_percent = 0;
+ 		ncs->icon_tint_percent = 0;
++		ncs->translucent_tint_percent = 0;
+ 		ncs->fg_tint_percent = ncs->bg_tint_percent = 0;
+ 		ncs->dither = (PictureDitherByDefault())? True:False;
+ 		nColorsets++;
+diff --git i/fvwm/menuroot.h w/fvwm/menuroot.h
+index d9f33d6..de5e2d6 100644
+--- i/fvwm/menuroot.h
++++ w/fvwm/menuroot.h
+@@ -146,6 +146,9 @@ typedef struct MenuRootDynamic
+ 		int d_npixels;
+ 	} stored_pixels;
+ 	/* alloc pixels when dithering is used for gradients */
++	/* x,y XMapRaise */
++	int x;
++	int y;
+ } MenuRootDynamic;
+ 
+ /* access macros to dynamic menu members */
+diff --git i/fvwm/menus.c w/fvwm/menus.c
+index 345ac06..6daf035 100644
+--- i/fvwm/menus.c
++++ w/fvwm/menus.c
+@@ -78,6 +78,19 @@
+ #define SCTX_GET_MR(ctx)	((ctx).type == SCTX_MENU_ROOT ? \
+ 				 (ctx).menu_root.menu_root : NULL)
+ 
++#define MENU_IS_TRANSLUCENT(mr,cs) \
++	(!MR_IS_TEAR_OFF_MENU(mr) && CSET_IS_TRANSLUCENT(cs))
++#define MENU_IS_TRANSPARENT(mr,cs) \
++	(MENU_IS_TRANSLUCENT(mr,cs) || CSET_IS_TRANSPARENT(cs))
++#define MR_IS_TRANSLUCENT_MENU(mr)  \
++	(!MR_IS_TEAR_OFF_MENU(mr) && MR_STYLE(mr) && \
++	ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSLUCENT( \
++						ST_CSET_MENU(MR_STYLE(mr))))
++#define MR_IS_TRANSPARENT_MENU(mr) \
++	(MR_IS_TRANSLUCENT_MENU(mr) || (MR_STYLE(mr) && \
++	ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSPARENT( \
++						ST_CSET_MENU(MR_STYLE(mr)))))
++
+ /* ---------------------------- imports ------------------------------------ */
+ 
+ /* This external is safe. It's written only during startup. */
+@@ -220,6 +233,8 @@ typedef struct mloop_static_info_t
+ } mloop_static_info_t;
+ 
+ /* ---------------------------- forward declarations ----------------------- */
++static MenuRoot *seek_submenu_instance(
++	MenuRoot *parent_menu, MenuItem *parent_item);
+ 
+ /* ---------------------------- local variables ---------------------------- */
+ 
+@@ -381,12 +396,22 @@ static void animated_move_back(
+ 		Bool transparent_bg = False;
+ 
+ 		/* move it back */
+-		if (ST_HAS_MENU_CSET(MR_STYLE(mr)) &&
+-		    CSET_IS_TRANSPARENT(ST_CSET_MENU(MR_STYLE(mr))))
++		if (MR_IS_TRANSPARENT_MENU(mr))
+ 		{
+ 			transparent_bg = True;
+ 			get_menu_repaint_transparent_parameters(
+ 				&mrtp, mr, fw);
++			if (MR_IS_TRANSLUCENT_MENU(mr) && MR_SUBMENU_ITEM(mr))
++			{
++				MenuRoot *smr;
++				smr = seek_submenu_instance(
++					mr, MR_SUBMENU_ITEM(mr));
++				if (smr)
++				{
++					/* just unmap it here, popdown later */
++					XUnmapWindow(dpy, MR_WINDOW(smr));
++				}
++			}
+ 		}
+ 		AnimatedMoveOfWindow(
+ 			MR_WINDOW(mr), act_x, act_y, act_x - MR_XANIMATION(mr),
+@@ -1912,6 +1937,7 @@ static void make_menu_window(MenuRoot *mr, Bool is_tear_off)
+ 				/* Doh.  Use the standard display instead. */
+ 				MR_CREATE_DPY(mr) = dpy;
+ 			}
++			MR_IS_TEAR_OFF_MENU(mr) = 1;
+ 		}
+ 		else
+ 		{
+@@ -2716,7 +2742,37 @@ static void paint_menu(
+ 	}
+ 	MR_IS_PAINTED(mr) = 1;
+ 	/* paint the menu background */
+-	if (ms && ST_HAS_MENU_CSET(ms))
++	if (MR_IS_TRANSLUCENT_MENU(mr))
++	{
++		Pixmap trans = None;
++		FvwmRenderAttributes fra;
++		colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)];
++	
++		fra.mask = 0;
++		if (colorset->translucent_tint_percent > 0)
++		{
++			fra.mask = FRAM_HAVE_TINT;
++			fra.tint = colorset->translucent_tint;
++			fra.tint_percent = colorset->translucent_tint_percent;
++		}
++		if (MR_IS_BACKGROUND_SET(mr) == False)
++		{
++			trans = PGraphicsCreateTranslucent(
++				dpy, MR_WINDOW(mr), &fra,
++				BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
++				MR_X(mr), MR_Y(mr), MR_WIDTH(mr), MR_HEIGHT(mr));
++			XMapRaised(dpy, MR_WINDOW(mr));
++			if (trans != None)
++			{
++				XSetWindowBackgroundPixmap(
++					dpy, MR_WINDOW(mr), trans);
++				MR_IS_BACKGROUND_SET(mr) = True;
++				clear_expose_menu_area(MR_WINDOW(mr), pevent);
++				XFreePixmap(dpy, trans);
++			}
++		}
++	}
++	else if (ms && ST_HAS_MENU_CSET(ms))
+ 	{
+ 		if (MR_IS_BACKGROUND_SET(mr) == False)
+ 		{
+@@ -3525,10 +3581,7 @@ static int pop_menu_up(
+ 					MR_HAS_POPPED_UP_RIGHT(mr) = 0;
+ 				}
+ 				MR_XANIMATION(parent_menu) += end_x - prev_x;
+-				if (ST_HAS_MENU_CSET(MR_STYLE(parent_menu)) &&
+-				    CSET_IS_TRANSPARENT(
+-					    ST_CSET_MENU(
+-						    MR_STYLE(parent_menu))))
++				if (MR_IS_TRANSPARENT_MENU(parent_menu))
+ 				{
+ 					transparent_bg = True;
+ 					get_menu_repaint_transparent_parameters(
+@@ -3707,10 +3760,21 @@ static int pop_menu_up(
+ 	 */
+ 
+ 	XMoveWindow(dpy, MR_WINDOW(mr), x, y);
++	MR_X(mr) = x;
++	MR_Y(mr) = y;
+ 	XSelectInput(dpy, MR_WINDOW(mr), event_mask);
+-	XMapRaised(dpy, MR_WINDOW(mr));
+-	if (popdown_window)
+-		XUnmapWindow(dpy, popdown_window);
++	if (MR_IS_TRANSLUCENT_MENU(mr))
++	{
++		if (popdown_window)
++			XUnmapWindow(dpy, popdown_window);
++		paint_menu(mr, NULL, fw);
++	}
++	else
++	{
++		XMapRaised(dpy, MR_WINDOW(mr));
++		if (popdown_window)
++			XUnmapWindow(dpy, popdown_window);
++	}
+ 	XFlush(dpy);
+ 	MR_MAPPED_COPIES(mr)++;
+ 	MST_USAGE_COUNT(mr)++;
+@@ -6274,16 +6338,122 @@ void update_transparent_menu_bg(
+ 	{
+ 		last = True;
+ 	}
+-	if (!last && CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)))
++	if (!last &&
++	    (CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)) ||
++	     MR_IS_TRANSLUCENT_MENU(mr)))
+ 	{
+ 		/* too slow ... */
+ 		return;
+ 	}
+-	SetWindowBackgroundWithOffset(
+-		dpy, MR_WINDOW(mr), step_x - current_x, step_y - current_y,
+-		MR_WIDTH(mr), MR_HEIGHT(mr),
+-		&Colorset[ST_CSET_MENU(ms)], Pdepth,
+-		FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
++	if (MR_IS_TRANSLUCENT_MENU(mr))
++	{
++		Pixmap trans, tmp;
++		FvwmRenderAttributes fra;
++		colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)];
++
++		fra.mask = 0;
++		if (colorset->translucent_tint_percent > 0)
++		{
++			fra.mask = FRAM_HAVE_TINT;
++			fra.tint = colorset->translucent_tint;
++			fra.tint_percent = colorset->translucent_tint_percent;
++		}
++		if (current_x == step_x) 
++		{
++			/* Reuse the old pixmap for the part of the menu 
++			 * that has not moved. (This can be extended to get
++			 * two new rectangles, one in each direction)
++			 * 
++			 * It saves the unmapping of the window and makes 
++			 * Things less flickering.
++			 */
++			GC my_gc;
++			unsigned long valuemask = GCSubwindowMode;
++			XGCValues values;
++			int out_y=0;
++			values.subwindow_mode = IncludeInferiors;
++			if (step_y < 0)
++			{
++				out_y = -step_y;
++			}
++			trans = XCreatePixmap(dpy, MR_WINDOW(mr), MR_WIDTH(mr),
++					      MR_HEIGHT(mr), Pdepth);
++			my_gc = fvwmlib_XCreateGC(dpy,  MR_WINDOW(mr), 0, NULL);
++			XChangeGC(dpy, my_gc, valuemask, &values);
++
++			XClearWindow(dpy, MR_WINDOW(mr));
++
++			if (current_y < step_y)
++			{
++				XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0, 
++					  step_y-current_y, MR_WIDTH(mr), 
++					  MR_HEIGHT(mr)-(step_y-current_y),
++					  0,0);
++				tmp = PGraphicsCreateTranslucent(
++					dpy, MR_WINDOW(mr), &fra,
++					BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
++					current_x, current_y+MR_HEIGHT(mr), 
++					MR_WIDTH(mr), step_y-current_y);
++
++				XCopyArea(dpy, tmp, trans, my_gc, 0, 0,
++					  MR_WIDTH(mr), step_y-current_y,0,
++					  MR_HEIGHT(mr)-(step_y-current_y));
++			}
++			else 
++			{
++				XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0, 
++					  0, MR_WIDTH(mr), 
++					  MR_HEIGHT(mr)-(current_y-step_y), 0,
++					  current_y-step_y);
++				tmp = PGraphicsCreateTranslucent(
++					dpy, MR_WINDOW(mr), &fra,
++					BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
++					current_x,step_y, MR_WIDTH(mr),
++					current_y-step_y);
++				XCopyArea(dpy, tmp, trans, my_gc, 0, 0,
++					  MR_WIDTH(mr), current_y-step_y,0,
++					  out_y);
++			}
++			MR_X(mr) = step_x;
++			MR_Y(mr) = step_y;
++			XFreePixmap(dpy, tmp);
++			XFreeGC(dpy,my_gc);
++		}		
++		else
++		{
++			XUnmapWindow(dpy, MR_WINDOW(mr));
++			MR_X(mr) = step_x;
++			MR_Y(mr) = step_y;
++			trans = PGraphicsCreateTranslucent(
++				dpy, MR_WINDOW(mr), &fra,
++				BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
++				step_x, step_y, MR_WIDTH(mr), 
++				MR_HEIGHT(mr));
++			XMapRaised(dpy, MR_WINDOW(mr));
++		}
++		XSetWindowBackgroundPixmap(
++			dpy, MR_WINDOW(mr), trans);
++		XFreePixmap(dpy, trans);
++		if (current_x == step_x)
++		{
++			/* Redraw the border */
++			RelieveRectangle(
++				dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1,
++				MR_HEIGHT(mr) - 1, (Pdepth < 2) ?
++				SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) :
++				HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)),
++				SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)), 
++				MST_BORDER_WIDTH(mr));
++		}
++	}
++	else
++	{
++		SetWindowBackgroundWithOffset(
++			dpy, MR_WINDOW(mr), step_x - current_x,
++			step_y - current_y, MR_WIDTH(mr), MR_HEIGHT(mr),
++			&Colorset[ST_CSET_MENU(ms)], Pdepth,
++			FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
++	}
+ }
+ 
+ 
+@@ -6324,10 +6494,7 @@ void repaint_transparent_menu(
+ 	}
+ 	if (!is_bg_set)
+ 	{
+-		SetWindowBackground(
+-			dpy, MR_WINDOW(mr), MR_WIDTH(mr), MR_HEIGHT(mr),
+-			&Colorset[ST_CSET_MENU(ms)], Pdepth,
+-			FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
++		update_transparent_menu_bg(prtm, x, y, x, y, end_x, end_y);
+ 	}
+ 	/* redraw the background of non active item */
+ 	for (mi = MR_FIRST_ITEM(mr); mi != NULL; mi = MI_NEXT_ITEM(mi))
+@@ -6951,10 +7118,12 @@ void UpdateMenuColorset(int cset)
+ 				SetWindowBackground(
+ 					dpy, MR_WINDOW(mr), MR_WIDTH(mr),
+ 					MR_HEIGHT(mr),
+-					&Colorset[ST_CSET_MENU(ms)],
+-					Pdepth,
++					&Colorset[ST_CSET_MENU(ms)], Pdepth,
+ 					FORE_GC(MST_MENU_INACTIVE_GCS(mr)),
+-					True);
++					False);
++				XClearArea(
++					dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr),
++					MR_HEIGHT(mr), True);
+ 			}
+ 			else if ((ST_HAS_ACTIVE_CSET(ms) &&
+ 				  ST_CSET_ACTIVE(ms) == cset) ||
+diff --git i/fvwm/menus.h w/fvwm/menus.h
+index 28e9db3..6b620b2 100644
+--- i/fvwm/menus.h
++++ w/fvwm/menus.h
+@@ -15,6 +15,9 @@
+ #define IS_MENU_RETURN(x) \
+   ((x)==MENU_DONE || (x)==MENU_ABORTED || (x)==MENU_SUBMENU_TORN_OFF)
+ 
++#define MR_X(m)                     ((m)->d->x)
++#define MR_Y(m)                     ((m)->d->y)
++
+ struct MenuRoot;
+ struct MenuStyle;
+ struct MenuReturn;
+diff --git i/libs/Colorset.h w/libs/Colorset.h
+index d610b52..6c1892e 100644
+--- i/libs/Colorset.h
++++ w/libs/Colorset.h
+@@ -51,6 +51,10 @@ typedef struct
+ 	Bool dither;
+ 	Bool allows_buffered_transparency;
+ 	Bool is_maybe_root_transparent;
++	/* only use by fvwm menu (non tear-off) */
++	Bool is_translucent;
++	Pixel translucent_tint;
++	unsigned int translucent_tint_percent : 7;
+ #endif
+ } colorset_t;
+ 
+@@ -78,6 +82,7 @@ typedef struct
+ #define FG_TINT_SUPPLIED  0x100
+ #define BG_TINT_SUPPLIED  0x200
+ #define ICON_TINT_SUPPLIED 0x400
++#define TRANSLUCENT_TINT_SUPPLIED 0x800
+ #endif
+ 
+ /* colorsets are stored as an array of structs to permit fast dereferencing */
+@@ -153,6 +158,11 @@ extern colorset_t *Colorset;
+     (cset != NULL && cset->pixmap == ParentRelative && \
+      cset->tint_percent > 0)
+ 
++#define CSET_IS_TRANSLUCENT(cset) \
++    (cset >= 0 && Colorset[cset].is_translucent)
++#define CSETS_IS_TRANSLUCENT(cset) \
++    (cset && cset->is_translucent)
++
+ #ifndef FVWM_COLORSET_PRIVATE
+ /* Create n new colorsets, fvwm/colorset.c does its own thing (different size)
+  */
+diff --git i/libs/PictureGraphics.c w/libs/PictureGraphics.c
+index f861726..a2fdbea 100644
+--- i/libs/PictureGraphics.c
++++ w/libs/PictureGraphics.c
+@@ -1360,7 +1360,7 @@ void PGraphicsTintRectangle(
+ 	}
+ }
+ 
+-#if 0 /* humm... maybe useful one day with menus */
++#if 1 /* humm... maybe useful one day with menus */
+ Pixmap PGraphicsCreateTranslucent(
+ 	Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc,
+ 	int x, int y, int width, int height)
+diff --git i/libs/PictureGraphics.h w/libs/PictureGraphics.h
+index ec75601..5e0001d 100644
+--- i/libs/PictureGraphics.h
++++ w/libs/PictureGraphics.h
+@@ -122,7 +122,9 @@ void PGraphicsTintRectangle(
+ 	Display *dpy, Window win, Pixel tint, int tint_percent,
+ 	Drawable dest, Bool dest_is_a_window, GC gc, GC mono_gc, GC alpha_gc,
+ 	int dest_x, int dest_y, int dest_w, int dest_h);
+-
++Pixmap PGraphicsCreateTranslucent(
++	Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc,
++	int x, int y, int width, int height);
+ /* never used ! */
+ Pixmap PGraphicsCreateDitherPixmap(
+ 	Display *dpy, Window win, Drawable src, Pixmap mask, int depth, GC gc,

diff --git a/x11-wm/fvwm/fvwm-2.7.0-r5.ebuild b/x11-wm/fvwm/fvwm-2.7.0-r5.ebuild
new file mode 100644
index 000000000000..56c10d559740
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.7.0-r5.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic python-single-r1 desktop
+
+DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
+HOMEPAGE="https://www.fvwm.org/"
+SRC_URI="https://github.com/fvwmorg/fvwm/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+ FVWM"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="bidi debug doc netpbm nls perl png readline stroke svg tk truetype +vanilla xinerama lock"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+	sys-libs/zlib
+	x11-libs/libICE
+	x11-libs/libSM
+	x11-libs/libX11
+	x11-libs/libXau
+	x11-libs/libxcb
+	x11-libs/libXcursor
+	x11-libs/libXdmcp
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXpm
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	virtual/libiconv
+	$(python_gen_cond_dep '
+		dev-python/pyxdg[${PYTHON_USEDEP}]
+	')
+	bidi? ( dev-libs/fribidi )
+	nls? ( virtual/libintl )
+	png? ( media-libs/libpng:0= )
+	readline? (
+		sys-libs/ncurses:0=
+		sys-libs/readline:0=
+	)
+	stroke? ( dev-libs/libstroke )
+	svg? ( gnome-base/librsvg )
+	truetype? (
+		media-libs/fontconfig
+		x11-libs/libXft
+	)
+	xinerama? ( x11-libs/libXinerama )
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	${PYTHON_DEPS}
+	dev-lang/perl
+	perl? ( tk? (
+			dev-lang/tk
+			dev-perl/Tk
+			>=dev-perl/X11-Protocol-0.56
+		)
+	)
+	lock? ( x11-misc/xlockmore )
+	netpbm? ( media-libs/netpbm )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	x11-base/xorg-proto
+"
+BDEPEND="
+	dev-lang/perl
+	dev-libs/libxslt
+	virtual/pkgconfig
+"
+
+src_prepare() {
+	if ! use vanilla; then
+		# Enables fast translucent menus; patch from fvwm-user mailing list.
+		eapply "${FILESDIR}/${PN}-2.7.0-translucent-menus.diff"
+	fi
+
+	eapply "${FILESDIR}"/fvwm-2.7.0-ar.patch # bug #474528
+	eapply "${FILESDIR}"/fvwm-2.7.0-c99.patch
+	eapply "${FILESDIR}"/fvwm-2.7.0-fix-docdir.patch
+
+	default
+
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		--libexecdir="${EPREFIX}"/usr/$(get_libdir)
+		--with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
+		--enable-iconv
+		--enable-package-subdirs
+		--enable-mandoc
+		--without-rplay-library
+		$(use_enable bidi)
+		$(use_enable debug debug-msgs)
+		$(use_enable debug command-log)
+		$(use_enable doc htmldoc)
+		$(use_enable nls)
+		$(use_enable perl perllib)
+		$(use_enable png)
+		$(use_with readline readline-library)
+		$(use_with stroke stroke-library)
+		$(use_enable svg rsvg)
+		$(use_enable truetype xft)
+		$(use_enable xinerama)
+	)
+
+	# Non-upstream email where bugs should be sent; used in fvwm-bug.
+	export FVWM_BUGADDR="maintainer-needed@gentoo.org"
+
+	# Recommended by upstream, reference ????
+	append-flags -fno-strict-aliasing
+
+	# bug #864959
+	filter-lto
+
+	# Signed chars are required.
+	use ppc && append-flags -fsigned-char
+
+	use readline && myeconfargs+=( --without-termcap-library )
+
+	export ac_cv_path_PYTHON="${PYTHON}"
+
+	econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	default
+	make_session_desktop fvwm /usr/bin/fvwm
+
+	if ! use lock; then
+		find "${ED}" -name '*fvwm-menu-xlock' -delete || die
+	fi
+
+	if use perl; then
+		if ! use tk; then
+			rm "${ED}"/usr/share/fvwm/perllib/FVWM/Module/Tk.pm || die
+			rm "${ED}"/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm || die
+			find "${ED}"/usr/share/fvwm/perllib -depth -type d -exec rmdir '{}' \; || die
+		fi
+	else
+		# Completely wipe it if ! use perl
+		rm -r "${ED}"/usr/bin/fvwm-perllib "${ED}"/usr/share/man/man1/fvwm-perllib.1 || die
+	fi
+
+	# Utility for testing FVWM behaviour by creating a simple window with
+	# configurable hints.
+	if use debug; then
+		dobin tests/hints/hints_test
+		newdoc tests/hints/README README.hints
+	fi
+
+	exeinto /etc/X11/Sessions
+	newexe - ${PN} <<-EOF
+	#!/bin/sh
+	${PN}
+	EOF
+
+	dodoc docs/{COMMANDS,DEVELOPERS.md}
+
+	# README file for translucent menus patch.
+	if ! use vanilla; then
+		dodoc "${FILESDIR}"/README.translucency
+		ewarn "You are using a patched build, so, please, don't"
+		ewarn "report bugs at the fvwm-workers list unless you are"
+		ewarn "also able to reproduce them with a vanilla build (USE=vanilla)."
+	fi
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: x11-wm/fvwm/, x11-wm/fvwm/files/
@ 2024-09-21 12:18 Petr Vaněk
  0 siblings, 0 replies; 5+ messages in thread
From: Petr Vaněk @ 2024-09-21 12:18 UTC (permalink / raw
  To: gentoo-commits

commit:     53b8336c5e90956990eca84278b3619d6793e32c
Author:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 21 12:14:10 2024 +0000
Commit:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Sat Sep 21 12:14:10 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53b8336c

x11-wm/fvwm: drop 2.6.9

Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>

 x11-wm/fvwm/Manifest                               |   1 -
 .../fvwm/files/fvwm-2.5.27-translucent-menus.diff  | 528 ---------------------
 x11-wm/fvwm/files/fvwm-2.6.5-ar.patch              |  35 --
 x11-wm/fvwm/files/fvwm-2.6.5-mouse-buttons.patch   |  11 -
 x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch         |  15 -
 x11-wm/fvwm/fvwm-2.6.9.ebuild                      | 156 ------
 6 files changed, 746 deletions(-)

diff --git a/x11-wm/fvwm/Manifest b/x11-wm/fvwm/Manifest
index 2127ffe67fa4..53a96bc2ff82 100644
--- a/x11-wm/fvwm/Manifest
+++ b/x11-wm/fvwm/Manifest
@@ -1,2 +1 @@
-DIST fvwm-2.6.9.tar.gz 3942859 BLAKE2B 8faf2d420d96049ab0528a6c6a5dc6ed8ee9449f8e533b9ad9bb526faea86030684fc0aa8ed0d307cb64575457676611298adf582b1249c37a3db35a72b43bf1 SHA512 a9c2214ad19edd17da81446a6d4250284cc50b59b53c233212f2a9354c01143dbb870521392752f272f00af50bee2dd8f0b6bf6176b0d4b3075694d2a61a623e
 DIST fvwm-2.7.0.tar.gz 3933529 BLAKE2B b4be7083c2946cb2a0c48673271d490a49aba5aec8407169bedc5a35f55fe8cd2724a9f6570c5e7ea110652c04956570c874256f96fa5d920a2a1ede152c0c25 SHA512 fc9076c3f07f36b0b2c7c4d2bdf7bb1a711000e39316e327173548bc99dc2b8a29b591e3644e1492f87603b576cd4a3f58ecbdd84a4384d294417b3c56c81808

diff --git a/x11-wm/fvwm/files/fvwm-2.5.27-translucent-menus.diff b/x11-wm/fvwm/files/fvwm-2.5.27-translucent-menus.diff
deleted file mode 100644
index 1c49f69007d0..000000000000
--- a/x11-wm/fvwm/files/fvwm-2.5.27-translucent-menus.diff
+++ /dev/null
@@ -1,528 +0,0 @@
-Index: fvwm/colorset.c
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/fvwm/colorset.c,v
-retrieving revision 1.52
-diff -u -r1.52 colorset.c
---- fvwm/colorset.c	27 Jan 2007 11:33:15 -0000	1.52
-+++ fvwm/colorset.c	5 Feb 2007 19:15:51 -0000
-@@ -164,6 +164,8 @@
- 	"NoIconTint",
- 	"IconAlpha",
- 
-+	"Translucent",
-+	"NoTranslucent",
- 	NULL
- };
- 
-@@ -625,6 +627,7 @@
- 	char *fg_tint = NULL;
- 	char *bg_tint = NULL;
- 	char *icon_tint = NULL;
-+	char *translucent_tint = NULL;
- 	Bool have_pixels_changed = False;
- 	Bool has_icon_pixels_changed = False;
- 	Bool has_fg_changed = False;
-@@ -637,6 +640,7 @@
- 	Bool has_fg_tint_changed = False;
- 	Bool has_bg_tint_changed = False;
- 	Bool has_icon_tint_changed = False;
-+	Bool has_translucent_tint_changed = False;
- 	Bool has_pixmap_changed = False;
- 	Bool has_shape_changed = False;
- 	Bool has_image_alpha_changed = False;
-@@ -763,6 +767,10 @@
- 		case 21: /* Plain */
- 			has_pixmap_changed = True;
- 			free_colorset_background(cs, True);
-+			cs->is_translucent = False;
-+			cs->translucent_tint_percent = 0;
-+			cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED;
-+			has_translucent_tint_changed = True;
- 			break;
- 		case 22: /* NoShape */
- 			has_shape_changed = True;
-@@ -929,6 +937,24 @@
- 				cs->icon_alpha_percent = tmp;
- 			}
- 			break;
-+		case 42: /* Translucent */
-+			cs->is_translucent = True;
-+			parse_simple_tint(
-+				cs, args, &translucent_tint,
-+				TRANSLUCENT_TINT_SUPPLIED,
-+				&has_translucent_tint_changed, &percent,
-+				"Translucent");
-+			if (has_translucent_tint_changed)
-+			{
-+				cs->translucent_tint_percent = percent;
-+			}
-+			break;
-+		case 43: /* NoTranslucent */
-+			cs->is_translucent = False;
-+			cs->translucent_tint_percent = 0;
-+			cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED;
-+			has_translucent_tint_changed = True;
-+			break;
- 		default:
- 			/* test for ?Gradient */
- 			if (option[0] && StrEquals(&option[1], "Gradient"))
-@@ -1615,6 +1641,27 @@
- 	}
- 
- 	/*
-+	 * ---------- change the translucent tint colour ----------
-+	 */
-+	if (has_translucent_tint_changed)
-+	{
-+		/* user specified colour */
-+		if (translucent_tint != NULL)
-+		{
-+			PictureFreeColors(
-+				dpy, Pcmap, &cs->translucent_tint, 1, 0, True);
-+			cs->translucent_tint = GetColor(translucent_tint);
-+		}
-+		else
-+		{
-+			/* default */
-+			PictureFreeColors(
-+				dpy, Pcmap, &cs->translucent_tint, 1, 0, True);
-+			cs->translucent_tint = GetColor(black);
-+		}
-+	}
-+
-+	/*
- 	 * ---------- send new colorset to fvwm and clean up ----------
- 	 */
- 	/* make sure the server has this to avoid races */
-@@ -1710,6 +1757,7 @@
- 			ncs->fgsh = GetColor(white);
- 			ncs->tint = GetColor(black);
- 			ncs->icon_tint = GetColor(black);
-+			ncs->translucent_tint = GetColor(black);
- 			ncs->pixmap = XCreatePixmapFromBitmapData(
- 				dpy, Scr.NoFocusWin,
- 				&g_bits[4 * (nColorsets % 3)], 4, 4,
-@@ -1727,6 +1775,7 @@
- 			ncs->fgsh = GetForeShadow(ncs->fg, ncs->bg);
- 			ncs->tint = GetColor(black);
- 			ncs->icon_tint = GetColor(black);
-+			ncs->translucent_tint = GetColor(black);
- 		}
- 		ncs->fg_tint = ncs->bg_tint = GetColor(black);
- 		/* set flags for fg contrast, bg average */
-@@ -1738,6 +1787,7 @@
- 		ncs->icon_alpha_percent = 100;
- 		ncs->tint_percent = 0;
- 		ncs->icon_tint_percent = 0;
-+		ncs->translucent_tint_percent = 0;
- 		ncs->fg_tint_percent = ncs->bg_tint_percent = 0;
- 		ncs->dither = (PictureDitherByDefault())? True:False;
- 		nColorsets++;
-Index: fvwm/menuroot.h
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/fvwm/menuroot.h,v
-retrieving revision 1.3
-diff -u -r1.3 menuroot.h
---- fvwm/menuroot.h	13 Jan 2007 15:07:14 -0000	1.3
-+++ fvwm/menuroot.h	5 Feb 2007 19:17:37 -0000
-@@ -146,6 +146,9 @@
- 		int d_npixels;
- 	} stored_pixels;
- 	/* alloc pixels when dithering is used for gradients */
-+	/* x,y XMapRaise */
-+	int x;
-+	int y;
- } MenuRootDynamic;
- 
- /* access macros to dynamic menu members */
-Index: fvwm/menus.c
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/fvwm/menus.c,v
-retrieving revision 1.409
-diff -u -r1.409 menus.c
---- fvwm/menus.c	27 Jan 2007 11:51:15 -0000	1.409
-+++ fvwm/menus.c	5 Feb 2007 19:17:50 -0000
-@@ -75,6 +75,19 @@
- 
- /* ---------------------------- local macros ------------------------------- */
- 
-+#define MENU_IS_TRANSLUCENT(mr,cs) \
-+	(!MR_IS_TEAR_OFF_MENU(mr) && CSET_IS_TRANSLUCENT(cs))
-+#define MENU_IS_TRANSPARENT(mr,cs) \
-+	(MENU_IS_TRANSLUCENT(mr,cs) || CSET_IS_TRANSPARENT(cs))
-+#define MR_IS_TRANSLUCENT_MENU(mr)  \
-+	(!MR_IS_TEAR_OFF_MENU(mr) && MR_STYLE(mr) && \
-+	ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSLUCENT( \
-+						ST_CSET_MENU(MR_STYLE(mr))))
-+#define MR_IS_TRANSPARENT_MENU(mr) \
-+	(MR_IS_TRANSLUCENT_MENU(mr) || (MR_STYLE(mr) && \
-+	ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSPARENT( \
-+						ST_CSET_MENU(MR_STYLE(mr)))))
-+
- /* ---------------------------- imports ------------------------------------ */
- 
- /* This external is safe. It's written only during startup. */
-@@ -188,6 +201,8 @@
- } mloop_static_info_t;
- 
- /* ---------------------------- forward declarations ----------------------- */
-+static MenuRoot *seek_submenu_instance(
-+	MenuRoot *parent_menu, MenuItem *parent_item);
- 
- /* ---------------------------- local variables ---------------------------- */
- 
-@@ -353,12 +368,22 @@
- 		Bool transparent_bg = False;
- 
- 		/* move it back */
--		if (ST_HAS_MENU_CSET(MR_STYLE(mr)) &&
--		    CSET_IS_TRANSPARENT(ST_CSET_MENU(MR_STYLE(mr))))
-+		if (MR_IS_TRANSPARENT_MENU(mr))
- 		{
- 			transparent_bg = True;
- 			get_menu_repaint_transparent_parameters(
- 				&mrtp, mr, fw);
-+			if (MR_IS_TRANSLUCENT_MENU(mr) && MR_SUBMENU_ITEM(mr))
-+			{
-+				MenuRoot *smr;
-+				smr = seek_submenu_instance(
-+					mr, MR_SUBMENU_ITEM(mr));
-+				if (smr)
-+				{
-+					/* just unmap it here, popdown later */
-+					XUnmapWindow(dpy, MR_WINDOW(smr));
-+				}
-+			}
- 		}
- 		AnimatedMoveOfWindow(
- 			MR_WINDOW(mr), act_x, act_y, act_x - MR_XANIMATION(mr),
-@@ -1779,6 +1804,7 @@
- 				/* Doh.  Use the standard display instead. */
- 				MR_CREATE_DPY(mr) = dpy;
- 			}
-+			MR_IS_TEAR_OFF_MENU(mr) = 1;
- 		}
- 		else
- 		{
-@@ -2594,7 +2620,37 @@
- 	}
- 	MR_IS_PAINTED(mr) = 1;
- 	/* paint the menu background */
--	if (ms && ST_HAS_MENU_CSET(ms))
-+	if (MR_IS_TRANSLUCENT_MENU(mr))
-+	{
-+		Pixmap trans = None;
-+		FvwmRenderAttributes fra;
-+		colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)];
-+	
-+		fra.mask = 0;
-+		if (colorset->translucent_tint_percent > 0)
-+		{
-+			fra.mask = FRAM_HAVE_TINT;
-+			fra.tint = colorset->translucent_tint;
-+			fra.tint_percent = colorset->translucent_tint_percent;
-+		}
-+		if (MR_IS_BACKGROUND_SET(mr) == False)
-+		{
-+			trans = PGraphicsCreateTranslucent(
-+				dpy, MR_WINDOW(mr), &fra,
-+				BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
-+				MR_X(mr), MR_Y(mr), MR_WIDTH(mr), MR_HEIGHT(mr));
-+			XMapRaised(dpy, MR_WINDOW(mr));
-+			if (trans != None)
-+			{
-+				XSetWindowBackgroundPixmap(
-+					dpy, MR_WINDOW(mr), trans);
-+				MR_IS_BACKGROUND_SET(mr) = True;
-+				clear_expose_menu_area(MR_WINDOW(mr), pevent);
-+				XFreePixmap(dpy, trans);
-+			}
-+		}
-+	}
-+	else if (ms && ST_HAS_MENU_CSET(ms))
- 	{
- 		if (MR_IS_BACKGROUND_SET(mr) == False)
- 		{
-@@ -3401,10 +3457,7 @@
- 					MR_HAS_POPPED_UP_RIGHT(mr) = 0;
- 				}
- 				MR_XANIMATION(parent_menu) += end_x - prev_x;
--				if (ST_HAS_MENU_CSET(MR_STYLE(parent_menu)) &&
--				    CSET_IS_TRANSPARENT(
--					    ST_CSET_MENU(
--						    MR_STYLE(parent_menu))))
-+				if (MR_IS_TRANSPARENT_MENU(parent_menu))
- 				{
- 					transparent_bg = True;
- 					get_menu_repaint_transparent_parameters(
-@@ -3583,10 +3636,21 @@
- 	 */
- 
- 	XMoveWindow(dpy, MR_WINDOW(mr), x, y);
-+	MR_X(mr) = x;
-+	MR_Y(mr) = y;
- 	XSelectInput(dpy, MR_WINDOW(mr), event_mask);
--	XMapRaised(dpy, MR_WINDOW(mr));
--	if (popdown_window)
--		XUnmapWindow(dpy, popdown_window);
-+	if (MR_IS_TRANSLUCENT_MENU(mr))
-+	{
-+		if (popdown_window)
-+			XUnmapWindow(dpy, popdown_window);
-+		paint_menu(mr, NULL, fw);
-+	}
-+	else
-+	{
-+		XMapRaised(dpy, MR_WINDOW(mr));
-+		if (popdown_window)
-+			XUnmapWindow(dpy, popdown_window);
-+	}
- 	XFlush(dpy);
- 	MR_MAPPED_COPIES(mr)++;
- 	MST_USAGE_COUNT(mr)++;
-@@ -6123,16 +6187,122 @@
- 	{
- 		last = True;
- 	}
--	if (!last && CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)))
-+	if (!last &&
-+	    (CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)) ||
-+	     MR_IS_TRANSLUCENT_MENU(mr)))
- 	{
- 		/* too slow ... */
- 		return;
- 	}
--	SetWindowBackgroundWithOffset(
--		dpy, MR_WINDOW(mr), step_x - current_x, step_y - current_y,
--		MR_WIDTH(mr), MR_HEIGHT(mr),
--		&Colorset[ST_CSET_MENU(ms)], Pdepth,
--		FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
-+	if (MR_IS_TRANSLUCENT_MENU(mr))
-+	{
-+		Pixmap trans, tmp;
-+		FvwmRenderAttributes fra;
-+		colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)];
-+
-+		fra.mask = 0;
-+		if (colorset->translucent_tint_percent > 0)
-+		{
-+			fra.mask = FRAM_HAVE_TINT;
-+			fra.tint = colorset->translucent_tint;
-+			fra.tint_percent = colorset->translucent_tint_percent;
-+		}
-+		if (current_x == step_x) 
-+		{
-+			/* Reuse the old pixmap for the part of the menu 
-+			 * that has not moved. (This can be extended to get
-+			 * two new rectangles, one in each direction)
-+			 * 
-+			 * It saves the unmapping of the window and makes 
-+			 * Things less flickering.
-+			 */
-+			GC my_gc;
-+			unsigned long valuemask = GCSubwindowMode;
-+			XGCValues values;
-+			int out_y=0;
-+			values.subwindow_mode = IncludeInferiors;
-+			if (step_y < 0)
-+			{
-+				out_y = -step_y;
-+			}
-+			trans = XCreatePixmap(dpy, MR_WINDOW(mr), MR_WIDTH(mr),
-+					      MR_HEIGHT(mr), Pdepth);
-+			my_gc = fvwmlib_XCreateGC(dpy,  MR_WINDOW(mr), 0, NULL);
-+			XChangeGC(dpy, my_gc, valuemask, &values);
-+
-+			XClearWindow(dpy, MR_WINDOW(mr));
-+
-+			if (current_y < step_y)
-+			{
-+				XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0, 
-+					  step_y-current_y, MR_WIDTH(mr), 
-+					  MR_HEIGHT(mr)-(step_y-current_y),
-+					  0,0);
-+				tmp = PGraphicsCreateTranslucent(
-+					dpy, MR_WINDOW(mr), &fra,
-+					BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
-+					current_x, current_y+MR_HEIGHT(mr), 
-+					MR_WIDTH(mr), step_y-current_y);
-+
-+				XCopyArea(dpy, tmp, trans, my_gc, 0, 0,
-+					  MR_WIDTH(mr), step_y-current_y,0,
-+					  MR_HEIGHT(mr)-(step_y-current_y));
-+			}
-+			else 
-+			{
-+				XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0, 
-+					  0, MR_WIDTH(mr), 
-+					  MR_HEIGHT(mr)-(current_y-step_y), 0,
-+					  current_y-step_y);
-+				tmp = PGraphicsCreateTranslucent(
-+					dpy, MR_WINDOW(mr), &fra,
-+					BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
-+					current_x,step_y, MR_WIDTH(mr),
-+					current_y-step_y);
-+				XCopyArea(dpy, tmp, trans, my_gc, 0, 0,
-+					  MR_WIDTH(mr), current_y-step_y,0,
-+					  out_y);
-+			}
-+			MR_X(mr) = step_x;
-+			MR_Y(mr) = step_y;
-+			XFreePixmap(dpy, tmp);
-+			XFreeGC(dpy,my_gc);
-+		}		
-+		else
-+		{
-+			XUnmapWindow(dpy, MR_WINDOW(mr));
-+			MR_X(mr) = step_x;
-+			MR_Y(mr) = step_y;
-+			trans = PGraphicsCreateTranslucent(
-+				dpy, MR_WINDOW(mr), &fra,
-+				BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
-+				step_x, step_y, MR_WIDTH(mr), 
-+				MR_HEIGHT(mr));
-+			XMapRaised(dpy, MR_WINDOW(mr));
-+		}
-+		XSetWindowBackgroundPixmap(
-+			dpy, MR_WINDOW(mr), trans);
-+		XFreePixmap(dpy, trans);
-+		if (current_x == step_x)
-+		{
-+			/* Redraw the border */
-+			RelieveRectangle(
-+				dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1,
-+				MR_HEIGHT(mr) - 1, (Pdepth < 2) ?
-+				SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) :
-+				HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)),
-+				SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)), 
-+				MST_BORDER_WIDTH(mr));
-+		}
-+	}
-+	else
-+	{
-+		SetWindowBackgroundWithOffset(
-+			dpy, MR_WINDOW(mr), step_x - current_x,
-+			step_y - current_y, MR_WIDTH(mr), MR_HEIGHT(mr),
-+			&Colorset[ST_CSET_MENU(ms)], Pdepth,
-+			FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
-+	}
- }
- 
- 
-@@ -6173,10 +6343,7 @@
- 	}
- 	if (!is_bg_set)
- 	{
--		SetWindowBackground(
--			dpy, MR_WINDOW(mr), MR_WIDTH(mr), MR_HEIGHT(mr),
--			&Colorset[ST_CSET_MENU(ms)], Pdepth,
--			FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
-+		update_transparent_menu_bg(prtm, x, y, x, y, end_x, end_y);
- 	}
- 	/* redraw the background of non active item */
- 	for (mi = MR_FIRST_ITEM(mr); mi != NULL; mi = MI_NEXT_ITEM(mi))
-@@ -6813,10 +6980,12 @@
- 				SetWindowBackground(
- 					dpy, MR_WINDOW(mr), MR_WIDTH(mr),
- 					MR_HEIGHT(mr),
--					&Colorset[ST_CSET_MENU(ms)],
--					Pdepth,
-+					&Colorset[ST_CSET_MENU(ms)], Pdepth,
- 					FORE_GC(MST_MENU_INACTIVE_GCS(mr)),
--					True);
-+					False);
-+				XClearArea(
-+					dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr),
-+					MR_HEIGHT(mr), True);
- 			}
- 			else if ((ST_HAS_ACTIVE_CSET(ms) &&
- 				  ST_CSET_ACTIVE(ms) == cset) ||
-Index: fvwm/menus.h
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/fvwm/menus.h,v
-retrieving revision 1.111
-diff -u -r1.111 menus.h
---- fvwm/menus.h	27 Jan 2007 11:51:15 -0000	1.111
-+++ fvwm/menus.h	5 Feb 2007 19:17:50 -0000
-@@ -15,6 +15,9 @@
- #define IS_MENU_RETURN(x) \
-   ((x)==MENU_DONE || (x)==MENU_ABORTED || (x)==MENU_SUBMENU_TORN_OFF)
- 
-+#define MR_X(m)                     ((m)->d->x)
-+#define MR_Y(m)                     ((m)->d->y)
-+
- struct MenuRoot;
- struct MenuStyle;
- struct MenuReturn;
-Index: libs/Colorset.h
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/libs/Colorset.h,v
-retrieving revision 1.38
-diff -u -r1.38 Colorset.h
---- libs/Colorset.h	10 Jan 2007 00:34:27 -0000	1.38
-+++ libs/Colorset.h	5 Feb 2007 19:19:00 -0000
-@@ -51,6 +51,10 @@
- 	Bool dither;
- 	Bool allows_buffered_transparency;
- 	Bool is_maybe_root_transparent;
-+	/* only use by fvwm menu (non tear-off) */
-+	Bool is_translucent;
-+	Pixel translucent_tint;
-+	unsigned int translucent_tint_percent : 7;
- #endif
- } colorset_t;
- 
-@@ -78,6 +82,7 @@
- #define FG_TINT_SUPPLIED  0x100
- #define BG_TINT_SUPPLIED  0x200
- #define ICON_TINT_SUPPLIED 0x400
-+#define TRANSLUCENT_TINT_SUPPLIED 0x800
- #endif
- 
- /* colorsets are stored as an array of structs to permit fast dereferencing */
-@@ -153,6 +158,11 @@
-     (cset != NULL && cset->pixmap == ParentRelative && \
-      cset->tint_percent > 0)
- 
-+#define CSET_IS_TRANSLUCENT(cset) \
-+    (cset >= 0 && Colorset[cset].is_translucent)
-+#define CSETS_IS_TRANSLUCENT(cset) \
-+    (cset && cset->is_translucent)
-+
- #ifndef FVWM_COLORSET_PRIVATE
- /* Create n new colorsets, fvwm/colorset.c does its own thing (different size)
-  */
-Index: libs/PictureGraphics.c
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/libs/PictureGraphics.c,v
-retrieving revision 1.29
-diff -u -r1.29 PictureGraphics.c
---- libs/PictureGraphics.c	27 Jan 2007 11:33:16 -0000	1.29
-+++ libs/PictureGraphics.c	5 Feb 2007 19:19:49 -0000
-@@ -1340,7 +1340,7 @@
- 	}
- }
- 
--#if 0 /* humm... maybe useful one day with menus */
-+#if 1 /* humm... maybe useful one day with menus */
- Pixmap PGraphicsCreateTranslucent(
- 	Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc,
- 	int x, int y, int width, int height)
-Index: libs/PictureGraphics.h
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/libs/PictureGraphics.h,v
-retrieving revision 1.13
-diff -u -r1.13 PictureGraphics.h
---- libs/PictureGraphics.h	9 May 2006 20:46:29 -0000	1.13
-+++ libs/PictureGraphics.h	5 Feb 2007 19:19:49 -0000
-@@ -122,7 +122,9 @@
- 	Display *dpy, Window win, Pixel tint, int tint_percent,
- 	Drawable dest, Bool dest_is_a_window, GC gc, GC mono_gc, GC alpha_gc,
- 	int dest_x, int dest_y, int dest_w, int dest_h);
--
-+Pixmap PGraphicsCreateTranslucent(
-+	Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc,
-+	int x, int y, int width, int height);
- /* never used ! */
- Pixmap PGraphicsCreateDitherPixmap(
- 	Display *dpy, Window win, Drawable src, Pixmap mask, int depth, GC gc,

diff --git a/x11-wm/fvwm/files/fvwm-2.6.5-ar.patch b/x11-wm/fvwm/files/fvwm-2.6.5-ar.patch
deleted file mode 100644
index b1d62006967f..000000000000
--- a/x11-wm/fvwm/files/fvwm-2.6.5-ar.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- configure.ac	2012-04-20 12:58:29.000000000 +0200
-+++ configure_new.ac	2013-07-21 18:26:17.513904607 +0200
-@@ -209,6 +209,10 @@
- # optional libraries.
- AC_PROG_CC
- AC_PROG_CPP
-+AN_MAKEVAR([AR], [AC_PROG_AR])
-+AN_PROGRAM([ar], [AC_PROG_AR])
-+AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
-+AC_PROG_AR
- 
- # added -Wall for gcc, what about for others?
- if test "x$GCC" = "xyes"; then
---- libs/Makefile.in	2012-04-20 13:03:55.000000000 +0200
-+++ libs/Makefile_new.in	2013-07-21 18:27:17.443992505 +0200
-@@ -48,7 +48,7 @@
- CONFIG_CLEAN_FILES =
- CONFIG_CLEAN_VPATH_FILES =
- LIBRARIES = $(noinst_LIBRARIES)
--AR = ar
-+AR = @AR@
- ARFLAGS = cru
- libfvwm_a_AR = $(AR) $(ARFLAGS)
- libfvwm_a_DEPENDENCIES = @LIBOBJS@ @ALLOCA@
---- modules/FvwmScript/Widgets/Makefile.in	2012-04-20 13:03:56.000000000 +0200
-+++ modules/FvwmScript/Widgets/Makefile_new.in	2013-07-21 18:27:23.844001892 +0200
-@@ -46,7 +46,7 @@
- CONFIG_CLEAN_FILES =
- CONFIG_CLEAN_VPATH_FILES =
- LIBRARIES = $(noinst_LIBRARIES)
--AR = ar
-+AR = @AR@
- ARFLAGS = cru
- libWidgets_a_AR = $(AR) $(ARFLAGS)
- libWidgets_a_LIBADD =

diff --git a/x11-wm/fvwm/files/fvwm-2.6.5-mouse-buttons.patch b/x11-wm/fvwm/files/fvwm-2.6.5-mouse-buttons.patch
deleted file mode 100644
index 7eaa3e20b7c7..000000000000
--- a/x11-wm/fvwm/files/fvwm-2.6.5-mouse-buttons.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libs/defaults.h	2011-08-15 18:25:40.000000000 +0200
-+++ libs/defaults.h	2012-04-12 21:13:47.000000000 +0200
-@@ -25,7 +25,7 @@
- /* The "extended" buttons do not provide the full functionality because X has
-  * no bit mask value for them.  Things like dragging windows don't work with
-  * them. */
--#define NUMBER_OF_EXTENDED_MOUSE_BUTTONS   9
-+#define NUMBER_OF_EXTENDED_MOUSE_BUTTONS   15
- #if NUMBER_OF_EXTENDED_MOUSE_BUTTONS > 31
- #error No more than 31 mouse buttons can be supported on 32 bit platforms
- #endif

diff --git a/x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch b/x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch
deleted file mode 100644
index 5735fb1f89b7..000000000000
--- a/x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- modules/FvwmPerl/FvwmPerl.in	2018-04-28 07:46:28.000000000 -0400
-+++ modules/FvwmPerl/FvwmPerl.in	2019-01-06 20:44:59.035950968 -0500
-@@ -319,11 +319,11 @@
- 		$FVWM_DATADIR = $FVWM_DATADIR || $module->site_data_dir;
- 		$FVWM_USERDIR = $FVWM_USERDIR || $module->user_data_dir;
- 	}
- 
- 	# perl code substitution first
--	$$text_ref =~ s/\Q$quote1\E { ( .*? ) } \Q$quote2\E/
-+	$$text_ref =~ s/\Q$quote1\E \{ ( .*? ) \} \Q$quote2\E/
- 		my $result = eval "
- 			no strict;
- 			package PreprocessNamespace;
- 			$1
- 		";

diff --git a/x11-wm/fvwm/fvwm-2.6.9.ebuild b/x11-wm/fvwm/fvwm-2.6.9.ebuild
deleted file mode 100644
index d26d44193004..000000000000
--- a/x11-wm/fvwm/fvwm-2.6.9.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools flag-o-matic desktop
-
-DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
-HOMEPAGE="https://www.fvwm.org/"
-SRC_URI="https://github.com/fvwmorg/fvwm/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+ FVWM"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="bidi debug doc netpbm nls perl png readline stroke svg tk truetype +vanilla xinerama lock"
-
-COMMON_DEPEND="
-	sys-libs/zlib
-	x11-libs/libICE
-	x11-libs/libSM
-	x11-libs/libX11
-	x11-libs/libXau
-	x11-libs/libxcb
-	x11-libs/libXcursor
-	x11-libs/libXdmcp
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXpm
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	virtual/libiconv
-	bidi? ( dev-libs/fribidi )
-	nls? ( virtual/libintl )
-	png? ( media-libs/libpng:0= )
-	readline? (
-		sys-libs/ncurses:0=
-		sys-libs/readline:0=
-	)
-	stroke? ( dev-libs/libstroke )
-	svg? ( gnome-base/librsvg )
-	truetype? (
-		media-libs/fontconfig
-		x11-libs/libXft
-	)
-	xinerama? ( x11-libs/libXinerama )
-"
-RDEPEND="${COMMON_DEPEND}
-	dev-lang/perl
-	sys-apps/debianutils
-	perl? ( tk? (
-			dev-lang/tk
-			dev-perl/Tk
-			>=dev-perl/X11-Protocol-0.56
-		)
-	)
-	lock? ( x11-misc/xlockmore )
-	netpbm? ( media-libs/netpbm )
-"
-DEPEND="${COMMON_DEPEND}
-	virtual/pkgconfig
-	x11-base/xorg-proto
-	doc? ( dev-libs/libxslt )
-"
-
-src_prepare() {
-	if ! use vanilla; then
-		# Enables fast translucent menus; patch from fvwm-user mailing list.
-		eapply -p0 "${FILESDIR}/${PN}-2.5.27-translucent-menus.diff"
-
-		# Allow more mouse buttons, bug #411811
-		eapply -p0 "${FILESDIR}/${PN}-2.6.5-mouse-buttons.patch"
-	fi
-
-	eapply -p0 "${FILESDIR}/${PN}-2.6.5-ar.patch" #474528
-
-	# Fix for Perl 5.28
-	eapply -p0 "${FILESDIR}/${PN}-2.6.8-perl528.patch"
-
-	default
-	eautoreconf
-}
-
-src_configure() {
-	local myeconfargs=(
-		--libexecdir="${EPREFIX}"/usr/$(get_libdir)
-		--with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
-		--enable-iconv
-		--enable-package-subdirs
-		--without-rplay-library
-		$(use_enable bidi)
-		$(use_enable debug debug-msgs)
-		$(use_enable debug command-log)
-		$(use_enable doc htmldoc)
-		$(use_enable nls)
-		$(use_enable perl perllib)
-		$(use_enable png)
-		$(use_with readline readline-library)
-		$(use_with stroke stroke-library)
-		$(use_enable svg rsvg)
-		$(use_enable truetype xft)
-		$(use_enable xinerama)
-	)
-
-	# Non-upstream email where bugs should be sent; used in fvwm-bug.
-	export FVWM_BUGADDR="maintainer-needed@gentoo.org"
-
-	# Recommended by upstream, reference ????
-	append-flags -fno-strict-aliasing
-
-	# Signed chars are required.
-	use ppc && append-flags -fsigned-char
-
-	use readline && myeconfargs+=( --without-termcap-library )
-
-	econf "${myeconfargs[@]}"
-}
-
-src_install() {
-	default
-	make_session_desktop fvwm /usr/bin/fvwm
-
-	if ! use lock; then
-		find "${D}" -name '*fvwm-menu-xlock' -exec rm -f '{}' \; 2>/dev/null
-	fi
-
-	if use perl; then
-		if ! use tk; then
-			rm "${D}"/usr/share/fvwm/perllib/FVWM/Module/Tk.pm || die
-			rm "${D}"/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm || die
-			find "${D}"/usr/share/fvwm/perllib -depth -type d -exec rmdir '{}' \; 2>/dev/null
-		fi
-	else
-		# Completely wipe it if ! use perl
-		rm -r "${D}"/usr/bin/fvwm-perllib "${D}"/usr/share/man/man1/fvwm-perllib.1
-	fi
-
-	# Utility for testing FVWM behaviour by creating a simple window with
-	# configurable hints.
-	if use debug; then
-		dobin "${S}"/tests/hints/hints_test
-		newdoc "${S}"/tests/hints/README README.hints
-	fi
-
-	dodir /etc/X11/Sessions
-	echo "/usr/bin/fvwm" > "${D}"/etc/X11/Sessions/${PN} || die
-	fperms a+x /etc/X11/Sessions/${PN}
-
-	dodoc docs/{COMMANDS,DEVELOPERS.md}
-
-	# README file for translucent menus patch.
-	if ! use vanilla; then
-		dodoc "${FILESDIR}"/README.translucency
-		ewarn "You are using a patched build, so, please, don't"
-		ewarn "report bugs at the fvwm-workers list unless you are"
-		ewarn "also able to reproduce them with a vanilla build (USE=vanilla)."
-	fi
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-09-21 12:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-25  6:02 [gentoo-commits] repo/gentoo:master commit in: x11-wm/fvwm/, x11-wm/fvwm/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2023-12-20 10:45 Sam James
2024-04-22 16:52 Viorel Munteanu
2024-08-15 19:07 Sam James
2024-09-21 12:18 Petr Vaněk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox