You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/eclass
root e6d670c171
Sync with portage [Wed Dec 12 09:13:39 MSK 2018].
6 years ago
..
tests Sync with portage [Tue Dec 11 09:00:08 MSK 2018]. 6 years ago
Manifest.gz Sync with portage [Wed Dec 12 09:13:39 MSK 2018]. 6 years ago
alternatives.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
ant-tasks.eclass Sync with portage [Thu May 31 00:37:03 MSK 2018]. 7 years ago
apache-2.eclass Sync with portage [Sat Dec 8 15:06:39 MSK 2018]. 6 years ago
apache-module.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
aspell-dict-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
autotools-multilib.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
autotools-utils.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
autotools.eclass Sync with portage [Tue Sep 11 10:30:15 MSK 2018]. 6 years ago
base.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
bash-completion-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
bsdmk.eclass Sync with portage [Tue Sep 18 22:45:09 MSK 2018]. 6 years ago
bzr.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
cannadic.eclass Sync with portage [Thu Jul 13 17:03:27 MSK 2017]. 7 years ago
cargo.eclass Sync with portage [Wed Oct 17 15:21:09 MSK 2018]. 6 years ago
cdrom.eclass Sync with portage [Fri Jan 5 17:03:48 MSK 2018]. 7 years ago
check-reqs.eclass Sync with portage [Sat Sep 22 01:16:24 MSK 2018]. 6 years ago
chromium-2.eclass Sync with portage [Wed Oct 3 11:35:33 MSK 2018]. 6 years ago
cmake-multilib.eclass Sync with portage [Wed Oct 17 15:21:09 MSK 2018]. 6 years ago
cmake-utils.eclass Sync with portage [Tue Dec 11 09:00:08 MSK 2018]. 6 years ago
common-lisp-3.eclass Sync with portage [Sat May 19 19:53:25 MSK 2018]. 7 years ago
cron.eclass Sync with portage [Mon May 7 18:14:00 MSK 2018]. 7 years ago
cuda.eclass Sync with portage [Sat Sep 22 01:16:24 MSK 2018]. 6 years ago
cvs.eclass Sync with portage [Wed Mar 8 23:49:43 MSK 2017]. 8 years ago
darcs.eclass Sync with portage [Sun Nov 11 18:13:35 MSK 2018]. 6 years ago
db-use.eclass Sync with portage [Fri Aug 31 09:25:26 MSK 2018]. 6 years ago
db.eclass Sync with portage [Sun Nov 26 15:48:22 MSK 2017]. 7 years ago
depend.apache.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
desktop.eclass Sync with portage [Fri Aug 10 08:40:14 MSK 2018]. 6 years ago
distutils-r1.eclass Sync with portage [Tue Nov 27 08:31:21 MSK 2018]. 6 years ago
dotnet.eclass Sync with portage [Tue Nov 6 18:38:37 MSK 2018]. 6 years ago
eapi7-ver.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
elisp-common.eclass Sync with portage [Sun Sep 10 23:41:17 MSK 2017]. 7 years ago
elisp.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
emboss-r2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
epatch.eclass Sync with portage [Sun Aug 19 13:13:23 MSK 2018]. 6 years ago
epunt-cxx.eclass Sync with portage [Wed Apr 26 10:31:49 MSK 2017]. 8 years ago
estack.eclass Sync with portage [Sun Apr 16 13:30:13 MSK 2017]. 8 years ago
eutils.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
fcaps.eclass Sync with portage [Tue May 8 18:35:42 MSK 2018]. 7 years ago
fdo-mime.eclass Sync with portage [Sun Sep 10 23:41:17 MSK 2017]. 7 years ago
findlib.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
fixheadtails.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
flag-o-matic.eclass Sync with portage [Sat Aug 25 13:31:01 MSK 2018]. 6 years ago
font-ebdftopcf.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
font.eclass Sync with portage [Fri Sep 21 13:12:49 MSK 2018]. 6 years ago
fortran-2.eclass Sync with portage [Sun Nov 18 00:05:35 MSK 2018]. 6 years ago
fox.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
freebsd.eclass Sync with portage [Tue Oct 3 08:59:17 MSK 2017]. 7 years ago
freedict.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
games-mods.eclass Sync with portage [Mon Sep 4 09:03:54 MSK 2017]. 7 years ago
games.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
ghc-package.eclass Sync with portage [Sun Nov 11 18:13:35 MSK 2018]. 6 years ago
git-2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
git-r3.eclass Sync with portage [Tue Sep 18 22:45:09 MSK 2018]. 6 years ago
gkrellm-plugin.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
gnome-python-common-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
gnome.org.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
gnome2-utils.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
gnome2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
gnuconfig.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
gnustep-2.eclass Sync with portage [Tue Aug 21 09:17:55 MSK 2018]. 6 years ago
gnustep-base.eclass Sync with portage [Tue Aug 21 09:17:55 MSK 2018]. 6 years ago
golang-base.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
golang-build.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
golang-vcs-snapshot.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
golang-vcs.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
gstreamer.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
haskell-cabal.eclass Sync with portage [Sun Nov 11 18:13:35 MSK 2018]. 6 years ago
java-ant-2.eclass Sync with portage [Tue Nov 13 16:45:31 MSK 2018]. 6 years ago
java-osgi.eclass Sync with portage [Mon Mar 20 00:51:57 MSK 2017]. 8 years ago
java-pkg-2.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
java-pkg-opt-2.eclass Sync with portage [Thu Aug 10 10:29:54 MSK 2017]. 7 years ago
java-pkg-simple.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
java-utils-2.eclass Sync with portage [Tue Nov 13 16:45:31 MSK 2018]. 6 years ago
java-virtuals-2.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
java-vm-2.eclass Sync with portage [Thu Oct 25 09:04:22 MSK 2018]. 6 years ago
kde5-functions.eclass Sync with portage [Tue Dec 11 09:00:08 MSK 2018]. 6 years ago
kde5-meta-pkg.eclass Sync with portage [Thu Oct 26 17:28:39 MSK 2017]. 7 years ago
kde5.eclass Sync with portage [Mon Dec 3 00:02:43 MSK 2018]. 6 years ago
kernel-2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
kodi-addon.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
l10n.eclass Sync with portage [Sun Jan 21 22:28:54 MSK 2018]. 7 years ago
latex-package.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
leechcraft.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
libretro-core.eclass Sync with portage [Wed Aug 15 09:57:37 MSK 2018]. 6 years ago
libtool.eclass Sync with portage [Tue Sep 11 10:30:15 MSK 2018]. 6 years ago
linux-info.eclass Sync with portage [Wed Oct 3 11:35:33 MSK 2018]. 6 years ago
linux-mod.eclass Sync with portage [Sat Sep 22 01:16:24 MSK 2018]. 6 years ago
llvm.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
ltprune.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
mate-desktop.org.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
mate.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
mercurial.eclass Sync with portage [Mon May 7 18:14:00 MSK 2018]. 7 years ago
meson.eclass Sync with portage [Mon Nov 26 08:55:34 MSK 2018]. 6 years ago
mono-env.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
mono.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
mount-boot.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
mozconfig-v6.52.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
mozconfig-v6.60.eclass Sync with portage [Tue Oct 2 10:26:26 MSK 2018]. 6 years ago
mozcoreconf-v4.eclass Sync with portage [Wed Jan 31 23:56:26 MSK 2018]. 7 years ago
mozcoreconf-v5.eclass Sync with portage [Wed Jan 31 23:56:26 MSK 2018]. 7 years ago
mozcoreconf-v6.eclass Sync with portage [Mon Oct 1 09:15:59 MSK 2018]. 6 years ago
mozextension.eclass Sync with portage [Sat Sep 8 20:57:38 MSK 2018]. 6 years ago
mozlinguas-v2.eclass Sync with portage [Sat Sep 8 20:57:38 MSK 2018]. 6 years ago
multibuild.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
multilib-build.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
multilib-minimal.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
multilib.eclass Sync with portage [Fri Sep 28 16:47:16 MSK 2018]. 6 years ago
multiprocessing.eclass Sync with portage [Fri Jan 5 17:03:48 MSK 2018]. 7 years ago
myspell-r2.eclass Sync with portage [Wed May 2 16:02:58 MSK 2018]. 7 years ago
myspell.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
mysql-cmake.eclass Sync with portage [Sat May 19 19:53:25 MSK 2018]. 7 years ago
mysql-multilib-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
mysql-v2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
mysql_fx.eclass Sync with portage [Wed Dec 27 10:04:28 MSK 2017]. 7 years ago
netsurf.eclass Sync with portage [Mon Nov 26 08:55:34 MSK 2018]. 6 years ago
ninja-utils.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
nsplugins.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
nvidia-driver.eclass Sync with portage [Wed Apr 18 08:33:31 MSK 2018]. 7 years ago
oasis.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
obs-download.eclass Sync with portage [Fri Mar 30 19:27:58 MSK 2018]. 7 years ago
obs-service.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
office-ext-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
opam.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
openib.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
out-of-source.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
pam.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
pax-utils.eclass Sync with portage [Tue Aug 7 16:23:48 MSK 2018]. 6 years ago
perl-app.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
perl-functions.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
perl-module.eclass Sync with portage [Fri Sep 28 16:47:16 MSK 2018]. 6 years ago
php-ext-pecl-r3.eclass Sync with portage [Tue Nov 28 13:05:11 MSK 2017]. 7 years ago
php-ext-source-r2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
php-ext-source-r3.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
php-pear-r2.eclass Sync with portage [Fri Nov 2 09:36:55 MSK 2018]. 6 years ago
portability.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
postgres-multi.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
postgres.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
prefix.eclass Sync with portage [Fri Dec 8 08:49:21 MSK 2017]. 7 years ago
preserve-libs.eclass Sync with portage [Tue Jan 9 23:15:36 MSK 2018]. 7 years ago
python-any-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
python-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
python-single-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
python-utils-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
qmail.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
qmake-utils.eclass Sync with portage [Thu Jun 28 00:12:32 MSK 2018]. 6 years ago
qt5-build.eclass Sync with portage [Tue Dec 11 09:00:08 MSK 2018]. 6 years ago
readme.gentoo-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
readme.gentoo.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
rebar.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
ros-catkin.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
rpm.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
ruby-fakegem.eclass Sync with portage [Tue Dec 11 09:00:08 MSK 2018]. 6 years ago
ruby-ng-gnome2.eclass Sync with portage [Wed Dec 12 09:13:39 MSK 2018]. 6 years ago
ruby-ng.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
ruby-single.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
ruby-utils.eclass Sync with portage [Mon Nov 26 08:55:34 MSK 2018]. 6 years ago
rust-toolchain.eclass Sync with portage [Sat Oct 20 22:32:29 MSK 2018]. 6 years ago
s6.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
savedconfig.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
scons-utils.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
selinux-policy-2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
sgml-catalog.eclass Sync with portage [Sun Nov 4 23:08:27 MSK 2018]. 6 years ago
ssl-cert.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
stardict.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
subversion.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
sword-module.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
systemd.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
texlive-common.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
texlive-module.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
tmpfiles.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
toolchain-autoconf.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
toolchain-binutils.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
toolchain-funcs.eclass Sync with portage [Fri Sep 28 16:47:16 MSK 2018]. 6 years ago
toolchain-glibc.eclass Sync with portage [Thu Oct 25 09:04:22 MSK 2018]. 6 years ago
toolchain.eclass Sync with portage [Tue Dec 11 09:00:08 MSK 2018]. 6 years ago
twisted-r1.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
udev.eclass Sync with portage [Thu Sep 27 01:05:55 MSK 2018]. 6 years ago
unpacker.eclass Sync with portage [Mon Aug 27 09:07:49 MSK 2018]. 6 years ago
user.eclass Sync with portage [Sun Nov 26 15:48:22 MSK 2017]. 7 years ago
vala.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
vcs-clean.eclass Sync with portage [Fri Mar 2 16:04:07 MSK 2018]. 7 years ago
vcs-snapshot.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
vdr-plugin-2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
versionator.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
vim-doc.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
vim-plugin.eclass Sync with portage [Tue Nov 7 22:37:05 MSK 2017]. 7 years ago
vim-spell.eclass Sync with portage [Wed Sep 13 12:15:10 MSK 2017]. 7 years ago
virtualx.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
waf-utils.eclass Sync with portage [Wed Oct 10 01:14:45 MSK 2018]. 6 years ago
webapp.eclass Sync with portage [Fri Jun 1 08:55:34 MSK 2018]. 7 years ago
wxwidgets.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
xdg-utils.eclass Sync with portage [Wed Oct 3 11:35:33 MSK 2018]. 6 years ago
xdg.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
xemacs-elisp-common.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
xemacs-elisp.eclass Sync with portage [Wed Mar 1 14:54:55 MSK 2017]. 8 years ago
xemacs-packages.eclass Sync with portage [Tue Apr 4 09:16:45 MSK 2017]. 8 years ago
xfconf.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago
xorg-2.eclass Sync with portage [Thu Aug 16 14:08:53 MSK 2018]. 6 years ago

