summaryrefslogtreecommitdiff
path: root/x11-wm/fvwm3
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-10-17 10:00:35 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-10-17 10:00:35 +0100
commitcf89ca044e37f79e2329552cda857215f9824e11 (patch)
treea6720b1db82c94482ed8a998aa77650c5f723358 /x11-wm/fvwm3
parentcb627578a344c874750e23e7eb59b1acc85aa639 (diff)
gentoo auto-resync : 17:10:2023 - 10:00:35
Diffstat (limited to 'x11-wm/fvwm3')
-rw-r--r--x11-wm/fvwm3/Manifest15
-rw-r--r--x11-wm/fvwm3/files/README.translucency94
-rw-r--r--x11-wm/fvwm3/files/fvwm3-1.0.4-htmldoc.patch73
-rw-r--r--x11-wm/fvwm3/files/fvwm3-1.0.4-translucent-menus.patch487
-rw-r--r--x11-wm/fvwm3/files/fvwm3-1.0.8-implicit-function-decl-configure.patch18
-rw-r--r--x11-wm/fvwm3/fvwm3-1.0.4-r2.ebuild177
-rw-r--r--x11-wm/fvwm3/fvwm3-1.0.6a.ebuild167
-rw-r--r--x11-wm/fvwm3/fvwm3-1.0.7.ebuild166
-rw-r--r--x11-wm/fvwm3/fvwm3-1.0.8.ebuild (renamed from x11-wm/fvwm3/fvwm3-1.0.7-r1.ebuild)6
-rw-r--r--x11-wm/fvwm3/fvwm3-9999.ebuild2
10 files changed, 28 insertions, 1177 deletions
diff --git a/x11-wm/fvwm3/Manifest b/x11-wm/fvwm3/Manifest
index 934fb20ab33e..bae119a94a15 100644
--- a/x11-wm/fvwm3/Manifest
+++ b/x11-wm/fvwm3/Manifest
@@ -1,12 +1,5 @@
-AUX README.translucency 3723 BLAKE2B aae37e9dbdf8f7b730b6947d55f0e286c1269d5cacc9ce6d2481562b054c2fa9010acf6ee0d6c994ea3cee64d3df99ef6d08dfa8c6b58706bc9bb8b477095e1b SHA512 a64ef5147e52e07d4cec8a2f3ebd1340827d0139031ef7ddaf27fc144fcc58858c3ec40eee854034423f853b2c7bdd813f66236c8a9679977084f4a2176a8ffa
-AUX fvwm3-1.0.4-htmldoc.patch 2024 BLAKE2B 247d05e606e55515b800143a103e5521cf6cc1568f760bb4f703ca7b5ecfb83c305341f8bc249545830295b686c78c7241cc4167a40834aadb3b57fc27caef18 SHA512 bbe197296ffaae8af6d26a0ad92f28e3a9628a1a3653a481d8279ff0fc85922efc084696ae3e2a1527457007bfbb0e17173d942d5f08285ff48a92427f96a4a2
-AUX fvwm3-1.0.4-translucent-menus.patch 14629 BLAKE2B d9aa8b8f2fbde6bf37d39d9fa78f959405dff6518cf1819bbffc70b3d7583618638a3df77beb96925dcf4540b834ba63c2ff1e2cefce49743d73154b9fe58d74 SHA512 4519fba0386b3d1b207540c4916fd18e989189d50b3e1aaa1a02d34774c406fcd8dfa53592882694fdc2e1bb6e3d1e3cd0ada2656222df037bbcdeccf1f04fbe
-DIST fvwm3-1.0.4.tar.gz 4691719 BLAKE2B 4ce93b1a2d110b570b5fc8b253f9ff8ea1f44e5470c6e1bc136a53ebe53a23abe3d075bf351fca54ac110ea5731f9b44c59c83186d320e7509bf26e5144436ca SHA512 b72a1ebeba7c55214603fd43ea439f7283b3c79e39d2671a67b9512c67dcea111377eab2131ed0b18a72f6b772b0d048abe08f52565708367465ed9bb14e85f6
-DIST fvwm3-1.0.6a.tar.gz 4538100 BLAKE2B c71087eb09a17760ff5754060c4639228f268a0f3640ce0d92d7d8f807aa0df36eac998da0ed943787f1bb369ac90b7b2ca65d922120d41ed81a940be7756f4f SHA512 7577e0dde1f7c5c54024207cf48ab5b816c87fc163735e44eb72e66561c67c08f6a06e7fbf5c89fa6180b692ce25e5121845476d0d1dcfb8273b0aa7321d28f9
-DIST fvwm3-1.0.7.tar.gz 4512128 BLAKE2B 9e7363355f3d3221dc72175c6ff449a476a32020248dc580c4b73687759c49b255bab8b7e29440fa1473153459ef984369e88d331a0b55154114e3c901867003 SHA512 91973abb7b3f79cec4fba28d9aa071923aa975eae3f3e00257e8633e2d376732cd5db7e42a4330bc849f807fc149abfbeef6100fe2ca6c05c847b61ee48236ed
-EBUILD fvwm3-1.0.4-r2.ebuild 4319 BLAKE2B d9b573097a3b1c37c57ac223e0c659942a17c4e3a326e31292e16a3f9a0bb950949dfcb83402fad01650f89f984d55df09c8f1f88a05a1d952c7cc0275c62dc0 SHA512 5e912a106b192b0e550a22ebaa43229a5637d2d5a89fa4e10f16ad4963e31484b63f663465395aaae07f27aea6cea048c869d5cf13104568b9e7d18d7671c563
-EBUILD fvwm3-1.0.6a.ebuild 4191 BLAKE2B 52523d243ba77d83afb5bacfb1900da1cc5061f2de320821eb7b475666a3fc312c871ea9e6e5156a74f6623df6612a46eb6afd4be42cffdd69d964886e442754 SHA512 b922f6cc11fbcf2d99682a22cf255a1cee075d44d6f2b9fe1210472a8227faadfd0c723b1eb23639b255f27be878e520b81ad3b0a30ee037c453130c4a243464
-EBUILD fvwm3-1.0.7-r1.ebuild 4026 BLAKE2B c895417abd60e31a9825212abace2b99c5d722907b89df018b49fda799b4e4a2a08ba25257a8bcaa08cf105cde6712063b6735e85d04fa78208ee23edca254f8 SHA512 b926a9cee00bc5717d1719401372e9cf820e6425e799758c85b7c19187f909440cf4e09ba6c7292cbca2107351db5bbecaf5f316915db2d49ebe1e06ed0e6ab9
-EBUILD fvwm3-1.0.7.ebuild 4086 BLAKE2B 7ce04ec9790868aab796ae10cb98e210ebec99645b6619dd11a8895b032fb9999aa62c056e327124e1c462c36e668bc3f7916e25aa5e9a38a2b5a52f98bc0c17 SHA512 8b094daa7873630b0b674553b4cda292aa06f99db9ea66d6e57cc082bb4a87a46ddafa23c5d85ed066565a7f9084a890390bd8c72a3d61782bea0f323b8f579e
-EBUILD fvwm3-9999.ebuild 4026 BLAKE2B c895417abd60e31a9825212abace2b99c5d722907b89df018b49fda799b4e4a2a08ba25257a8bcaa08cf105cde6712063b6735e85d04fa78208ee23edca254f8 SHA512 b926a9cee00bc5717d1719401372e9cf820e6425e799758c85b7c19187f909440cf4e09ba6c7292cbca2107351db5bbecaf5f316915db2d49ebe1e06ed0e6ab9
+AUX fvwm3-1.0.8-implicit-function-decl-configure.patch 471 BLAKE2B eb0eb437a35497f0d7584bc66c5969189fa2f75b48b7acf730656c0ecfce78f456a9771094431dc7e06e8b0d3d65fde473581660822406315a7491fd8288c21b SHA512 8164aa4fd4307a962d6030f44667789523a383e1eb83aae15aace762e6594351f00e368d2474cd86e39a637825c2696e773c9952bb65de934a624e726ec61069
+DIST fvwm3-1.0.8.tar.gz 5644021 BLAKE2B c2a0a4953f556f86128452c8b42d8f86e2a02c9314cca17688987a51ed91bb3ecccf29e77f2b01c7ed444b54f45e402859ed1cce39714ad6d47860f639509b80 SHA512 fef69b6d97b3533e6722b48336aa8904b399c42437c4adcab756edf55cf839126002255dfa268bf7159d3bb9caf4d44c43a9217c9df5dc6224cef8461ecf2c34
+EBUILD fvwm3-1.0.8.ebuild 4099 BLAKE2B 54a80b1be91ab0ec12a745bdc9cd3c00b88562e8d7536ddd41ded261711b839012c67b501a9f743c9996e05441ec42fa16c7bc6fcc5c41e183dddb0173d99768 SHA512 5e422151abd092bfa974cba365bf9586502f3cae214387525b41237510bb57dcf0103283b3e4fb8310d05eb2dec0e943a0d743ba196f8134bd584947ee03c03f
+EBUILD fvwm3-9999.ebuild 4027 BLAKE2B f0cc042758565ee8b1844745bd322a9cf9ec063649242d23a52455c29a1e7c61c81601cd3a36c759f62fd95e10af519e1bd212e5023a73e2bc797f0da989f27b SHA512 35626beb6231286b8e16184f09727d6e1c768a5f356132bd246b3051e18afa976fe5af4129b863e2265b6924c9afd0490bf897775bfae6c3e812b96d816e81ca
MISC metadata.xml 1167 BLAKE2B 9298a152a101f678f0aac744cd1348302dae392e2fa6d37aaf4616f368d6bb96e09a01aa50700bc59672fa5710ebcf5f49911e6bf2205bd6f157d50fb831741d SHA512 90bde9731cc4b0147dbe9072c634bafce51ec5b33e636e16ab19b81538863ab9c103ed40b0b97042a9c11a01e68c3c81ffb1be542909bf145a16a52ce8c6f396
diff --git a/x11-wm/fvwm3/files/README.translucency b/x11-wm/fvwm3/files/README.translucency
deleted file mode 100644
index a60b5f668acd..000000000000
--- a/x11-wm/fvwm3/files/README.translucency
+++ /dev/null
@@ -1,94 +0,0 @@
-From owner-fvwm@hpc.uh.edu Sun Aug 31 22:52:59 2003
-Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists)
- by malifon.math.uh.edu with esmtp (Exim 3.20 #1)
- id 19tb0F-0006NY-00; Sun, 31 Aug 2003 17:48:59 -0500
-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sun, 31 Aug 2003 17:50:31 -0500 (CDT)
-Received: from epithumia.math.uh.edu (epithumia.math.uh.edu [129.7.128.2])
- by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id RAA16575
- for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 17:50:24 -0500 (CDT)
-Received: from epithumia.math.uh.edu (epithumia.math.uh.edu [127.0.0.1])
- by epithumia.math.uh.edu (8.12.8/8.12.5) with ESMTP id h7VMml6M025095
- for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 17:48:47 -0500
-Received: (from tibbs@localhost)
- by epithumia.math.uh.edu (8.12.8/8.12.8/Submit) id h7VMmlVC025093
- for fvwm@hpc.uh.edu; Sun, 31 Aug 2003 17:48:47 -0500
-Received: from util2.math.uh.edu (util2.math.uh.edu [129.7.128.23])
- by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id QAA16418
- for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 16:02:07 -0500 (CDT)
-Received: from postfix4-2.free.fr ([213.228.0.176])
- by util2.math.uh.edu with esmtp (Exim 4.20)
- id 19tZIm-00079F-6t
- for fvwm@fvwm.org; Sun, 31 Aug 2003 16:00:00 -0500
-Received: from snoopy.folie (nas-p19-3-62-147-221-172.dial.proxad.net [62.147.221.172])
- by postfix4-2.free.fr (Postfix) with ESMTP id 59DE6C386
- for <fvwm@fvwm.org>; Sun, 31 Aug 2003 22:59:34 +0200 (CEST)
-Received: by snoopy.folie (Postfix, from userid 501)
- id A4D1D48784; Sun, 31 Aug 2003 22:39:19 +0200 (CEST)
-Date: Sun, 31 Aug 2003 22:39:19 +0200
-From: Olivier Chapuis <olivier.chapuis@free.fr>
-To: fvwm@fvwm.org
-Subject: Re: FVWM: Transparency/Translucency revisited...
-Message-ID: <20030831203919.GA6205@snoopy.folie>
-Mail-Followup-To: fvwm@fvwm.org
-References: <Pine.LNX.4.44.0308251817370.1980-100000@atlantis.ssw.krakow.pl>
-Mime-Version: 1.0
-Content-Type: multipart/mixed; boundary="Nq2Wo0NMKNjxTN9z"
-Content-Disposition: inline
-In-Reply-To: <Pine.LNX.4.44.0308251817370.1980-100000@atlantis.ssw.krakow.pl>
-User-Agent: Mutt/1.4i
-X-Spam-Score: -9.3 (---------)
-Sender: owner-fvwm@hpc.uh.edu
-Precedence: list
-X-Majordomo: 1.94.jlt7
-Status: RO
-Content-Length: 6519
-Lines: 122
-
-
---Nq2Wo0NMKNjxTN9z
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-
-On Mon, Aug 25, 2003 at 09:00:32PM +0200, Dawid Kuroczko wrote:
-> Hello. :-)
->
-> I did manage to make pseudo-transparent menus, but now I'd like
-> to make something more "real". What I'd like to do is to have
-> something like there is in KDE.
->
-> It should work like this:
-> 1. user clicks thus calling a Menu.
-> 2. current screen dump is taken (with all the windows, but
-> without a menu just as yet).
-> 3. this screen dump is made available to Menu as
-> root background pixmap.
-> 4. Menu is displayed with tinted real background.
->
-> This way it's pretty easy to make an illusion of real
-> transparency (and looks "l33t", as some may say).
->
-
-Here a new version of the patch for current cvs/snapshot.
-This patch add a new options to Colorset: Translucent/NoTranslucent.
-These options has effects only with (non tear-off) menu.
-Also menu animation is "handled".
-
-For example with:
-
- Colorset 5 fg yellow, bg blue, HGradient 200 lightblue darkblue, \
- Translucent blue 60
- Style * MenuColorset 5, PopupOffset 0 100, AnimationOff
-
-you get translucent menus (with a 60% blue tint) and if you tear-off
-a menu the menu use the gradient.
-
-Regards, Olivier
-
-<snip patch>
-
---
-Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
-To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
-message to majordomo@fvwm.org.
-To report problems, send mail to fvwm-owner@fvwm.org.
-
diff --git a/x11-wm/fvwm3/files/fvwm3-1.0.4-htmldoc.patch b/x11-wm/fvwm3/files/fvwm3-1.0.4-htmldoc.patch
deleted file mode 100644
index ef277e902faa..000000000000
--- a/x11-wm/fvwm3/files/fvwm3-1.0.4-htmldoc.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-This patch enables html documentation output for fvwm3 1.0.4
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -1,40 +1,59 @@
- docdir = @FVWM_DOCDIR@
--MODULE_ADOCS = $(wildcard fvwm3/fvwm3.adoc bin/*.adoc modules/*.adoc)
-+DOC_SRC = $(wildcard fvwm3/fvwm3.adoc bin/*.adoc modules/*.adoc)
-
--EXTRA_DIST = $(MODULE_ADOCS)
-+EXTRA_DIST = $(DOC_SRC)
-
- if FVWM_BUILD_MANDOC
--BUILD_MANS = $(patsubst %.adoc,%, $(MODULE_ADOCS))
-+BUILD_MANS = $(DOC_SRC:.adoc=.1)
-+BUILD_HTML = $(DOC_SRC:.adoc=.html)
- else
- BUILD_MANS =
- endif
-
--all: docs
--docs: $(BUILD_MANS)
-+all: man html
-+
-+man: $(BUILD_MANS)
-+
-+html: $(BUILD_HTML)
-
- clean:
- rm -fr man1/
-+ rm -fr html/
-
- distclean-local: clean
-
- if FVWM_BUILD_MANDOC
--QUIET_ASCIIDOC = @echo ' ' DOC ' ' $@'.1';
-+QUIET_ASCIIDOC = @echo ' ' DOC ' ' $@;
-
--%: %.adoc
-+%.1: %.adoc
- $(QUIET_ASCIIDOC) \
- NAME=`basename "$@" | "$(SED)" -e "${transform}"`; \
-- $(ASCIIDOC) -b manpage $< -o "man1/$$NAME.1"
-+ $(ASCIIDOC) -b manpage $^ -o "man1/$$NAME"
-+
-+%.html: %.adoc
-+ $(QUIET_ASCIIDOC:.1=.html) \
-+ NAME=`basename "$@" | "$(SED)" -e "${transform}"`; \
-+ $(ASCIIDOC) -b html5 $^ -o "html/$$NAME"
-
- install-data-local:
- install -d -m 755 $(DESTDIR)$(mandir)/man1/
- @for i in $(notdir $(BUILD_MANS)); do \
- NAME=`basename "$$i" | "$(SED)" -e "${transform}"`; \
-- install -m 644 "man1/$$NAME.1" $(DESTDIR)$(mandir)/man1/; \
-+ install -m 644 "man1/$$NAME" $(DESTDIR)$(mandir)/man1/; \
-+ done
-+ install -d -m 755 $(DESTDIR)$(mandir)/html/
-+ @for i in $(notdir $(BUILD_HTML)); do \
-+ NAME=`basename "$$i" | "$(SED)" -e "${transform}"`; \
-+ install -m 644 "html/$$NAME" $(DESTDIR)$(mandir)/html/; \
- done
-
- uninstall-local:
- @for i in $(notdir $(BUILD_MANS)); do \
- NAME=`basename "$$i" | "$(SED)" -e "${transform}"`; \
-- rm -f "$(DESTDIR)$(mandir)/man1/$$NAME.1"; \
-+ rm -f "$(DESTDIR)$(mandir)/man1/$$NAME"; \
-+ done
-+ @for i in $(notdir $(BUILD_HTML)); do \
-+ NAME=`basename "$$i" | "$(SED)" -e "${transform}"`; \
-+ rm -f "$(DESTDIR)$(mandir)/html/$$NAME"; \
- done
- endif
diff --git a/x11-wm/fvwm3/files/fvwm3-1.0.4-translucent-menus.patch b/x11-wm/fvwm3/files/fvwm3-1.0.4-translucent-menus.patch
deleted file mode 100644
index 5ead9b09aff5..000000000000
--- a/x11-wm/fvwm3/files/fvwm3-1.0.4-translucent-menus.patch
+++ /dev/null
@@ -1,487 +0,0 @@
---- a/fvwm/colorset.c
-+++ b/fvwm/colorset.c
-@@ -162,6 +162,8 @@ static char *csetopts[] =
- "NoIconTint",
- "IconAlpha",
-
-+ "Translucent",
-+ "NoTranslucent",
- NULL
- };
-
-@@ -620,6 +622,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;
-@@ -632,6 +635,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;
-@@ -758,6 +762,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;
-@@ -923,6 +931,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"))
-@@ -1624,6 +1650,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 ----------
- */
-@@ -1720,6 +1767,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,
-@@ -1737,6 +1785,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 */
-@@ -1748,6 +1797,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++;
---- a/fvwm/menuroot.h
-+++ b/fvwm/menuroot.h
-@@ -147,6 +147,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 */
---- a/fvwm/menus.c
-+++ b/fvwm/menus.c
-@@ -75,6 +75,18 @@
- (ctx).menu_root.menu_root = (root))
- #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 ------------------------------------ */
-
-@@ -218,6 +230,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 ---------------------------- */
-
-@@ -379,12 +393,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),
-@@ -1910,6 +1934,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
- {
-@@ -2714,7 +2739,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)
- {
-@@ -3523,10 +3578,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(
-@@ -3705,10 +3757,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)++;
-@@ -6277,16 +6340,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);
-+ }
- }
-
-
-@@ -6327,10 +6496,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))
-@@ -6969,7 +7135,10 @@ void UpdateMenuColorset(int cset)
- &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) ||
---- a/fvwm/menus.h
-+++ b/fvwm/menus.h
-@@ -19,6 +19,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;
---- a/libs/Colorset.h
-+++ b/libs/Colorset.h
-@@ -53,6 +53,10 @@ typedef struct Colorset
- 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;
-
-@@ -80,6 +84,7 @@ typedef struct Colorset
- #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 */
-@@ -154,6 +159,10 @@ extern colorset_t *Colorset;
- #define CSETS_IS_TRANSPARENT_PR_TINT(cset) \
- (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)
---- a/libs/PictureGraphics.c
-+++ b/libs/PictureGraphics.c
-@@ -1361,7 +1361,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)
---- a/libs/PictureGraphics.h
-+++ b/libs/PictureGraphics.h
-@@ -124,7 +124,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/fvwm3/files/fvwm3-1.0.8-implicit-function-decl-configure.patch b/x11-wm/fvwm3/files/fvwm3-1.0.8-implicit-function-decl-configure.patch
new file mode 100644
index 000000000000..374afddcd6e4
--- /dev/null
+++ b/x11-wm/fvwm3/files/fvwm3-1.0.8-implicit-function-decl-configure.patch
@@ -0,0 +1,18 @@
+https://github.com/fvwmorg/fvwm3/pull/914
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Tue, 17 Oct 2023 16:01:33 +1000
+Subject: [PATCH] Fix implicit function declaration in configure
+
+Missing unistd.h include for `close` and `unlink`
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -996,6 +996,7 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ int main(void)
+ {
+ char template[128];
+--
+2.42.0
diff --git a/x11-wm/fvwm3/fvwm3-1.0.4-r2.ebuild b/x11-wm/fvwm3/fvwm3-1.0.4-r2.ebuild
deleted file mode 100644
index 6a3f6cabc32f..000000000000
--- a/x11-wm/fvwm3/fvwm3-1.0.4-r2.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-GO_OPTIONAL=1
-inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs
-
-DESCRIPTION="A multiple large virtual desktop window manager derived from fvwm"
-HOMEPAGE="https://www.fvwm.org/"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/fvwmorg/fvwm3.git"
- EGIT_BRANCH="master"
-else
- SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv"
-fi
-
-LICENSE="GPL-2+ FVWM
- go? ( Apache-2.0 BSD MIT )"
-SLOT="0"
-IUSE="bidi debug doc go netpbm nls perl readline stroke svg tk vanilla lock"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}"
-
-DOCS=( NEWS )
-
-if [[ ${PV} == 9999 ]]; then
- DOCS+=( dev-docs/COMMANDS dev-docs/DEVELOPERS.md dev-docs/INSTALL.md dev-docs/PARSING.md dev-docs/TODO.md dev-docs/NEW-COMMANDS.md )
-fi
-
-BDEPEND="
- virtual/pkgconfig
- doc? ( dev-libs/libxslt
- dev-ruby/asciidoctor )
- app-arch/unzip
- go? ( >=dev-lang/go-1.14 )
-"
-
-RDEPEND="${PYTHON_DEPS}
- ${COMMON_DEPEND}
- !x11-wm/fvwm
- dev-lang/perl
- dev-libs/glib:2
- dev-libs/libevent:=
- media-libs/fontconfig
- media-libs/libpng:=
- sys-apps/debianutils
- 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/libXft
- x11-libs/libXpm
- x11-libs/libXrandr
- x11-libs/libXrender
- bidi? ( dev-libs/fribidi )
- lock? ( x11-misc/xlockmore )
- netpbm? ( media-libs/netpbm )
- perl? ( tk? (
- dev-lang/tk
- dev-perl/Tk
- >=dev-perl/X11-Protocol-0.56
- )
- )
- readline? (
- sys-libs/ncurses:=
- sys-libs/readline:=
- )
- stroke? ( dev-libs/libstroke )
- svg? (
- gnome-base/librsvg:2
- x11-libs/cairo
- )"
-
-DEPEND="${COMMON_DEPEND}
- x11-base/xorg-proto"
-
-PATCHES=(
- "${FILESDIR}/${P}-translucent-menus.patch"
-)
-
-if [[ ${PV} == 9999 ]]; then
- PATCHES+=(
- "${FILESDIR}/${P}-goflags.patch"
- )
-fi
-
-src_prepare() {
- default
- if use doc; then
- eapply "${FILESDIR}/${P}-htmldoc.patch"
- fi
-
- eautoreconf
-}
-
-src_configure() {
- # Non-upstream email where bugs should be sent; used in fvwm-bug.
- export FVWM_BUGADDR="desktop-wm@nogentoo.org"
-
- # Recommended by upstream for release. Doesn't really matter for live ebuilds.
- append-flags -fno-strict-aliasing
-
- # Signed chars are required.
- for arch in arm arm64 ppc ppc64; do
- use $arch && append-flags -fsigned-chars
- done
-
- local myconf=(
- --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
- --enable-package-subdirs
- $(use_enable bidi)
- $(use_enable doc mandoc)
- $(use_enable go golang)
- $(use_enable nls)
- $(use_enable nls iconv)
- $(use_enable perl perllib)
- $(use_with readline readline-library)
- $(use_enable svg rsvg)
- --enable-png
- --enable-xft
- )
-
- use readline && myconf+=( --without-termcap-library )
-
- econf ${myconf[@]}
-}
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)"
- if [[ ${PV} == *9999 ]]; then
- use doc && emake -C doc html
- fi
-}
-
-src_install() {
- emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install
-
- dodir /etc/X11/Sessions
- echo "/usr/bin/fvwm3" > "${ED}/etc/X11/Sessions/${PN}" || die
- fperms a+x /etc/X11/Sessions/${PN} || die
-
- python_scriptinto "/usr/bin"
- python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop"
- if use doc; then
- if [[ ${PV} == *9999 ]]; then
- HTML_DOCS=( doc/*.html )
- else
- HTML_DOCS=( doc/html/*.html )
- fi
- fi
- einstalldocs
-
- make_session_desktop fvwm3 /usr/bin/fvwm3
-}
-
-pkg_postinst() {
- if use go; then
- ewarn "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole."
- ewarn "For compatibility with the existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper script."
- ewarn "If you need FvwmConsole, install ${PN} with USE=\"-go\", but FvwmPrompt and FvwmCommnd will not be installed."
- else
- ewarn "Fvwmconsole has been installed, but FvwmCommand and FvwmPrompt are no longer included in this ebuild."
- ewarn "If you need FvwmPrompt or FvwmCommand, install ${PN} with USE=\"go\"."
- ewarn "In that case, FvwmPrompt will replace FvwmConsole and provide the same functionality in a more flexible way."
- fi
-}
diff --git a/x11-wm/fvwm3/fvwm3-1.0.6a.ebuild b/x11-wm/fvwm3/fvwm3-1.0.6a.ebuild
deleted file mode 100644
index cc412650d214..000000000000
--- a/x11-wm/fvwm3/fvwm3-1.0.6a.ebuild
+++ /dev/null
@@ -1,167 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-GO_OPTIONAL=1
-inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs
-
-DESCRIPTION="A multiple large virtual desktop window manager derived from fvwm"
-HOMEPAGE="https://www.fvwm.org/"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/fvwmorg/fvwm3.git"
- EGIT_BRANCH="master"
-else
- SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv"
-fi
-
-LICENSE="GPL-2+ FVWM
- go? ( Apache-2.0 BSD MIT )"
-SLOT="0"
-IUSE="bidi debug doc +go netpbm nls perl readline stroke svg tk lock"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}"
-
-DOCS=( NEWS )
-
-if [[ ${PV} == 9999 ]]; then
- DOCS+=(
- dev-docs/COMMANDS
- dev-docs/DEVELOPERS.md
- dev-docs/INSTALL.md
- dev-docs/PARSING.md
- dev-docs/TODO.md
- dev-docs/NEW-COMMANDS.md
- )
-fi
-
-BDEPEND="
- virtual/pkgconfig
- doc? ( dev-libs/libxslt
- dev-ruby/asciidoctor )
- app-arch/unzip
- go? ( >=dev-lang/go-1.14 )
-"
-
-RDEPEND="${PYTHON_DEPS}
- ${COMMON_DEPEND}
- !x11-wm/fvwm
- dev-lang/perl
- dev-libs/glib:2
- dev-libs/libevent:=
- media-libs/fontconfig
- media-libs/libpng:=
- sys-apps/debianutils
- 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/libXft
- x11-libs/libXpm
- x11-libs/libXrandr
- x11-libs/libXrender
- bidi? ( dev-libs/fribidi )
- lock? ( x11-misc/xlockmore )
- netpbm? ( media-libs/netpbm )
- perl? ( tk? (
- dev-lang/tk
- dev-perl/Tk
- >=dev-perl/X11-Protocol-0.56
- )
- )
- readline? (
- sys-libs/ncurses:=
- sys-libs/readline:=
- )
- stroke? ( dev-libs/libstroke )
- svg? (
- gnome-base/librsvg:2
- x11-libs/cairo
- )"
-
-DEPEND="${COMMON_DEPEND}
- x11-base/xorg-proto"
-
-src_prepare() {
- default
- use go && ( sed -e 's/GOFLAGS=-ldflags="-s -w"/GOFLAGS=/' \
- -i bin/FvwmPrompt/Makefile.am || die )
- # Patch configure to allow later go versions
- sed -e 's/1.19\*)$/1.19*|1.20*|1.21*)/' -i configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- # Non-upstream email where bugs should be sent; used in fvwm-bug.
- export FVWM_BUGADDR="desktop-wm@nogentoo.org"
-
- # Recommended by upstream for release. Doesn't really matter for live ebuilds.
- append-flags -fno-strict-aliasing
-
- # Signed chars are required.
- for arch in arm arm64 ppc ppc64; do
- use $arch && append-flags -fsigned-chars
- done
-
- local myconf=(
- --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
- --enable-package-subdirs
- $(use_enable bidi)
- $(use_enable doc mandoc)
- $(use_enable go golang)
- $(use_enable nls)
- $(use_enable nls iconv)
- $(use_enable perl perllib)
- $(use_with readline readline-library)
- $(use_enable svg rsvg)
- --enable-png
- )
-
- use readline && myconf+=( --without-termcap-library )
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)"
- if [[ ${PV} == *9999 ]]; then
- use doc && emake -C doc
- fi
-}
-
-src_install() {
- emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install
-
- dodir /etc/X11/Sessions
- echo "/usr/bin/fvwm3" > "${ED}/etc/X11/Sessions/${PN}" || die
- fperms a+x "/etc/X11/Sessions/${PN}" || die
-
- python_scriptinto "/usr/bin"
- python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop"
- einstalldocs
-
- make_session_desktop fvwm3 /usr/bin/fvwm3
-}
-
-pkg_postinst() {
- if use go; then
- ewarn "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole."
- ewarn "For compatibility with the existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper script."
- ewarn "If you need FvwmConsole, install ${PN} with USE=\"-go\", but FvwmPrompt and FvwmCommand will not be installed."
- else
- ewarn "FvwmConsole has been installed, but FvwmCommand and FvwmPrompt are no longer included in this ebuild."
- ewarn "If you need FvwmPrompt or FvwmCommand, install ${PN} with USE=\"go\"."
- ewarn "In that case, FvwmPrompt will replace FvwmConsole and provide the same functionality in a more flexible way."
- fi
-}
diff --git a/x11-wm/fvwm3/fvwm3-1.0.7.ebuild b/x11-wm/fvwm3/fvwm3-1.0.7.ebuild
deleted file mode 100644
index 46cdabe5b388..000000000000
--- a/x11-wm/fvwm3/fvwm3-1.0.7.ebuild
+++ /dev/null
@@ -1,166 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-GO_OPTIONAL=1
-inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs
-
-DESCRIPTION="A multiple large virtual desktop window manager derived from fvwm"
-HOMEPAGE="https://www.fvwm.org/"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/fvwmorg/fvwm3.git"
- EGIT_BRANCH="main"
-else
- SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv"
-fi
-
-LICENSE="GPL-2+ FVWM
- go? ( Apache-2.0 BSD MIT )"
-SLOT="0"
-IUSE="bidi debug doc +go netpbm nls perl readline stroke svg tk lock"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}"
-
-DOCS=( NEWS )
-
-if [[ ${PV} == 9999 ]]; then
- DOCS+=(
- dev-docs/COMMANDS
- dev-docs/DEVELOPERS.md
- dev-docs/INSTALL.md
- dev-docs/PARSING.md
- dev-docs/TODO.md
- dev-docs/NEW-COMMANDS.md
- )
-fi
-
-BDEPEND="
- virtual/pkgconfig
- doc? ( dev-libs/libxslt
- dev-ruby/asciidoctor )
- app-arch/unzip
- go? ( >=dev-lang/go-1.14 )
-"
-
-RDEPEND="${PYTHON_DEPS}
- ${COMMON_DEPEND}
- !x11-wm/fvwm
- dev-lang/perl
- dev-libs/glib:2
- dev-libs/libevent:=
- media-libs/fontconfig
- media-libs/libpng:=
- sys-apps/debianutils
- 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/libXft
- x11-libs/libXpm
- x11-libs/libXrandr
- x11-libs/libXrender
- bidi? ( dev-libs/fribidi )
- lock? ( x11-misc/xlockmore )
- netpbm? ( media-libs/netpbm )
- perl? ( tk? (
- dev-lang/tk
- dev-perl/Tk
- >=dev-perl/X11-Protocol-0.56
- )
- )
- readline? (
- sys-libs/ncurses:=
- sys-libs/readline:=
- )
- stroke? ( dev-libs/libstroke )
- svg? (
- gnome-base/librsvg:2
- x11-libs/cairo
- )"
-
-DEPEND="${COMMON_DEPEND}
- x11-base/xorg-proto"
-
-src_prepare() {
- default
- use go && ( sed -e 's/GOFLAGS=-ldflags="-s -w"/GOFLAGS=/' \
- -i bin/FvwmPrompt/Makefile.am || die )
-
- eautoreconf
-}
-
-src_configure() {
- # Non-upstream email where bugs should be sent; used in fvwm-bug.
- export FVWM_BUGADDR="desktop-wm@nogentoo.org"
-
- # Recommended by upstream for release. Doesn't really matter for live ebuilds.
- append-flags -fno-strict-aliasing
-
- # Signed chars are required.
- for arch in arm arm64 ppc ppc64; do
- use $arch && append-flags -fsigned-chars
- done
-
- local myconf=(
- --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
- --enable-package-subdirs
- $(use_enable bidi)
- $(use_enable doc mandoc)
- $(use_enable go golang)
- $(use_enable nls)
- $(use_enable nls iconv)
- $(use_enable perl perllib)
- $(use_with readline readline-library)
- $(use_enable svg rsvg)
- --enable-png
- )
-
- use readline && myconf+=( --without-termcap-library )
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)"
- if [[ ${PV} == *9999 ]]; then
- use doc && emake -C doc
- fi
-}
-
-src_install() {
- emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install
-
- dodir /etc/X11/Sessions
- echo "/usr/bin/fvwm3" > "${ED}/etc/X11/Sessions/${PN}" || die
- fperms a+x "/etc/X11/Sessions/${PN}" || die
-
- python_scriptinto "/usr/bin"
- python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop"
- einstalldocs
-
- make_session_desktop fvwm3 /usr/bin/fvwm3
-}
-
-pkg_postinst() {
- if use go; then
- ewarn "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole."
- ewarn "For compatibility with the existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper."
- ewarn "If you need FvwmConsole, install ${PN} with USE=\"-go\";"
- ewarn "however FvwmPrompt and FvwmCommand will not be installed."
- else
- ewarn "FvwmConsole has been installed, but FvwmCommand and FvwmPrompt are no longer included in this ebuild."
- ewarn "If you need FvwmPrompt or FvwmCommand, install ${PN} with USE=\"go\"."
- ewarn "In that case, FvwmPrompt will replace FvwmConsole and provide the same functionality in a more flexible way."
- fi
-}
diff --git a/x11-wm/fvwm3/fvwm3-1.0.7-r1.ebuild b/x11-wm/fvwm3/fvwm3-1.0.8.ebuild
index 897728504f51..3cbbc80a0860 100644
--- a/x11-wm/fvwm3/fvwm3-1.0.7-r1.ebuild
+++ b/x11-wm/fvwm3/fvwm3-1.0.8.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
GO_OPTIONAL=1
inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs
@@ -92,6 +92,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${COMMON_DEPEND}
x11-base/xorg-proto"
+PATCHES=(
+ "${FILESDIR}/${P}-implicit-function-decl-configure.patch"
+)
+
src_prepare() {
default
use go && ( sed -e 's/GOFLAGS=-ldflags="-s -w"/GOFLAGS=/' \
diff --git a/x11-wm/fvwm3/fvwm3-9999.ebuild b/x11-wm/fvwm3/fvwm3-9999.ebuild
index 897728504f51..8bc78a359bc5 100644
--- a/x11-wm/fvwm3/fvwm3-9999.ebuild
+++ b/x11-wm/fvwm3/fvwm3-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
GO_OPTIONAL=1
inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs