diff options
Diffstat (limited to 'x11-wm')
-rw-r--r-- | x11-wm/fvwm/Manifest | 3 | ||||
-rw-r--r-- | x11-wm/fvwm/files/fvwm-2.7.0-c99.patch | 99 | ||||
-rw-r--r-- | x11-wm/fvwm/files/fvwm-2.7.0-fix-docdir.patch | 13 | ||||
-rw-r--r-- | x11-wm/fvwm/fvwm-2.7.0-r5.ebuild | 168 |
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 +} |