readme.gentoo.eclass

# Copyright 1999-2018 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# @ECLASS: readme.gentoo.eclass
# @MAINTAINER:
# Pacho Ramos <pacho@gentoo.org>
# @AUTHOR:
# Author: Pacho Ramos <pacho@gentoo.org>
# @SUPPORTED_EAPIS: 4 5
# @BLURB: install a doc file shown via elog messages
# @DESCRIPTION:
# An eclass for installing a README.gentoo doc file recording tips
# shown via elog messages. With this eclass, those elog messages will only be
# shown at first package installation and a file for later reviewing will be
# installed under /usr/share/doc/${PF}
#
# This eclass is DEPRECATED. Please use readme.gentoo-r1 instead.

if [[ -z ${_README_GENTOO_ECLASS} ]]; then
_README_GENTOO_ECLASS=1

inherit eutils

case "${EAPI:-0}" in
0|1|2|3)
die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
;;
4|5)
# EAPI>=4 is required for REPLACING_VERSIONS preventing us
# from needing to export another pkg_preinst phase to save has_version
# result. Also relies on EAPI >=4 default src_install phase.
EXPORT_FUNCTIONS src_install pkg_postinst
;;
6)
die "Unsupported EAPI=${EAPI} for ${ECLASS}"
die "Please migrate to readme.gentoo-r1.eclass and note that"
die "it stops to export any ebuild phases and, then, you will"
die "need to ensure readme.gentoo_create_doc is called in"
die "src_install and readme.gentoo_print_elog in pkg_postinst"
;;
*)
die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
;;
esac

