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 <[email protected]>
+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 <[email protected]>
+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="[email protected]"
+
+       # 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
+}

Reply via email to