gentoo-ebuilds/x11-plugins/wmmaiload/wmmaiload-2.3.0-r3.ebuild
NHOrus 0bbfb8c456
x11-plugins/wmmaiload: Switch build system to meson
Original build system was made by someone who didn't know how to use
make correctly and was too smart about it. Eg. it uses call to compiler:
`$(CPP) $(ALL_CPPFLAGS) -MM $$i >> .dependencies` to generate actual build
commands and `$(shell ls *.c)` to find source files in the directory.
There is no propagation of errors upwards, so if one of two executables
fails to compile, it would only be seen at install stage.
Meson.build replicates end product of configure by passing build
parameters defined in Config.make. Builds in Gentoo enabled all if them,
unconditionally.
Meson.build also gets rid of per-executable config.h and replaces it with
more build paratemers, as config.h only contains build metadata, like
OS type, author name, package name and build date. Original build system
regenerated this mostly-static metadata file on compile, I pass static
parameters explicitly, with date being an empty string.
This is supported in program.
I do not like the end result, but original system is not fit for purpose.

Bug: https://bugs.gentoo.org/943914
Signed-off-by: NHOrus <jy6x2b32pie9@yahoo.com>
Closes: https://github.com/gentoo/gentoo/pull/40578
Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
2025-02-16 21:09:05 +01:00

41 lines
1 KiB
Bash

# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
DESCRIPTION="dockapp that monitors one or more mailboxes"
HOMEPAGE="http://tnemeth.free.fr/projets/dockapps.html"
SRC_URI="http://tnemeth.free.fr/projets/programmes/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
RDEPEND="x11-libs/gtk+:2
x11-libs/libXpm
dev-libs/openssl"
DEPEND="${RDEPEND}
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-2.2.1-checkthread.patch
"${FILESDIR}"/${P}-fno-common.patch
"${FILESDIR}"/${P}-ssl.patch
"${FILESDIR}"/${P}-c23.patch
)
src_prepare() {
default
cp "${FILESDIR}"/meson.build . || die "No new build file"
rm -f wmmaiload/config.h && touch wmmaiload/config.h || die "Can't remove stale config"
rm -f wmmaiload-config/config.h && touch wmmaiload-config/config.h || die "Can't remove stale config"
}
src_install() {
meson_install
doman doc/*.1
dodoc AUTHORS ChangeLog FAQ NEWS README THANKS TODO doc/sample.${PN}rc
}