summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/fvwm/Manifest3
-rw-r--r--x11-wm/fvwm/files/fvwm-2.7.0-c99.patch99
-rw-r--r--x11-wm/fvwm/files/fvwm-2.7.0-fix-docdir.patch13
-rw-r--r--x11-wm/fvwm/fvwm-2.7.0-r5.ebuild168
4 files changed, 283 insertions, 0 deletions
diff --git a/x11-wm/fvwm/Manifest b/x11-wm/fvwm/Manifest
index e398fcf..4094390 100644
--- a/x11-wm/fvwm/Manifest
+++ b/x11-wm/fvwm/Manifest
@@ -1,6 +1,9 @@
AUX README.translucency 3723 BLAKE2B aae37e9dbdf8f7b730b6947d55f0e286c1269d5cacc9ce6d2481562b054c2fa9010acf6ee0d6c994ea3cee64d3df99ef6d08dfa8c6b58706bc9bb8b477095e1b SHA512 a64ef5147e52e07d4cec8a2f3ebd1340827d0139031ef7ddaf27fc144fcc58858c3ec40eee854034423f853b2c7bdd813f66236c8a9679977084f4a2176a8ffa
AUX fvwm-2.7.0-ar.patch 1243 BLAKE2B 5d01137c867629e05f7a2c5c600b4b21d06b2c061e05a4389ad2c9ba456459020a972153594800c62e68c4411e1de1012ca32ccfe4feaa1233e90d65fa6c19c2 SHA512 533fd933c180e753e482684bfd68a0f6a95b71c622336be6080f09d4d354d16c4f7c758e79529ee873f2a39d0a6adbf73a586a3709dd8ad182c67ae5d8b50c1c
+AUX fvwm-2.7.0-c99.patch 3294 BLAKE2B 930615bfde3168ca47c865badab133de33ad127c648f1a29424076b61e194a6dcf2b411e5198185acc057d49fc7fd4539397270f6610a7d80abb929dd50547cc SHA512 affc46823a1e2756b72819a08976496319a10fa43eb1089f57ac0630d3d919ba9f3a8c86c62a932be989b4f7b17dbbb3712da55d188af806396c2c18175b8cdb
AUX fvwm-2.7.0-clang16.patch 1821 BLAKE2B b8acc1740eb820128625a1aab94c00faf9ba22a911e1a570b61cfe5d59e63479a5555ae22c16c2f2ec0189b8c8f195f36447fec12fc64f73fbc7c4efa0d62410 SHA512 dfe16531733986b42600b682d9e7ea17db5e546f196476d0fdf97cbfb05733c9c37d36f51a0a77d0754c0b55374be15b8dd39966bf1e454bb338245c63235a5f
+AUX fvwm-2.7.0-fix-docdir.patch 361 BLAKE2B aefce92389f7ba8b8a85d67c9144e0ae6c4df6eb7ea9195ae1683a0be453e9eeaff1ad64fd1e4de174ee419c9636897639863d5d0f3f8e7fde8ade84b05358e4 SHA512 c21d5ded3ee488efc0595f44a09c9833189c5159494e96cf3c4f310aa5dfc9aba3f78452d4e9105e839e57a8a2361c9dc5840bc89e8ae67f5cf2209b6a3ab142
AUX fvwm-2.7.0-translucent-menus.diff 15303 BLAKE2B 9689b136bf17aff87bf9b2b872a8d746268849333d06595a5147be7dbc2b6e2a9f75643c67d28564663cf0571378612ebc96e1eff22e315305501cca438c9947 SHA512 34714e25ca5a30479174c1a75ef6441e9dd7e9506e52edced1c8658979059d03b07f5373b82178c2871034155e74a0bf16b55db30784575bc7e6f06555a321fd
DIST fvwm-2.7.0.tar.gz 3933529 BLAKE2B b4be7083c2946cb2a0c48673271d490a49aba5aec8407169bedc5a35f55fe8cd2724a9f6570c5e7ea110652c04956570c874256f96fa5d920a2a1ede152c0c25 SHA512 fc9076c3f07f36b0b2c7c4d2bdf7bb1a711000e39316e327173548bc99dc2b8a29b591e3644e1492f87603b576cd4a3f58ecbdd84a4384d294417b3c56c81808
EBUILD fvwm-2.7.0-r2.ebuild 4093 BLAKE2B f2031e68a2b9f95a8cd8c5004f9243ea47ea729d239e63a449f219cba1c11fec999a3d4a0863723860087221408924ca38db3aa6127921ea682a969fe2ad8d3f SHA512 bf45affb4a9e798843a9540028b8d30f42a0206473ea7d67cfd74920027560eb6f531102629f913f208cbdb177e7f3b61c25064a8dd95b4684886dd066fc1e61
+EBUILD fvwm-2.7.0-r5.ebuild 4099 BLAKE2B f4d1afdc45ac27c2203a953a84c74179a1092a766f55f2eacf8be4aece6b198e894d94165120a77399f762d5b852952aa891293a8e608fd88ea45ecd453b81c2 SHA512 69fe09bfeb0611944465b41d35f871ab2544cec50fc6bcad46dac6ea473c7f24875c8505434d83862ac1f1149758408be50d6cabd1250f9e2d0b7b91421270df
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 0000000..7bc137d
--- /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/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 0000000..b1f5a1d
--- /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-r5.ebuild b/x11-wm/fvwm/fvwm-2.7.0-r5.ebuild
new file mode 100644
index 0000000..0e4ce2e
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.7.0-r5.ebuild
@@ -0,0 +1,168 @@
+# 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}/${PN}-2.7.0-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
+}