diff options
author | Matt Jolly <kangie@gentoo.org> | 2024-12-01 12:23:40 +1000 |
---|---|---|
committer | Matt Jolly <kangie@gentoo.org> | 2024-12-01 13:18:15 +1000 |
commit | 2e5fd6875a959b56b5f82568a06ab1cd1f31fa14 (patch) | |
tree | 041432591d226ef296c49280fe0957b7816a84b6 /x11-wm | |
parent | sys-libs/binutils-libs: Stabilize 2.43-r3 ppc64, #945491 (diff) | |
download | gentoo-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/Manifest | 2 | ||||
-rw-r--r-- | x11-wm/fvwm3/files/fvwm3-1.1.1-desk-init.patch | 32 | ||||
-rw-r--r-- | x11-wm/fvwm3/fvwm3-1.1.1.ebuild | 185 | ||||
-rw-r--r-- | x11-wm/fvwm3/fvwm3-9999.ebuild | 47 | ||||
-rw-r--r-- | x11-wm/fvwm3/metadata.xml | 3 |
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> |