# @ECLASS-VARIABLE: DISABLE_AUTOFORMATTING
# @DEFAULT_UNSET
# @DESCRIPTION:
# If non-empty, DOC_CONTENTS information will be strictly respected,
# not getting it automatically formatted by fmt. If empty, it will
# rely on fmt for formatting and 'echo -e' options to tweak lines a bit.

# @ECLASS-VARIABLE: FORCE_PRINT_ELOG
# @DEFAULT_UNSET
# @DESCRIPTION:
# If non-empty this variable forces elog messages to be printed.

# @ECLASS-VARIABLE: README_GENTOO_SUFFIX
# @DESCRIPTION:
# If you want to specify a suffix for README.gentoo file please export it.
: ${README_GENTOO_SUFFIX:=""}

# @FUNCTION: readme.gentoo_create_doc
# @DESCRIPTION:
# Create doc file with ${DOC_CONTENTS} variable (preferred) and, if not set,
# look for "${FILESDIR}/README.gentoo" contents. You can use
# ${FILESDIR}/README.gentoo-${SLOT} also.
# Usually called at src_install phase.
readme.gentoo_create_doc() {
debug-print-function ${FUNCNAME} "${@}"

if [[ -n "${DOC_CONTENTS}" ]]; then
eshopts_push
set -f
if [[ -n "${DISABLE_AUTOFORMATTING}" ]]; then
echo "${DOC_CONTENTS}" > "${T}"/README.gentoo
else
echo -e ${DOC_CONTENTS} | fold -s -w 70 \
| sed 's/[[:space:]]*$//' > "${T}"/README.gentoo
fi
eshopts_pop
elif [[ -f "${FILESDIR}/README.gentoo-${SLOT%/*}" ]]; then
cp "${FILESDIR}/README.gentoo-${SLOT%/*}" "${T}"/README.gentoo || die
elif [[ -f "${FILESDIR}/README.gentoo${README_GENTOO_SUFFIX}" ]]; then
cp "${FILESDIR}/README.gentoo${README_GENTOO_SUFFIX}" "${T}"/README.gentoo || die
else
die "You are not specifying README.gentoo contents!"
fi

dodoc "${T}"/README.gentoo
README_GENTOO_DOC_VALUE=$(< "${T}/README.gentoo")
}

