summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Jolly <Matt.Jolly@footclan.ninja>2022-05-20 23:02:46 +1000
committerSam James <sam@gentoo.org>2022-06-02 06:23:07 +0100
commit441413d3e25f69a370edd41ce25aad07f6803b86 (patch)
tree3f4306525e3bd554ddc0a9b0fd1b2d46be7b8b51 /x11-wm/fvwm3/fvwm3-1.0.4.ebuild
parentdev-python/configclass: enable py3.11 (diff)
downloadgentoo-441413d3e25f69a370edd41ce25aad07f6803b86.tar.gz
gentoo-441413d3e25f69a370edd41ce25aad07f6803b86.tar.bz2
gentoo-441413d3e25f69a370edd41ce25aad07f6803b86.zip
x11-wm/fvwm3: new package, add 1.0.4, 9999
Closes: https://bugs.gentoo.org/760012 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Closes: https://github.com/gentoo/gentoo/pull/25609 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-wm/fvwm3/fvwm3-1.0.4.ebuild')
-rw-r--r--x11-wm/fvwm3/fvwm3-1.0.4.ebuild200
1 files changed, 200 insertions, 0 deletions
diff --git a/x11-wm/fvwm3/fvwm3-1.0.4.ebuild b/x11-wm/fvwm3/fvwm3-1.0.4.ebuild
new file mode 100644
index 000000000000..c396bd24fe70
--- /dev/null
+++ b/x11-wm/fvwm3/fvwm3-1.0.4.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+GO_OPTIONAL=1
+inherit autotools desktop flag-o-matic go-module python-single-r1
+
+DESCRIPTION="A multiple large virtual desktop window manager derived from fvwm"
+HOMEPAGE="http://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"
+fi
+
+SRC_URI+=" https://gitlab.com/Matt.Jolly/fvwm3-go-deps/-/raw/${PV}/${P}-deps.tar.xz?inline=false -> ${P}-deps.tar.xz"
+
+LICENSE="GPL-2+ FVWM
+ go? (
+ Apache-2.0
+ BSD
+ MIT
+ )"
+
+SLOT="0"
+
+IUSE="bidi debug doc go netpbm nls perl png readline rplay stroke svg tk truetype 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-libs/libevent-2.0.0
+ dev-lang/perl
+ 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/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
+ )
+ )
+ png? ( media-libs/libpng:= )
+ readline? (
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ )
+ rplay? ( media-sound/rplay )
+ stroke? ( dev-libs/libstroke )
+ svg? ( gnome-base/librsvg:2 )
+ truetype? (
+ media-libs/fontconfig
+ x11-libs/libXft
+ )
+ userland_GNU? ( sys-apps/debianutils )"
+
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto"
+
+PATCHES=(
+ "${FILESDIR}/${P}-translucent-menus.patch"
+)
+
+if [[ ${PV} == 9999 ]]; then
+ PATCHES+=(
+ "${FILESDIR}/${P}-goflags.patch"
+ )
+fi
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ einfo "The branch ${EGIT_BRANCH} will be installed."
+ git-r3_src_unpack
+ else
+ unpack "${P}".tar.gz
+ fi
+ unpack "${P}"-deps.tar.xz
+ mv go-mod ${P}/bin/FvwmPrompt/ || die
+}
+
+src_prepare() {
+ default
+ if use doc; then
+ eapply "${FILESDIR}/${P}-htmldoc.patch"
+ fi
+
+ sed -i '/^@FVWM_BUILD_GOLANG_TRUE@GOBUILD = $(GOCMD) build/s/$/ -mod=mod/' \
+ bin/FvwmPrompt/Makefile.in || die "Updating go build paramaters failed."
+
+ 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=(
+ --prefix=/usr
+ --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_enable png)
+ $(use_with readline readline-library)
+ $(use_enable svg rsvg)
+ $(use_enable truetype xft)
+ --docdir=/usr/share/doc/${P}
+ )
+
+ use readline && myconf+=( --without-termcap-library )
+
+ econf ${myconf[@]}
+}
+
+src_compile() {
+ PREFIX="/usr" emake
+ 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
+}