summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorMatt Jolly <kangie@gentoo.org>2024-12-01 12:23:40 +1000
committerMatt Jolly <kangie@gentoo.org>2024-12-01 13:18:15 +1000
commit2e5fd6875a959b56b5f82568a06ab1cd1f31fa14 (patch)
tree041432591d226ef296c49280fe0957b7816a84b6 /x11-wm
parentsys-libs/binutils-libs: Stabilize 2.43-r3 ppc64, #945491 (diff)
downloadgentoo-2e5fd6875a959b56b5f82568a06ab1cd1f31fa14.tar.gz
gentoo-2e5fd6875a959b56b5f82568a06ab1cd1f31fa14.tar.bz2
gentoo-2e5fd6875a959b56b5f82568a06ab1cd1f31fa14.zip
x11-wm/fvwm3: add 1.1.1, sync live
This update brings the meson build sytem among other improvements! Bug: https://bugs.gentoo.org/864959 Bug: https://bugs.gentoo.org/939531 Bug: https://bugs.gentoo.org/919163 Closes: https://bugs.gentoo.org/944780 Signed-off-by: Matt Jolly <kangie@gentoo.org>
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/fvwm3/Manifest2
-rw-r--r--x11-wm/fvwm3/files/fvwm3-1.1.1-desk-init.patch32
-rw-r--r--x11-wm/fvwm3/fvwm3-1.1.1.ebuild185
-rw-r--r--x11-wm/fvwm3/fvwm3-9999.ebuild47
-rw-r--r--x11-wm/fvwm3/metadata.xml3
5 files changed, 246 insertions, 23 deletions
diff --git a/x11-wm/fvwm3/Manifest b/x11-wm/fvwm3/Manifest
index ef274f6d0468..519c1518d411 100644
--- a/x11-wm/fvwm3/Manifest
+++ b/x11-wm/fvwm3/Manifest
@@ -2,3 +2,5 @@ DIST fvwm3-1.0.9-docs.tar.xz 234884 BLAKE2B f52da9eb2486f7a212ead77ccc190c57076e
DIST fvwm3-1.0.9.tar.gz 4525552 BLAKE2B cb58181adb42f5b8d491c6413277eb1f4a5d89637d9c6bb323223925c719d808e84ed0f72a1d0ffc822ddb8295ebf2bb89c2351ebd591916b50ebc69728e59fa SHA512 de71d74b76da8e0cf1560d51ef916857e3f825b272d786d9b6b93aef9a82c399f580b9b941a47aff1f327b097d12e1ce05860924e792206e4150ff19a5c39ee3
DIST fvwm3-1.1.0-docs.tar.xz 230964 BLAKE2B f431011a63a8d190e01e34301e74fd40750deb51c947b055474888379b7364910351c923ac637968948a094b89f49d8be5758429a85cd66107b8696b526b0004 SHA512 629794d0aef9ef2d9ce9a8e1ff3bc63fe2ef30f9f593938e2892e4e04bd960f51d2a90aaf5c95328495bccea6b1dbfd6fdeb76f18bb9a8bc6eb2649359023df8
DIST fvwm3-1.1.0.tar.gz 4527424 BLAKE2B ee9a3f190ae7fa1f1dd703e17b0e12f04da63212cade30facdbc8339ded7f598de143d18f17dde39d3af8e24ff2b34855ad3e5b2b6c5ffe466072a7353895cd8 SHA512 47eea05cbdecf4da3313b9183fa938544b451b9f133d7a68062feb222c3c1af3873402f80b60485d603afe8cd23a03f3e86a503fc1f2070e1ad2e6e64d012341
+DIST fvwm3-1.1.1-docs.tar.xz 241608 BLAKE2B fbdc789dce9e36a94a4b6c2541b4474548bd961e333d14507788a70e1e4103f0ae5df8223259670cd2aeaec43d3088f1b600b371d03543c2bbb4bce47c37815c SHA512 92385ff188269f85dfda0f079135d651973b1556ac13112cff087a2294256edd7dc2b99aa2c220f9f361df6a3a4d820c56e061dd5d818e58755b1f94df9b4e03
+DIST fvwm3-1.1.1.tar.gz 4016926 BLAKE2B 5654554d8bd6593f30cb5bdd05e424abd7fd3f298d12073d419d18967f17d2df58de797392af0b15a0bcf05d09c8fe7b3c273734d17cb97b617dcb9a5e7f4091 SHA512 66b044a2c463d56573c68f4cdd222a39a667a4acf3425d448c7e1c105e67a9d00abafff1e94c066f0781b4546d1b2b84bc9c20798a0b9ef4b0f673e743a2d4d0
diff --git a/x11-wm/fvwm3/files/fvwm3-1.1.1-desk-init.patch b/x11-wm/fvwm3/files/fvwm3-1.1.1-desk-init.patch
new file mode 100644
index 000000000000..34b824f79dd2
--- /dev/null
+++ b/x11-wm/fvwm3/files/fvwm3-1.1.1-desk-init.patch
@@ -0,0 +1,32 @@
+From efef84cf5fcd2c4747ef75dd522605450efd278a Mon Sep 17 00:00:00 2001
+From: Jaimos Skriletz <jaimosskriletz@gmail.com>
+Date: Sat, 30 Nov 2024 16:40:21 -0700
+Subject: [PATCH] FvwmPager: Update current desk correctly during init.
+
+When FvwmPager is tracking the current desk and is run on any desk
+except desk 0, the current desk isn't updated during initialization
+because the monitor update is sent before the desk update, so the
+pager didn't realize the desk has changed.
+
+This ensures that the pager updates the current desk if either
+the desk changes or the new desk is not the same as the current
+desk to also catch updates during pager initialization.
+
+Fixes #1122
+---
+ modules/FvwmPager/messages.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/FvwmPager/messages.c b/modules/FvwmPager/messages.c
+index c93ed3056..86cd32e70 100644
+--- a/modules/FvwmPager/messages.c
++++ b/modules/FvwmPager/messages.c
+@@ -454,7 +454,7 @@ void process_new_desk(unsigned long *body)
+ monitor_assign_virtual(fp->m);
+
+ /* If always tracking current desk. Update Desks[0]. */
+- if (fAlwaysCurrentDesk && oldDesk != newDesk)
++ if (fAlwaysCurrentDesk && (oldDesk != newDesk || desk1 != newDesk))
+ {
+ PagerWindow *t;
+
diff --git a/x11-wm/fvwm3/fvwm3-1.1.1.ebuild b/x11-wm/fvwm3/fvwm3-1.1.1.ebuild
new file mode 100644
index 000000000000..227108110a88
--- /dev/null
+++ b/x11-wm/fvwm3/fvwm3-1.1.1.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Doc generation requires pulls in asciidoc/ruby, we'll prebuild docs
+# for release ebuilds.
+# Scripting for this is in sam-gentoo-scripts.
+: ${FVWM3_DOCS_PREBUILT:=1}
+
+PYTHON_COMPAT=( python3_{10..13} )
+GO_OPTIONAL=1
+inherit flag-o-matic go-module meson optfeature python-single-r1
+
+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"
+ FVWM3_DOCS_PREBUILT=0
+else
+ SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz"
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]]; then
+ SRC_URI+=" https://deps.gentoo.zip/x11-wm/fvwm3/${P}-docs.tar.xz"
+ fi
+ KEYWORDS="~amd64 ~riscv"
+fi
+
+LICENSE="GPL-2+ FVWM
+ go? ( Apache-2.0 BSD MIT )"
+SLOT="0"
+IUSE="bidi +go nls readline svg"
+# Strictly speaking readline is not required for go,
+# but as most systems already have it installed we don't users to stub their toe on REQUIRED_USE
+REQUIRED_USE="${PYTHON_REQUIRED_USE} !go? ( readline )"
+
+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
+ app-arch/unzip
+ go? ( >=dev-lang/go-1.20 )
+"
+
+if [[ ${FVWM3_DOCS_PREBUILT} -ne 1 ]]; then
+ BDEPEND+="
+ dev-libs/libxslt
+ dev-ruby/asciidoctor
+ "
+fi
+
+COMMON_DEPEND="
+ dev-lang/perl
+ dev-libs/glib:2
+ dev-libs/libevent:=
+ media-libs/fontconfig
+ media-libs/libpng:=
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXft
+ x11-libs/libxkbcommon
+ x11-libs/libXpm
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/xtrans
+ x11-libs/libXfixes
+ bidi? ( dev-libs/fribidi )
+ readline? (
+ sys-libs/readline:=
+ )
+ svg? (
+ gnome-base/librsvg:2
+ x11-libs/cairo
+ )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${PYTHON_DEPS}
+ !x11-wm/fvwm
+"
+
+DEPEND="${COMMON_DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-desk-init.patch
+)
+
+src_configure() {
+ # 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 emesonargs=(
+ "-Dpng=enabled"
+ "-Dsm=enabled"
+ "-Dxcursor=enabled"
+ "-Dxfixes=enabled"
+ "-Dxpm=enabled"
+ "-Dxrender=enabled"
+ $(meson_feature bidi)
+ $(meson_feature go golang)
+ $(meson_feature nls iconv)
+ $(meson_feature nls)
+ $(meson_feature readline) # not required for go but it won't hurt to enable it
+ $(meson_feature svg cairo) # Pick 1 of 'cairo', 'cairo-svg', or 'libsvg-cairo'; add the appropriate dependency
+ $(meson_feature svg)
+ "-Dcairo-svg=disabled"
+ "-Dlibsvg-cairo=disabled"
+ "-Ddocdir=${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ if [[ ${FVWM3_DOCS_PREBUILT} -ne 1 ]]; then
+ emesonargs+=(
+ "-Dhtmldoc=true"
+ "-Dmandoc=true"
+ )
+ else
+ # Probably not required, but let's be safe
+ emesonargs+=(
+ "-Dhtmldoc=false"
+ "-Dmandoc=false"
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ # Since we're manually handling docs installation, let's do that first
+ # and then install the rest of the files "normally".
+ local HTML_DOCS
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${P}-docs/man/**/*.[0-8]
+ HTML_DOCS="${WORKDIR}"/${P}-docs/html/*
+ fi
+ einstalldocs
+
+ meson_src_install
+
+ if ! use go; then
+ python_scriptinto "/usr/bin"
+ python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop"
+ fi
+}
+
+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
+
+ optfeature_header "Useful optional features:"
+ optfeature "Screen locking" x11-misc/xlockmore
+ optfeature "NetPBM support (used by FvwmScript-ScreenDump)" media-libs/netpbm
+}
diff --git a/x11-wm/fvwm3/fvwm3-9999.ebuild b/x11-wm/fvwm3/fvwm3-9999.ebuild
index b1eb858ae80b..20ea4b1d2fd7 100644
--- a/x11-wm/fvwm3/fvwm3-9999.ebuild
+++ b/x11-wm/fvwm3/fvwm3-9999.ebuild
@@ -10,7 +10,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
GO_OPTIONAL=1
-inherit flag-o-matic go-module meson python-single-r1
+inherit flag-o-matic go-module meson optfeature python-single-r1
DESCRIPTION="A multiple large virtual desktop window manager derived from fvwm"
HOMEPAGE="https://www.fvwm.org/"
@@ -31,8 +31,10 @@ fi
LICENSE="GPL-2+ FVWM
go? ( Apache-2.0 BSD MIT )"
SLOT="0"
-IUSE="bidi +go netpbm nls perl readline svg"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+IUSE="bidi +go nls readline svg"
+# Strictly speaking readline is not required for go,
+# but as most systems already have it installed we don't users to stub their toe on REQUIRED_USE
+REQUIRED_USE="${PYTHON_REQUIRED_USE} !go? ( readline )"
DOCS=( NEWS )
@@ -50,54 +52,54 @@ fi
BDEPEND="
virtual/pkgconfig
app-arch/unzip
- go? ( >=dev-lang/go-1.14 )
+ go? ( >=dev-lang/go-1.20 )
"
-if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+if [[ ${FVWM3_DOCS_PREBUILT} -ne 1 ]]; then
BDEPEND+="
dev-libs/libxslt
dev-ruby/asciidoctor
"
fi
-RDEPEND="${PYTHON_DEPS}
- ${COMMON_DEPEND}
- !x11-wm/fvwm
+COMMON_DEPEND="
dev-lang/perl
dev-libs/glib:2
dev-libs/libevent:=
media-libs/fontconfig
media-libs/libpng:=
- sys-libs/zlib
+ x11-base/xorg-proto
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/libxkbcommon
x11-libs/libXpm
x11-libs/libXrandr
x11-libs/libXrender
- x11-misc/xlockmore
- dev-lang/tk
- dev-perl/Tk
- >=dev-perl/X11-Protocol-0.56
+ x11-libs/xtrans
+ x11-libs/libXfixes
bidi? ( dev-libs/fribidi )
readline? (
- sys-libs/ncurses:=
sys-libs/readline:=
)
svg? (
gnome-base/librsvg:2
x11-libs/cairo
- )"
+ )
+"
-DEPEND="${COMMON_DEPEND}
- x11-base/xorg-proto"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${PYTHON_DEPS}
+ !x11-wm/fvwm
+"
+
+DEPEND="${COMMON_DEPEND}"
src_configure() {
# Recommended by upstream for release. Doesn't really matter for live ebuilds.
@@ -112,6 +114,7 @@ src_configure() {
"-Dpng=enabled"
"-Dsm=enabled"
"-Dxcursor=enabled"
+ "-Dxfixes=enabled"
"-Dxpm=enabled"
"-Dxrender=enabled"
$(meson_feature bidi)
@@ -126,7 +129,7 @@ src_configure() {
"-Ddocdir=${EPREFIX}/usr/share/doc/${PF}"
)
- if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ if [[ ${FVWM3_DOCS_PREBUILT} -ne 1 ]]; then
emesonargs+=(
"-Dhtmldoc=true"
"-Dmandoc=true"
@@ -171,4 +174,8 @@ pkg_postinst() {
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
+
+ optfeature_header "Useful optional features:"
+ optfeature "Screen locking" x11-misc/xlockmore
+ optfeature "NetPBM support (used by FvwmScript-ScreenDump)" media-libs/netpbm
}
diff --git a/x11-wm/fvwm3/metadata.xml b/x11-wm/fvwm3/metadata.xml
index 278a0067ac68..13311dfc28e1 100644
--- a/x11-wm/fvwm3/metadata.xml
+++ b/x11-wm/fvwm3/metadata.xml
@@ -11,9 +11,6 @@
</maintainer>
<use>
<flag name="go">Enable building <pkg>dev-lang/go</pkg> code (FvwmPrompt)</flag>
- <flag name="lock">Enable screen locking</flag>
- <flag name="netpbm">Enable NetPBM support (used by FvwmScript-ScreenDump)</flag>
- <flag name="stroke">Mouse Gesture support</flag>
</use>
<upstream>
<remote-id type="github">fvwmorg/fvwm3</remote-id>