summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-wm/fvwm3/Manifest2
-rw-r--r--x11-wm/fvwm3/fvwm3-1.0.9.ebuild203
-rw-r--r--x11-wm/fvwm3/fvwm3-9999.ebuild51
3 files changed, 248 insertions, 8 deletions
diff --git a/x11-wm/fvwm3/Manifest b/x11-wm/fvwm3/Manifest
index f7b692de43b2..047a3f4779c0 100644
--- a/x11-wm/fvwm3/Manifest
+++ b/x11-wm/fvwm3/Manifest
@@ -1 +1,3 @@
DIST fvwm3-1.0.8.tar.gz 5644021 BLAKE2B c2a0a4953f556f86128452c8b42d8f86e2a02c9314cca17688987a51ed91bb3ecccf29e77f2b01c7ed444b54f45e402859ed1cce39714ad6d47860f639509b80 SHA512 fef69b6d97b3533e6722b48336aa8904b399c42437c4adcab756edf55cf839126002255dfa268bf7159d3bb9caf4d44c43a9217c9df5dc6224cef8461ecf2c34
+DIST fvwm3-1.0.9-docs.tar.xz 234884 BLAKE2B f52da9eb2486f7a212ead77ccc190c57076e1d3c73a3997c3a94edcf60dbc72ec5d410a8df1d621ff18b346741b1c94b3f87170db68c3067caa3295782a9bb61 SHA512 e6c33b09b7bac32bd61f1bd2c0216e2c99fef3f0b51b52b229093c25a437828e4bece382284d0c1f0bbbaf5b7459f2c391dfc1d2fa4ba80be22f09094e976b03
+DIST fvwm3-1.0.9.tar.gz 4525552 BLAKE2B cb58181adb42f5b8d491c6413277eb1f4a5d89637d9c6bb323223925c719d808e84ed0f72a1d0ffc822ddb8295ebf2bb89c2351ebd591916b50ebc69728e59fa SHA512 de71d74b76da8e0cf1560d51ef916857e3f825b272d786d9b6b93aef9a82c399f580b9b941a47aff1f327b097d12e1ce05860924e792206e4150ff19a5c39ee3
diff --git a/x11-wm/fvwm3/fvwm3-1.0.9.ebuild b/x11-wm/fvwm3/fvwm3-1.0.9.ebuild
new file mode 100644
index 000000000000..343a8c61635c
--- /dev/null
+++ b/x11-wm/fvwm3/fvwm3-1.0.9.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2023 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..12} )
+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"
+ 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 debug +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
+ app-arch/unzip
+ go? ( >=dev-lang/go-1.14 )
+"
+
+if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ BDEPEND+="
+ dev-libs/libxslt
+ dev-ruby/asciidoctor
+ "
+fi
+
+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 go golang)
+ $(use_enable nls)
+ $(use_enable nls iconv)
+ $(use_enable perl perllib)
+ $(use_with readline readline-library)
+ $(use_enable svg rsvg)
+ --enable-png
+ )
+
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]]; then
+ myconf+=(
+ --enable-mandoc
+ --enable-htmldoc
+ )
+ else
+ # Probably not required, but let's be safe
+ myconf+=(
+ --disable-mandoc
+ --disable-htmldoc
+ )
+ fi
+
+ use readline && myconf+=( --without-termcap-library )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ # Since we're manually handling docs installation, let's do that first
+ # and then install the rest of the files via emake
+ local HTML_DOCS
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${P}-docs/man/**/*.[0-8]
+ HTML_DOCS="${WORKDIR}"/${P}-docs/html/*
+ else
+ HTML_DOCS="${S}"/doc/*.html
+ doman "${S}"/doc/*.[0-8]
+ fi
+
+ einstalldocs
+
+ emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install
+
+ exeinto /etc/X11/Sessions
+ newexe - ${PN} <<-EOF
+ #!/bin/sh
+ ${PN}
+ EOF
+
+ python_scriptinto "/usr/bin"
+ python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop"
+
+ 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-9999.ebuild b/x11-wm/fvwm3/fvwm3-9999.ebuild
index 8bc78a359bc5..343a8c61635c 100644
--- a/x11-wm/fvwm3/fvwm3-9999.ebuild
+++ b/x11-wm/fvwm3/fvwm3-9999.ebuild
@@ -3,6 +3,11 @@
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..12} )
GO_OPTIONAL=1
inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs
@@ -16,13 +21,16 @@ if [[ ${PV} == 9999 ]]; then
EGIT_BRANCH="main"
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 debug doc +go netpbm nls perl readline stroke svg tk lock"
+IUSE="bidi debug +go netpbm nls perl readline stroke svg tk lock"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}"
@@ -41,12 +49,17 @@ fi
BDEPEND="
virtual/pkgconfig
- doc? ( dev-libs/libxslt
- dev-ruby/asciidoctor )
app-arch/unzip
go? ( >=dev-lang/go-1.14 )
"
+if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ BDEPEND+="
+ dev-libs/libxslt
+ dev-ruby/asciidoctor
+ "
+fi
+
RDEPEND="${PYTHON_DEPS}
${COMMON_DEPEND}
!x11-wm/fvwm
@@ -116,7 +129,6 @@ src_configure() {
--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)
@@ -126,6 +138,19 @@ src_configure() {
--enable-png
)
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]]; then
+ myconf+=(
+ --enable-mandoc
+ --enable-htmldoc
+ )
+ else
+ # Probably not required, but let's be safe
+ myconf+=(
+ --disable-mandoc
+ --disable-htmldoc
+ )
+ fi
+
use readline && myconf+=( --without-termcap-library )
econf "${myconf[@]}"
@@ -133,12 +158,22 @@ src_configure() {
src_compile() {
PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)"
- if [[ ${PV} == *9999 ]]; then
- use doc && emake -C doc
- fi
}
src_install() {
+ # Since we're manually handling docs installation, let's do that first
+ # and then install the rest of the files via emake
+ local HTML_DOCS
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${P}-docs/man/**/*.[0-8]
+ HTML_DOCS="${WORKDIR}"/${P}-docs/html/*
+ else
+ HTML_DOCS="${S}"/doc/*.html
+ doman "${S}"/doc/*.[0-8]
+ fi
+
+ einstalldocs
+
emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install
exeinto /etc/X11/Sessions
@@ -149,9 +184,9 @@ src_install() {
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() {