From 026c9236e65819d350ec6f9074f825018f94590e Mon Sep 17 00:00:00 2001 From: Matt Jolly Date: Tue, 4 Aug 2026 17:19:41 +1000 Subject: [PATCH] x11-wm/fvwm3: add 1.1.5 Signed-off-by: Matt Jolly --- x11-wm/fvwm3/Manifest | 2 + x11-wm/fvwm3/fvwm3-1.1.5.ebuild | 172 ++++++++++++++++++++++++++++++++ x11-wm/fvwm3/fvwm3-9999.ebuild | 32 +++--- 3 files changed, 191 insertions(+), 15 deletions(-) create mode 100644 x11-wm/fvwm3/fvwm3-1.1.5.ebuild diff --git a/x11-wm/fvwm3/Manifest b/x11-wm/fvwm3/Manifest index 254e05e8853e5..90f764ad8ef0b 100644 --- a/x11-wm/fvwm3/Manifest +++ b/x11-wm/fvwm3/Manifest @@ -1,2 +1,4 @@ DIST fvwm3-1.1.4-docs.tar.xz 249644 BLAKE2B 9b87b6a2f76c628d44e0e4a518955610345b69363299e84277b0b7f1706e7cdc2b4628c3e4419c81d79bd0e0f02d3b63c7ed966029abdef6ab6c9f3a6fc3569a SHA512 dabccc8d3f7fdd9e8e70deeff6ee67f75e2efaa255ee5489e7201ebc329e1eb03522d0ad8744ce7911adf1ff1acfeed22fc448bfd3aaa2ee87df1b3f58de80e6 DIST fvwm3-1.1.4.tar.gz 3994027 BLAKE2B 3a98ee267110acb05495b59231bb0b1b5b50c5392c468efd6a30eb5ddcce6bcc31488b2cc2047e863a6607c2604a371fbc857476983f6b8ce30197e25296e50e SHA512 82f0ecc4844cbc45ca53cd884ac1cff9776b881566595993978d0d4e91a74efdf39000a536309f4acd6131c248534ff7b562fd0acd82ae98dbeb3328bed7e712 +DIST fvwm3-1.1.5-docs.tar.xz 249952 BLAKE2B aa387ee079b4d08d9dbec255a42b63348456bca05283832dfc7fbf8a36733a585fe979ce0732ef0110f913a34389d94c8fc15a41b5c2daed31f0e50105bf2728 SHA512 e604ab81943b4b7dff239865adf1fd98b69a640a050b5b95fb1c2663c9a202823edfcaa273b23f85c1322532c838e99c94eed643fc57aa0ca48e2dbb4baca314 +DIST fvwm3-1.1.5.tar.gz 4204328 BLAKE2B 3c6ff307272c7e3d34ab268f7612b1dcdccf0cd2d6cec5be3bb5b03c3374ab5fb87a658dc2c4ce2c2c5f9fe7dcb7620dbfe27437e3d86eb553f7bbb3b527a129 SHA512 50728eb688efd8c26d90adf04432f16edbaca83851b931d9edb2b8e2667a6058d98932640660f768838c6cea13485c3cbd1ca5f110fdf3a1f5938b8341f5860d diff --git a/x11-wm/fvwm3/fvwm3-1.1.5.ebuild b/x11-wm/fvwm3/fvwm3-1.1.5.ebuild new file mode 100644 index 0000000000000..447aef156811f --- /dev/null +++ b/x11-wm/fvwm3/fvwm3-1.1.5.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Doc generation 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_{11..14} ) +GO_OPTIONAL=1 +inherit 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 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="GPL-2+ FVWM + go? ( Apache-2.0 BSD MIT )" +SLOT="0" +IUSE="bidi +go nls svg" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DOCS=( NEWS ) + +if [[ ${PV} == 9999 ]]; then + DOCS+=( + dev-docs/COMMANDS + dev-docs/DEVELOPERS.md + dev-docs/NEW-COMMANDS.md + dev-docs/PARSING.md + dev-docs/TODO.md + INSTALL.md + ) +fi + +BDEPEND=" + virtual/pkgconfig + app-arch/unzip + go? ( >=dev-lang/go-1.21 ) +" + +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:= + sys-libs/readline:= + 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 + bidi? ( dev-libs/fribidi ) + svg? ( + gnome-base/librsvg:2 + x11-libs/cairo + ) +" + +RDEPEND=" + ${COMMON_DEPEND} + ${PYTHON_DEPS} + !x11-wm/fvwm +" + +DEPEND="${COMMON_DEPEND}" + +src_configure() { + 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 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 + + python_scriptinto "/usr/bin" + python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop" +} + +pkg_postinst() { + + einfo "For compatibility with existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper." + einfo + + if use go; then + einfo "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole."doa + einfo + fi + + if [[ -n "${REPLACING_VERSIONS}" ]] ; then + if [[ $(ver_cut 3 ${REPLACING_VERSIONS}) -lt 5 ]] ; then + einfo "FvwmConsole has been removed from fvwm3-1.1.5 onwards." + einfo "The supported upstream alternative is to use FvwmPrompt." + einfo "Users may also use the FvwmCommand wrapper installed by this ebuild to run commands from the command line." + einfo + fi + fi + + optfeature_header "Useful optional features:" + optfeature "Screen locking" x11-misc/xlockmore + optfeature "NetPBM support (used by FvwmScript-ScreenDump)" media-libs/netpbm + optfeature "Xterm (used by default config)" x11-terms/xterm +} diff --git a/x11-wm/fvwm3/fvwm3-9999.ebuild b/x11-wm/fvwm3/fvwm3-9999.ebuild index c63d1cef023dc..447aef156811f 100644 --- a/x11-wm/fvwm3/fvwm3-9999.ebuild +++ b/x11-wm/fvwm3/fvwm3-9999.ebuild @@ -30,10 +30,8 @@ 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 )" +IUSE="bidi +go nls svg" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" DOCS=( NEWS ) @@ -51,7 +49,7 @@ fi BDEPEND=" virtual/pkgconfig app-arch/unzip - go? ( >=dev-lang/go-1.20 ) + go? ( >=dev-lang/go-1.21 ) " if [[ ${FVWM3_DOCS_PREBUILT} -ne 1 ]]; then @@ -67,6 +65,7 @@ COMMON_DEPEND=" dev-libs/libevent:= media-libs/fontconfig media-libs/libpng:= + sys-libs/readline:= x11-base/xorg-proto x11-libs/libICE x11-libs/libSM @@ -82,9 +81,6 @@ COMMON_DEPEND=" x11-libs/libXrender x11-libs/xtrans bidi? ( dev-libs/fribidi ) - readline? ( - sys-libs/readline:= - ) svg? ( gnome-base/librsvg:2 x11-libs/cairo @@ -111,7 +107,6 @@ src_configure() { $(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" @@ -154,17 +149,24 @@ src_install() { pkg_postinst() { einfo "For compatibility with existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper." + einfo if use go; then - einfo "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole." - einfo "If you need FvwmConsole, install ${PN} with USE=\"-go\"; however FvwmPrompt will not be installed." - else - einfo "FvwmConsole has been installed, hovever it is a legacy tool." - einfo "Consider installing with USE=\"go\" which will have FvwmPrompt replace FvwmConsole to" - einfo "provide the same functionality in a more flexible way." + einfo "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole."doa + einfo + fi + + if [[ -n "${REPLACING_VERSIONS}" ]] ; then + if [[ $(ver_cut 3 ${REPLACING_VERSIONS}) -lt 5 ]] ; then + einfo "FvwmConsole has been removed from fvwm3-1.1.5 onwards." + einfo "The supported upstream alternative is to use FvwmPrompt." + einfo "Users may also use the FvwmCommand wrapper installed by this ebuild to run commands from the command line." + einfo + fi fi optfeature_header "Useful optional features:" optfeature "Screen locking" x11-misc/xlockmore optfeature "NetPBM support (used by FvwmScript-ScreenDump)" media-libs/netpbm + optfeature "Xterm (used by default config)" x11-terms/xterm }