# @FUNCTION: readme.gentoo_print_elog
# @DESCRIPTION:
# Print elog messages with "${T}"/README.gentoo contents. They will be
# shown only when package is installed at first time.
# Usually called at pkg_postinst phase.
#
# If you want to show them always, please set FORCE_PRINT_ELOG to a non empty
# value in your ebuild before this function is called.
# This can be useful when, for example, DOC_CONTENTS is modified, then, you can
# rely on specific REPLACING_VERSIONS handling in your ebuild to print messages
# when people update from versions still providing old message.
readme.gentoo_print_elog() {
debug-print-function ${FUNCNAME} "${@}"

eqawarn "${CATEGORY}/${PN} is using the deprecated readme.gentoo.eclass."
eqawarn "Please use readme.gentoo-r1 instead."

if [[ -z "${README_GENTOO_DOC_VALUE}" ]]; then
die "readme.gentoo_print_elog invoked without matching readme.gentoo_create_doc call!"
elif ! [[ -n "${REPLACING_VERSIONS}" ]] || [[ -n "${FORCE_PRINT_ELOG}" ]]; then
echo -e "${README_GENTOO_DOC_VALUE}" | while read -r ELINE; do elog "${ELINE}"; done
elog ""
elog "(Note: Above message is only printed the first time package is"
elog "installed. Please look at ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
elog "for future reference)"
fi
}


# @FUNCTION: readme.gentoo_src_install
# @DESCRIPTION:
# Install generated doc file automatically.
readme.gentoo_src_install() {
debug-print-function ${FUNCNAME} "${@}"
default
readme.gentoo_create_doc
}

# @FUNCTION: readme.gentoo_pkg_postinst
# @DESCRIPTION:
# Show elog messages from from just generated doc file.
readme.gentoo_pkg_postinst() {
debug-print-function ${FUNCNAME} "${@}"
readme.gentoo_print_elog
}

fi